mirror of https://github.com/UMSKT/xpmgr.git
Add project files.
This commit is contained in:
parent
202d27c722
commit
87708f3180
|
@ -0,0 +1,231 @@
|
|||
#define STRICT
|
||||
#define UNICODE
|
||||
#define _UNICODE
|
||||
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <stdint.h>
|
||||
#include <intrin.h>
|
||||
#include <iostream>
|
||||
#include <comutil.h>
|
||||
|
||||
#pragma comment(lib, "comsuppw.lib")
|
||||
#pragma comment(lib, "kernel32.lib")
|
||||
|
||||
static wchar_t strings[14][256];
|
||||
|
||||
static CLSID licdllCLSID = { 0xACADF079, 0xCBCD, 0x4032, {0x83, 0xF2, 0xFA, 0x47, 0xC4, 0xDB, 0x09, 0x6F} };
|
||||
static IID licenseAgentIID = { 0xB8CBAD79, 0x3F1F, 0x481A, {0xBB, 0x0C, 0xE7, 0xBB, 0xD7, 0x7B, 0xDD, 0xD1} };
|
||||
//IID for ICOMLicenseAgent2, with three extra functions
|
||||
//static IID licenseAgentIID2 = {0x6A07C5A3, 0x9C67, 0x4BB6, {0xB0, 0x20, 0xEC, 0xBE, 0x7F, 0xDF, 0xD3, 0x26}};
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE ICOMLicenseAgent
|
||||
DECLARE_INTERFACE_(ICOMLicenseAgent, IDispatch)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID * ppvObj) PURE;
|
||||
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG, Release)(THIS) PURE;
|
||||
|
||||
/*** IDispatch methods ***/
|
||||
STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR * pctinfo) PURE;
|
||||
STDMETHOD(GetTypeInfo)(THIS_ UINT itinfo, LCID lcid, ITypeInfo FAR * FAR * pptinfo) PURE;
|
||||
STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, OLECHAR FAR * FAR * rgszNames, UINT cNames, LCID lcid, DISPID FAR * rgdispid) PURE;
|
||||
STDMETHOD(Invoke)(THIS_ DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR * pdispparams, VARIANT FAR * pvarResult, EXCEPINFO FAR * pexcepinfo, UINT FAR * puArgErr) PURE;
|
||||
|
||||
/*** ICOMLicenseAgent methods ***/
|
||||
STDMETHOD(Initialize)(THIS_ ULONG dwBPC, ULONG dwMode, BSTR bstrLicSource, ULONG * pdwRetCode) PURE;
|
||||
STDMETHOD(GetFirstName)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetFirstName)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetLastName)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetLastName)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetOrgName)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetOrgName)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetEmail)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetEmail)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetPhone)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetPhone)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetAddress1)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetAddress1)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetCity)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetCity)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetState)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetState)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetCountryCode)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetCountryCode)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetCountryDesc)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetCountryDesc)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetZip)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetZip)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetIsoLanguage)(THIS_ ULONG * pdwVal) PURE;
|
||||
STDMETHOD(SetIsoLanguage)(THIS_ ULONG dwNewVal) PURE;
|
||||
STDMETHOD(GetMSUpdate)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetMSUpdate)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetMSOffer)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetMSOffer)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetOtherOffer)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetOtherOffer)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(GetAddress2)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(SetAddress2)(THIS_ BSTR bstrNewVal) PURE;
|
||||
STDMETHOD(AsyncProcessHandshakeRequest)(THIS_ LONG bReviseCustInfo) PURE;
|
||||
STDMETHOD(AsyncProcessNewLicenseRequest)(THIS) PURE;
|
||||
STDMETHOD(AsyncProcessReissueLicenseRequest)(THIS) PURE;
|
||||
STDMETHOD(AsyncProcessReviseCustInfoRequest)(THIS) PURE;
|
||||
STDMETHOD(GetAsyncProcessReturnCode)(THIS_ ULONG * pdwRetCode) PURE;
|
||||
STDMETHOD(AsyncProcessDroppedLicenseRequest)(THIS) PURE;
|
||||
STDMETHOD(GenerateInstallationId)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(DepositConfirmationId)(THIS_ BSTR bstrVal, ULONG * pdwRetCode) PURE;
|
||||
STDMETHOD(GetExpirationInfo)(THIS_ ULONG * pdwWPALeft, ULONG * pdwEvalLeft) PURE;
|
||||
STDMETHOD(AsyncProcessRegistrationRequest)(THIS) PURE;
|
||||
STDMETHOD(ProcessHandshakeRequest)(THIS_ LONG bReviseCustInfo) PURE;
|
||||
STDMETHOD(ProcessNewLicenseRequest)(THIS) PURE;
|
||||
STDMETHOD(ProcessDroppedLicenseRequest)(THIS) PURE;
|
||||
STDMETHOD(ProcessReissueLicenseRequest)(THIS) PURE;
|
||||
STDMETHOD(ProcessReviseCustInfoRequest)(THIS) PURE;
|
||||
STDMETHOD(EnsureInternetConnection)(THIS) PURE;
|
||||
STDMETHOD(SetProductKey)(THIS_ LPWSTR pszNewProductKey) PURE;
|
||||
STDMETHOD(GetProductID)(THIS_ BSTR * pbstrVal) PURE;
|
||||
STDMETHOD(VerifyCheckDigits)(THIS_ BSTR bstrCIDIID, LONG * pbValue) PURE;
|
||||
};
|
||||
|
||||
static BOOL ComInitialized = FALSE;
|
||||
static ICOMLicenseAgent* LicenseAgent = NULL;
|
||||
|
||||
static BOOL LoadLicenseManager()
|
||||
{
|
||||
if (!ComInitialized) {
|
||||
HRESULT status = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
|
||||
if (FAILED(status)) {
|
||||
std::cout << "An error occurred at CoInitializeEx: ", status;
|
||||
return FALSE;
|
||||
}
|
||||
ComInitialized = TRUE;
|
||||
}
|
||||
if (!LicenseAgent) {
|
||||
HRESULT status = CoCreateInstance(licdllCLSID, NULL, CLSCTX_INPROC_SERVER, licenseAgentIID, (void**)&LicenseAgent);
|
||||
int good = 0;
|
||||
if (SUCCEEDED(status)) {
|
||||
ULONG dwRetCode;
|
||||
status = LicenseAgent->Initialize(0xC475, 3, 0, &dwRetCode);
|
||||
if (SUCCEEDED(status) && dwRetCode == 0) {
|
||||
good = 1;
|
||||
}
|
||||
else {
|
||||
LicenseAgent->Release();
|
||||
LicenseAgent = NULL;
|
||||
}
|
||||
}
|
||||
if (!good) {
|
||||
std::cout << "An error occurred at CoCreateInstance: " + status;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
ULONG dwWPALeft = 0, dwEvalLeft = 0;
|
||||
HRESULT status = LicenseAgent->GetExpirationInfo(&dwWPALeft, &dwEvalLeft);
|
||||
if (FAILED(status)) {
|
||||
std::cout << "An error occurred at GetExpirationInfo: " + status;
|
||||
LicenseAgent->Release();
|
||||
LicenseAgent = NULL;
|
||||
return FALSE;
|
||||
}
|
||||
if (dwWPALeft == 0x7FFFFFFF) {
|
||||
std::cout << "An error occurred: dwWPALeft is 0x7FFFFFFF";
|
||||
LicenseAgent->Release();
|
||||
LicenseAgent = NULL;
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static BSTR SetConfirmationID(BSTR confirmationID) {
|
||||
if (!LoadLicenseManager()) {
|
||||
return SysAllocString(L"Failed to load license manager");
|
||||
}
|
||||
|
||||
ULONG dwRetCode;
|
||||
HRESULT status = LicenseAgent->DepositConfirmationId(confirmationID, &dwRetCode);
|
||||
if (FAILED(status) || dwRetCode) {
|
||||
std::cout << "An error occurred at DepositConfirmationId: " + status + dwRetCode;
|
||||
return SysAllocString(L"Failed to set confirmation ID");
|
||||
}
|
||||
return SysAllocString(L"Successfully set confirmation ID");
|
||||
}
|
||||
|
||||
static BSTR GetInstallationID() {
|
||||
if (!LoadLicenseManager()) {
|
||||
return SysAllocString(L"Failed to load license manager");
|
||||
}
|
||||
|
||||
BSTR installationID = NULL;
|
||||
HRESULT status = LicenseAgent->GenerateInstallationId(&installationID);
|
||||
if (FAILED(status) || !installationID) {
|
||||
std::cout << "An error occurred at GenerateInstallationId: " + status;
|
||||
return SysAllocString(L"Failed to get installation ID");
|
||||
}
|
||||
else {
|
||||
return installationID;
|
||||
}
|
||||
}
|
||||
|
||||
static BSTR SetProductKey(LPWSTR productKey) {
|
||||
if (!LoadLicenseManager()) {
|
||||
return SysAllocString(L"Failed to load license manager");
|
||||
}
|
||||
|
||||
HRESULT status = LicenseAgent->SetProductKey(productKey);
|
||||
if (FAILED(status)) {
|
||||
std::cout << "An error occurred at SetProductKey: " + status;
|
||||
return SysAllocString(L"Failed to set product key");
|
||||
}
|
||||
else {
|
||||
return SysAllocString(L"Successfully set product key");
|
||||
}
|
||||
}
|
||||
|
||||
static BSTR GetProductID() {
|
||||
if (!LoadLicenseManager()) {
|
||||
return SysAllocString(L"Failed to load license manager");
|
||||
}
|
||||
|
||||
BSTR productID = NULL;
|
||||
|
||||
HRESULT status = LicenseAgent->GetProductID(&productID);
|
||||
if (FAILED(status)) {
|
||||
std::cout << "An error occurred at GetProductID: " + status;
|
||||
return SysAllocString(L"Failed to get product ID");
|
||||
}
|
||||
else {
|
||||
return productID;
|
||||
}
|
||||
}
|
||||
|
||||
wchar_t* convertCharArrayToLPCWSTR(const char* charArray)
|
||||
{
|
||||
wchar_t* wString = new wchar_t[4096];
|
||||
MultiByteToWideChar(CP_ACP, 0, charArray, -1, wString, 4096);
|
||||
return wString;
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if (std::string(argv[1]) == "--GetInstallationID") {
|
||||
std::cout << _com_util::ConvertBSTRToString(GetInstallationID());
|
||||
return 0;
|
||||
}
|
||||
else if (std::string(argv[1]) == "--SetConfirmationID") {
|
||||
std::cout << _com_util::ConvertBSTRToString(SetConfirmationID(_com_util::ConvertStringToBSTR(argv[2])));
|
||||
return 0;
|
||||
}
|
||||
else if (std::string(argv[1]) == "--SetProductKey") {
|
||||
std::cout << _com_util::ConvertBSTRToString(SetProductKey(convertCharArrayToLPCWSTR(argv[2])));
|
||||
return 0;
|
||||
}
|
||||
else if (std::string(argv[1]) == "--GetProductID") {
|
||||
std::cout << _com_util::ConvertBSTRToString(GetProductID());
|
||||
}
|
||||
else {
|
||||
std::cout << "Please put in arguments";
|
||||
return 0;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.6.33723.286
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xpmgr", "xpmgr.vcxproj", "{F76E79ED-B941-49F6-A040-F560AA2B9E09}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Debug|x64.Build.0 = Debug|x64
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Debug|x86.Build.0 = Debug|Win32
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Release|x64.ActiveCfg = Release|x64
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Release|x64.Build.0 = Release|x64
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Release|x86.ActiveCfg = Release|Win32
|
||||
{F76E79ED-B941-49F6-A040-F560AA2B9E09}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {92A0AD49-0BA8-4EFD-9F27-F8EA47684B07}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,137 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{f76e79ed-b941-49f6-a040-f560aa2b9e09}</ProjectGuid>
|
||||
<RootNamespace>xpmgr</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="xpmgr.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="xpmgr.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
Loading…
Reference in New Issue