diff --git a/.gitignore b/.gitignore index a5e17c4..fb05d68 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,9 @@ *.exe *.pdb *.ilk +*.vcxproj.user + +Debug/ +Release/ + +/.vs/ diff --git a/README.md b/README.md index e9a2f62..894abd8 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Rather than being a full reimplementation of the DirectPlay specification, Direc ## Building -All programs and DLLs in the distribution can be built by running `build.bat` from the x86 Visual Studio command prompt. +Use the `directplay-lite.sln` solution in Visual Studio 2017 or later. ## Using diff --git a/build.bat b/build.bat deleted file mode 100644 index 47b1d44..0000000 --- a/build.bat +++ /dev/null @@ -1,176 +0,0 @@ -@ECHO OFF - -setlocal EnableDelayedExpansion - -SET DEBUG= -REM SET DEBUG=/debug - -REM .obj files to be compiled from .cc source files -SET CC_OBJS=^ - googletest/src/gtest-all.obj^ - googletest/src/gtest_main.obj - -REM .obj files to be compiled from .cpp source files -SET CPP_OBJS=^ - hookdll/hookdll.obj^ - src/AsyncHandleAllocator.obj^ - src/COMAPIException.obj^ - src/DirectPlay8Address.obj^ - src/DirectPlay8Peer.obj^ - src/dpnet.obj^ - src/EventObject.obj^ - src/HandleHandlingPool.obj^ - src/HostEnumerator.obj^ - src/Log.obj^ - src/network.obj^ - src/packet.obj^ - src/SendQueue.obj^ - tests/DirectPlay8Address.obj^ - tests/DirectPlay8Peer.obj^ - tests/HandleHandlingPool.obj^ - tests/PacketDeserialiser.obj^ - tests/PacketSerialiser.obj^ - tests/SendQueue.obj^ - tests/soak-peer-client.obj^ - tests/soak-peer-server.obj - -REM .obj files to be compiled from .c source files -SET C_OBJS=^ - minhook/src/buffer.obj^ - minhook/src/hde/hde32.obj^ - minhook/src/hde/hde64.obj^ - minhook/src/hook.obj^ - minhook/src/trampoline.obj - -REM .obj files which will be linked into all-tests.exe -SET TEST_OBJS=^ - googletest/src/gtest-all.obj^ - googletest/src/gtest_main.obj^ - src/AsyncHandleAllocator.obj^ - src/COMAPIException.obj^ - src/DirectPlay8Address.obj^ - src/DirectPlay8Peer.obj^ - src/EventObject.obj^ - src/HandleHandlingPool.obj^ - src/HostEnumerator.obj^ - src/Log.obj^ - src/network.obj^ - src/packet.obj^ - src/SendQueue.obj^ - tests/DirectPlay8Address.obj^ - tests/DirectPlay8Peer.obj^ - tests/HandleHandlingPool.obj^ - tests/PacketDeserialiser.obj^ - tests/PacketSerialiser.obj^ - tests/SendQueue.obj - -SET TEST_LIBS=ws2_32.lib dxguid.lib ole32.lib iphlpapi.lib - -SET HOOK_DLLS=ddraw dsound - -SET HOOK_OBJS=^ - hookdll/hookdll.obj^ - minhook/src/buffer.obj^ - minhook/src/hde/hde32.obj^ - minhook/src/hde/hde64.obj^ - minhook/src/hook.obj^ - minhook/src/trampoline.obj^ - src/AsyncHandleAllocator.obj^ - src/COMAPIException.obj^ - src/DirectPlay8Address.obj^ - src/DirectPlay8Peer.obj^ - src/EventObject.obj^ - src/HandleHandlingPool.obj^ - src/HostEnumerator.obj^ - src/Log.obj^ - src/network.obj^ - src/packet.obj^ - src/SendQueue.obj - -SET HOOK_LIBS=ws2_32.lib dxguid.lib ole32.lib iphlpapi.lib - -SET DPNET_OBJS=^ - src/AsyncHandleAllocator.obj^ - src/COMAPIException.obj^ - src/DirectPlay8Address.obj^ - src/DirectPlay8Peer.obj^ - src/dpnet.obj^ - src/EventObject.obj^ - src/HandleHandlingPool.obj^ - src/HostEnumerator.obj^ - src/Log.obj^ - src/network.obj^ - src/packet.obj^ - src/SendQueue.obj - -SET DPNET_LIBS=ws2_32.lib dxguid.lib ole32.lib iphlpapi.lib - -SET CFLAGS=^ - /Zi^ - /EHsc^ - /DNOMINMAX^ - /I"include"^ - /I"minhook/include"^ - /I"googletest/include"^ - /I"googletest" - -FOR %%o IN (%CC_OBJS%) DO ( - set obj=%%o - echo == - echo == cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cc - echo == - cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cc || exit /b - echo: -) - -FOR %%o IN (%CPP_OBJS%) DO ( - set obj=%%o - echo == - echo == cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cpp - echo == - cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cpp || exit /b - echo: -) - -FOR %%o IN (%C_OBJS%) DO ( - set obj=%%o - echo == - echo == cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.c - echo == - cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.c || exit /b - echo: -) - -echo == -echo == link %DEBUG% /out:tests/all-tests.exe %TEST_OBJS% %TEST_LIBS% -echo == - link %DEBUG% /out:tests/all-tests.exe %TEST_OBJS% %TEST_LIBS% || exit /b -echo: - -echo == -echo == link %DEBUG% /out:tests/soak-peer-client.exe tests/soak-peer-client.obj dxguid.lib ole32.lib -echo == - link %DEBUG% /out:tests/soak-peer-client.exe tests/soak-peer-client.obj dxguid.lib ole32.lib || exit /b -echo: - -echo == -echo == link %DEBUG% /out:tests/soak-peer-server.exe tests/soak-peer-server.obj dxguid.lib ole32.lib -echo == - link %DEBUG% /out:tests/soak-peer-server.exe tests/soak-peer-server.obj dxguid.lib ole32.lib || exit /b -echo: - -FOR %%o IN (%HOOK_DLLS%) DO ( - echo == - echo == ml /c /Cx /coff /Fo hookdll/%%o.obj hookdll/%%o.asm - echo == - ml /c /Cx /coff /Fo hookdll/%%o.obj hookdll/%%o.asm || exit /b - echo: - - echo == - echo == link %DEBUG% /dll /out:hookdll/%%o.dll /def:hookdll/%%o.def hookdll/%%o.obj %HOOK_OBJS% %HOOK_LIBS% - echo == - link %DEBUG% /dll /out:hookdll/%%o.dll /def:hookdll/%%o.def hookdll/%%o.obj %HOOK_OBJS% %HOOK_LIBS% || exit /b - echo: -) - -link %DEBUG% /dll /out:dpnet.dll /def:src/dpnet.def %DPNET_OBJS% %DPNET_LIBS% || exit /b diff --git a/directplay-lite.props b/directplay-lite.props new file mode 100644 index 0000000..a4e3f4d --- /dev/null +++ b/directplay-lite.props @@ -0,0 +1,12 @@ + + + + + + + + NOMINMAX;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + + \ No newline at end of file diff --git a/directplay-lite.sln b/directplay-lite.sln new file mode 100644 index 0000000..1d96aec --- /dev/null +++ b/directplay-lite.sln @@ -0,0 +1,55 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.102 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "directplay-lite", "directplay-lite\directplay-lite.vcxproj", "{6243E219-3927-43F6-9B5F-E34164900687}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dpnet", "dpnet\dpnet.vcxproj", "{AE3053CB-1C4C-427E-B2B9-902CCB5DA4BA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ddraw", "hookdll\ddraw\ddraw.vcxproj", "{55AAE098-DAC0-47A7-95EE-E9EAAB5742DD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minhook", "minhook\minhook.vcxproj", "{8F39F2E4-0EF8-40F7-AD96-F76F2F200B3F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsound", "hookdll\dsound\dsound.vcxproj", "{DCDFDDD5-4D4B-4A62-BC02-079A54252B2A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tests", "tests\tests.vcxproj", "{7DFB7CFB-C59A-44D8-A701-CA14D153EBF2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6243E219-3927-43F6-9B5F-E34164900687}.Debug|x86.ActiveCfg = Debug|Win32 + {6243E219-3927-43F6-9B5F-E34164900687}.Debug|x86.Build.0 = Debug|Win32 + {6243E219-3927-43F6-9B5F-E34164900687}.Release|x86.ActiveCfg = Release|Win32 + {6243E219-3927-43F6-9B5F-E34164900687}.Release|x86.Build.0 = Release|Win32 + {AE3053CB-1C4C-427E-B2B9-902CCB5DA4BA}.Debug|x86.ActiveCfg = Debug|Win32 + {AE3053CB-1C4C-427E-B2B9-902CCB5DA4BA}.Debug|x86.Build.0 = Debug|Win32 + {AE3053CB-1C4C-427E-B2B9-902CCB5DA4BA}.Release|x86.ActiveCfg = Release|Win32 + {AE3053CB-1C4C-427E-B2B9-902CCB5DA4BA}.Release|x86.Build.0 = Release|Win32 + {55AAE098-DAC0-47A7-95EE-E9EAAB5742DD}.Debug|x86.ActiveCfg = Debug|Win32 + {55AAE098-DAC0-47A7-95EE-E9EAAB5742DD}.Debug|x86.Build.0 = Debug|Win32 + {55AAE098-DAC0-47A7-95EE-E9EAAB5742DD}.Release|x86.ActiveCfg = Release|Win32 + {55AAE098-DAC0-47A7-95EE-E9EAAB5742DD}.Release|x86.Build.0 = Release|Win32 + {8F39F2E4-0EF8-40F7-AD96-F76F2F200B3F}.Debug|x86.ActiveCfg = Debug|Win32 + {8F39F2E4-0EF8-40F7-AD96-F76F2F200B3F}.Debug|x86.Build.0 = Debug|Win32 + {8F39F2E4-0EF8-40F7-AD96-F76F2F200B3F}.Release|x86.ActiveCfg = Release|Win32 + {8F39F2E4-0EF8-40F7-AD96-F76F2F200B3F}.Release|x86.Build.0 = Release|Win32 + {DCDFDDD5-4D4B-4A62-BC02-079A54252B2A}.Debug|x86.ActiveCfg = Debug|Win32 + {DCDFDDD5-4D4B-4A62-BC02-079A54252B2A}.Debug|x86.Build.0 = Debug|Win32 + {DCDFDDD5-4D4B-4A62-BC02-079A54252B2A}.Release|x86.ActiveCfg = Release|Win32 + {DCDFDDD5-4D4B-4A62-BC02-079A54252B2A}.Release|x86.Build.0 = Release|Win32 + {7DFB7CFB-C59A-44D8-A701-CA14D153EBF2}.Debug|x86.ActiveCfg = Debug|Win32 + {7DFB7CFB-C59A-44D8-A701-CA14D153EBF2}.Debug|x86.Build.0 = Debug|Win32 + {7DFB7CFB-C59A-44D8-A701-CA14D153EBF2}.Release|x86.ActiveCfg = Release|Win32 + {7DFB7CFB-C59A-44D8-A701-CA14D153EBF2}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1609DD77-56F8-463D-BDBD-C08334701561} + EndGlobalSection +EndGlobal diff --git a/directplay-lite/directplay-lite.vcxproj b/directplay-lite/directplay-lite.vcxproj new file mode 100644 index 0000000..e343ed8 --- /dev/null +++ b/directplay-lite/directplay-lite.vcxproj @@ -0,0 +1,93 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + 15.0 + {6243E219-3927-43F6-9B5F-E34164900687} + dpnetlib + 10.0.17763.0 + + + + StaticLibrary + true + v141 + MultiByte + + + StaticLibrary + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + $(SolutionDir)include;$(IncludePath) + + + $(SolutionDir)include;$(IncludePath) + + + + Level3 + Disabled + true + true + WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + + + + + Level3 + MaxSpeed + true + true + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + + + true + true + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/directplay-lite/directplay-lite.vcxproj.filters b/directplay-lite/directplay-lite.vcxproj.filters new file mode 100644 index 0000000..8776262 --- /dev/null +++ b/directplay-lite/directplay-lite.vcxproj.filters @@ -0,0 +1,52 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/dpnet/dpnet.vcxproj b/dpnet/dpnet.vcxproj new file mode 100644 index 0000000..ca5af06 --- /dev/null +++ b/dpnet/dpnet.vcxproj @@ -0,0 +1,109 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + {6243e219-3927-43f6-9b5f-e34164900687} + + + + + + + 15.0 + {AE3053CB-1C4C-427E-B2B9-902CCB5DA4BA} + Win32Proj + dpnetdll + 10.0.17763.0 + + + + DynamicLibrary + true + v141 + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + true + $(SolutionDir)include;$(IncludePath) + dpnet + + + false + $(SolutionDir)include;$(IncludePath) + dpnet + + + + NotUsing + Level3 + Disabled + true + WIN32;_DEBUG;DPNETDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + $(SolutionDir)src\dpnet.def + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;DPNETDLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + $(SolutionDir)src\dpnet.def + + + + + + + \ No newline at end of file diff --git a/dpnet/dpnet.vcxproj.filters b/dpnet/dpnet.vcxproj.filters new file mode 100644 index 0000000..b88a109 --- /dev/null +++ b/dpnet/dpnet.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + + + Source Files + + + \ No newline at end of file diff --git a/hookdll/ddraw.asm b/hookdll/ddraw/ddraw.asm similarity index 100% rename from hookdll/ddraw.asm rename to hookdll/ddraw/ddraw.asm diff --git a/hookdll/ddraw.def b/hookdll/ddraw/ddraw.def similarity index 100% rename from hookdll/ddraw.def rename to hookdll/ddraw/ddraw.def diff --git a/hookdll/ddraw/ddraw.vcxproj b/hookdll/ddraw/ddraw.vcxproj new file mode 100644 index 0000000..66b98e0 --- /dev/null +++ b/hookdll/ddraw/ddraw.vcxproj @@ -0,0 +1,127 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + {6243e219-3927-43f6-9b5f-e34164900687} + + + {8f39f2e4-0ef8-40f7-ad96-f76f2f200b3f} + + + + + Document + ml /c /Cx /coff /Fo$(OutDir)%(Filename).obj %(FullPath) + $(OutDir)%(Filename).obj + ml /c /Cx /coff /Fo$(OutDir)%(Filename).obj %(FullPath) + $(OutDir)%(Filename).obj + true + true + + + + + + + 15.0 + {55AAE098-DAC0-47A7-95EE-E9EAAB5742DD} + Win32Proj + ddraw + 10.0.17763.0 + + + + DynamicLibrary + true + v141 + MultiByte + + + DynamicLibrary + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + true + $(SolutionDir)include;$(SolutionDir)minhook\include;$(IncludePath) + + + false + $(SolutionDir)include;$(SolutionDir)minhook\include;$(IncludePath) + + + + NotUsing + Level3 + Disabled + true + WIN32;_DEBUG;DDRAW_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + $(ProjectDir)$(MSBuildProjectName).def + + + true + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;DDRAW_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + $(ProjectDir)$(MSBuildProjectName).def + + + + true + + + + + + \ No newline at end of file diff --git a/hookdll/ddraw/ddraw.vcxproj.filters b/hookdll/ddraw/ddraw.vcxproj.filters new file mode 100644 index 0000000..c24f0a4 --- /dev/null +++ b/hookdll/ddraw/ddraw.vcxproj.filters @@ -0,0 +1,32 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + + + Source Files + + + + + Source Files + + + \ No newline at end of file diff --git a/hookdll/dsound.asm b/hookdll/dsound/dsound.asm similarity index 100% rename from hookdll/dsound.asm rename to hookdll/dsound/dsound.asm diff --git a/hookdll/dsound.def b/hookdll/dsound/dsound.def similarity index 100% rename from hookdll/dsound.def rename to hookdll/dsound/dsound.def diff --git a/hookdll/dsound/dsound.vcxproj b/hookdll/dsound/dsound.vcxproj new file mode 100644 index 0000000..bba63eb --- /dev/null +++ b/hookdll/dsound/dsound.vcxproj @@ -0,0 +1,121 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + {6243e219-3927-43f6-9b5f-e34164900687} + + + {8f39f2e4-0ef8-40f7-ad96-f76f2f200b3f} + + + + + Document + ml /c /Cx /coff /Fo$(OutDir)%(Filename).obj %(FullPath) + $(OutDir)%(Filename).obj + ml /c /Cx /coff /Fo$(OutDir)%(Filename).obj %(FullPath) + $(OutDir)%(Filename).obj + true + true + + + + + + + 15.0 + {DCDFDDD5-4D4B-4A62-BC02-079A54252B2A} + Win32Proj + dsound + 10.0.17763.0 + + + + DynamicLibrary + true + v141 + MultiByte + + + DynamicLibrary + false + v141 + true + MultiByte + + + + + + + + + + + + + + + + + false + $(SolutionDir)include;$(SolutionDir)minhook\include;$(IncludePath) + + + true + $(SolutionDir)include;$(SolutionDir)minhook\include;$(IncludePath) + + + + NotUsing + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;DSOUND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + $(ProjectDir)$(MSBuildProjectName).def + + + + + + NotUsing + Level3 + Disabled + true + WIN32;_DEBUG;DSOUND_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + + + Windows + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + $(ProjectDir)$(MSBuildProjectName).def + + + + + + \ No newline at end of file diff --git a/hookdll/dsound/dsound.vcxproj.filters b/hookdll/dsound/dsound.vcxproj.filters new file mode 100644 index 0000000..13a9fb5 --- /dev/null +++ b/hookdll/dsound/dsound.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/minhook/minhook.vcxproj b/minhook/minhook.vcxproj new file mode 100644 index 0000000..17e5efc --- /dev/null +++ b/minhook/minhook.vcxproj @@ -0,0 +1,106 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + 15.0 + {8F39F2E4-0EF8-40F7-AD96-F76F2F200B3F} + Win32Proj + minhook + 10.0.17763.0 + + + + StaticLibrary + true + v141 + Unicode + + + StaticLibrary + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + true + + + false + + + + NotUsing + Level3 + Disabled + true + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + + + Windows + true + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + + + + \ No newline at end of file diff --git a/minhook/minhook.vcxproj.filters b/minhook/minhook.vcxproj.filters new file mode 100644 index 0000000..1a8c6e5 --- /dev/null +++ b/minhook/minhook.vcxproj.filters @@ -0,0 +1,60 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/src/DirectPlay8Peer.cpp b/src/DirectPlay8Peer.cpp index 727615c..ffba20d 100644 --- a/src/DirectPlay8Peer.cpp +++ b/src/DirectPlay8Peer.cpp @@ -151,8 +151,8 @@ HRESULT DirectPlay8Peer::Initialize(PVOID CONST pvUserContext, CONST PFNDPNMESSA HRESULT DirectPlay8Peer::EnumServiceProviders(CONST GUID* CONST pguidServiceProvider, CONST GUID* CONST pguidApplication, DPN_SERVICE_PROVIDER_INFO* CONST pSPInfoBuffer, DWORD* CONST pcbEnumData, DWORD* CONST pcReturned, CONST DWORD dwFlags) { - static const DPN_SERVICE_PROVIDER_INFO IP_INFO = { 0, CLSID_DP8SP_TCPIP, L"DirectPlay8 TCP/IP Service Provider", 0, 0 }; - static const DPN_SERVICE_PROVIDER_INFO IPX_INFO = { 0, CLSID_DP8SP_IPX, L"DirectPlay8 IPX Service Provider", 0, 0 }; + static const DPN_SERVICE_PROVIDER_INFO IP_INFO = { 0, CLSID_DP8SP_TCPIP, (WCHAR*)(L"DirectPlay8 TCP/IP Service Provider"), 0, 0 }; + static const DPN_SERVICE_PROVIDER_INFO IPX_INFO = { 0, CLSID_DP8SP_IPX, (WCHAR*)(L"DirectPlay8 IPX Service Provider"), 0, 0 }; std::unique_lock l(lock); diff --git a/src/HostEnumerator.cpp b/src/HostEnumerator.cpp index 0bef7e8..27d3439 100644 --- a/src/HostEnumerator.cpp +++ b/src/HostEnumerator.cpp @@ -27,7 +27,7 @@ #include "Messages.hpp" #include "packet.hpp" -const GUID GUID_NULL = { 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } }; +// const GUID GUID_NULL = { 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } }; HostEnumerator::HostEnumerator( std::atomic * const global_refcount, diff --git a/src/SendQueue.cpp b/src/SendQueue.cpp index be0c682..7d51193 100644 --- a/src/SendQueue.cpp +++ b/src/SendQueue.cpp @@ -155,6 +155,10 @@ SendQueue::SendOp *SendQueue::remove_queued_by_priority(SendPriority priority) case SEND_PRI_HIGH: queue = &high_queue; break; + + default: + /* Unreachable. */ + abort(); } for(auto it = queue->begin(); it != queue->end(); ++it) diff --git a/tests/DirectPlay8Peer.cpp b/tests/DirectPlay8Peer.cpp index d24cb65..99fd611 100644 --- a/tests/DirectPlay8Peer.cpp +++ b/tests/DirectPlay8Peer.cpp @@ -2749,7 +2749,7 @@ TEST(DirectPlay8Peer, HostPeerSoftClose) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -2992,7 +2992,7 @@ TEST(DirectPlay8Peer, HostPeerHardClose) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -3235,7 +3235,7 @@ TEST(DirectPlay8Peer, NonHostPeerSoftClose) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -3405,7 +3405,7 @@ TEST(DirectPlay8Peer, NonHostPeerHardClose) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -3802,10 +3802,10 @@ TEST(DirectPlay8Peer, SetApplicationDesc) ASSERT_EQ(host->GetApplicationDesc(appdesc, &appdesc_size, 0), S_OK); appdesc->dwMaxPlayers = 20; - appdesc->pwszSessionName = L"Best Session"; + appdesc->pwszSessionName = (WCHAR*)(L"Best Session"); appdesc->dwFlags |= DPNSESSION_REQUIREPASSWORD; - appdesc->pwszPassword = L"P4ssword"; + appdesc->pwszPassword = (WCHAR*)(L"P4ssword"); appdesc->pvApplicationReservedData = (void*)(APP_DATA); appdesc->dwApplicationReservedDataSize = sizeof(APP_DATA); @@ -7309,7 +7309,7 @@ TEST(DirectPlay8Peer, EnumPlayersTooSmall) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -7374,7 +7374,7 @@ TEST(DirectPlay8Peer, EnumPlayersExact) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -7461,7 +7461,7 @@ TEST(DirectPlay8Peer, EnumPlayersTooBig) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -7550,7 +7550,7 @@ TEST(DirectPlay8Peer, DestroyPeer) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -7705,7 +7705,7 @@ TEST(DirectPlay8Peer, TerminateSession) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -7949,7 +7949,7 @@ TEST(DirectPlay8Peer, CreateGroupSync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -8022,7 +8022,7 @@ TEST(DirectPlay8Peer, CreateGroupSync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -8136,7 +8136,7 @@ TEST(DirectPlay8Peer, CreateGroupAsync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -8225,7 +8225,7 @@ TEST(DirectPlay8Peer, CreateGroupAsync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -8327,7 +8327,7 @@ TEST(DirectPlay8Peer, CreateGroupBeforeJoin) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -8362,7 +8362,7 @@ TEST(DirectPlay8Peer, CreateGroupBeforeJoin) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -8519,7 +8519,7 @@ TEST(DirectPlay8Peer, CreateGroupNonHost) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -8622,7 +8622,7 @@ TEST(DirectPlay8Peer, CreateGroupNonHost) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -8748,7 +8748,7 @@ TEST(DirectPlay8Peer, DestroyGroupSync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -8813,7 +8813,7 @@ TEST(DirectPlay8Peer, DestroyGroupSync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -8917,7 +8917,7 @@ TEST(DirectPlay8Peer, DestroyGroupAsync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -8982,7 +8982,7 @@ TEST(DirectPlay8Peer, DestroyGroupAsync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9083,7 +9083,7 @@ TEST(DirectPlay8Peer, DestroyGroupBeforeJoin) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9112,7 +9112,7 @@ TEST(DirectPlay8Peer, DestroyGroupBeforeJoin) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9215,7 +9215,7 @@ TEST(DirectPlay8Peer, DestroyGroupByLocalCloseSoft) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9263,7 +9263,7 @@ TEST(DirectPlay8Peer, DestroyGroupByLocalCloseSoft) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9321,7 +9321,7 @@ TEST(DirectPlay8Peer, DestroyGroupByLocalCloseHard) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9369,7 +9369,7 @@ TEST(DirectPlay8Peer, DestroyGroupByLocalCloseHard) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9427,7 +9427,7 @@ TEST(DirectPlay8Peer, DestroyGroupByHostCloseSoft) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9475,7 +9475,7 @@ TEST(DirectPlay8Peer, DestroyGroupByHostCloseSoft) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9529,7 +9529,7 @@ TEST(DirectPlay8Peer, DestroyGroupByHostCloseHard) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9577,7 +9577,7 @@ TEST(DirectPlay8Peer, DestroyGroupByHostCloseHard) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9631,7 +9631,7 @@ TEST(DirectPlay8Peer, DestroyGroupByTerminateSession) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9679,7 +9679,7 @@ TEST(DirectPlay8Peer, DestroyGroupByTerminateSession) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9733,7 +9733,7 @@ TEST(DirectPlay8Peer, DestroyGroupByDestroyPeer) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9781,7 +9781,7 @@ TEST(DirectPlay8Peer, DestroyGroupByDestroyPeer) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -9837,7 +9837,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupSync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -9906,7 +9906,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupSync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -10019,7 +10019,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupAsync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -10088,7 +10088,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupAsync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -10206,7 +10206,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupBeforeJoin) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -10237,7 +10237,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupBeforeJoin) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -10387,7 +10387,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupByPeer) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -10456,7 +10456,7 @@ TEST(DirectPlay8Peer, AddPlayerToGroupByPeer) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = (void*)(GROUP_DATA); group_info.dwDataSize = sizeof(GROUP_DATA); group_info.dwGroupFlags = 0; @@ -10556,7 +10556,7 @@ TEST(DirectPlay8Peer, AddOtherPlayerToGroup) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -10659,7 +10659,7 @@ TEST(DirectPlay8Peer, AddOtherPlayerToGroup) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -10779,7 +10779,7 @@ TEST(DirectPlay8Peer, AddOtherPlayerToGroupBeforeJoin) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -10848,7 +10848,7 @@ TEST(DirectPlay8Peer, AddOtherPlayerToGroupBeforeJoin) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -11041,7 +11041,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupSync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -11106,7 +11106,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupSync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -11203,7 +11203,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupAsync) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -11268,7 +11268,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupAsync) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -11382,7 +11382,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupBeforeJoin) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -11411,7 +11411,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupBeforeJoin) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -11513,7 +11513,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupByPeer) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -11578,7 +11578,7 @@ TEST(DirectPlay8Peer, RemovePlayerFromGroupByPeer) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -11675,7 +11675,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroup) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -11772,7 +11772,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroup) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -11898,7 +11898,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByLocalCloseSoft) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -11978,7 +11978,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByLocalCloseSoft) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -12062,7 +12062,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByLocalCloseHard) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -12142,7 +12142,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByLocalCloseHard) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -12226,7 +12226,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByHostCloseSoft) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -12306,7 +12306,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByHostCloseSoft) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -12391,7 +12391,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByHostCloseHard) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -12471,7 +12471,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByHostCloseHard) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -12556,7 +12556,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByTerminateSession) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -12636,7 +12636,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByTerminateSession) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -12721,7 +12721,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByMemberCloseSoft) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -12801,7 +12801,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByMemberCloseSoft) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -12866,7 +12866,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByMemberCloseHard) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -12946,7 +12946,7 @@ TEST(DirectPlay8Peer, RemoveOtherPlayerFromGroupByMemberCloseHard) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -13011,7 +13011,7 @@ TEST(DirectPlay8Peer, SendToGroupSelf) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -13102,7 +13102,7 @@ TEST(DirectPlay8Peer, SendToGroupSelf) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -13174,7 +13174,7 @@ TEST(DirectPlay8Peer, SendToGroupSelfNoLoopback) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -13265,7 +13265,7 @@ TEST(DirectPlay8Peer, SendToGroupSelfNoLoopback) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -13329,7 +13329,7 @@ TEST(DirectPlay8Peer, SendToGroupPeer) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -13420,7 +13420,7 @@ TEST(DirectPlay8Peer, SendToGroupPeer) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -13488,7 +13488,7 @@ TEST(DirectPlay8Peer, SendToGroupPeerNoLoopback) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -13579,7 +13579,7 @@ TEST(DirectPlay8Peer, SendToGroupPeerNoLoopback) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -13647,7 +13647,7 @@ TEST(DirectPlay8Peer, SendToGroupPeerAndSelf) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -13738,7 +13738,7 @@ TEST(DirectPlay8Peer, SendToGroupPeerAndSelf) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; @@ -13819,7 +13819,7 @@ TEST(DirectPlay8Peer, SendToGroupPeerAndSelfNoLoopback) app_desc.dwSize = sizeof(app_desc); app_desc.guidApplication = APP_GUID_1; - app_desc.pwszSessionName = L"Session 1"; + app_desc.pwszSessionName = (WCHAR*)(L"Session 1"); IDP8AddressInstance host_addr(CLSID_DP8SP_TCPIP, PORT); @@ -13910,7 +13910,7 @@ TEST(DirectPlay8Peer, SendToGroupPeerAndSelfNoLoopback) group_info.dwSize = sizeof(group_info); group_info.dwInfoFlags = DPNINFO_NAME | DPNINFO_DATA; - group_info.pwszName = L"Test Group"; + group_info.pwszName = (WCHAR*)(L"Test Group"); group_info.pvData = NULL; group_info.dwDataSize = 0; group_info.dwGroupFlags = 0; diff --git a/tests/tests.vcxproj b/tests/tests.vcxproj new file mode 100644 index 0000000..4b7b492 --- /dev/null +++ b/tests/tests.vcxproj @@ -0,0 +1,114 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + {6243e219-3927-43f6-9b5f-e34164900687} + + + + 15.0 + {7DFB7CFB-C59A-44D8-A701-CA14D153EBF2} + Win32Proj + tests + 10.0.17763.0 + + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + + + + + + + + + + + + + false + $(SolutionDir)include;$(SolutionDir)googletest\include;$(SolutionDir)googletest;$(IncludePath) + + + true + $(SolutionDir)include;$(SolutionDir)googletest\include;$(SolutionDir)googletest;$(IncludePath) + + + + NotUsing + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + pch.h + + + Console + true + true + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + + + + + NotUsing + Level3 + Disabled + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + pch.h + + + Console + true + dxguid.lib;iphlpapi.lib;ws2_32.lib;%(AdditionalDependencies) + + + + + + \ No newline at end of file diff --git a/tests/tests.vcxproj.filters b/tests/tests.vcxproj.filters new file mode 100644 index 0000000..7f1b4d9 --- /dev/null +++ b/tests/tests.vcxproj.filters @@ -0,0 +1,61 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file