Open andyclegg opened 3 years ago
I never built a win32 variant. I just tried it and get the same symptoms, so this isn't just your machine. When you installed WDK, was there an option to install both x86 and x64 variants?
Thanks for trying - was good to know it wasn't just me! After trying a bit more I got it to compile and install by making two changes -
This installs successfully, however I've now come across another issue - the sound quality is really bad. It sounds really clipped and distorted. I wonder if there might be any places in the code where it uses architecture-dependent variable sizes, such that a 32-bit sample might now be stored in a 16-bit variable?
After more testing, I changed Scream to use Unicast and the sound quality improved a lot. I now suspect that it's VirtualBox dropping packets.
Related to previous, one more change I needed for a successful install was to substitute in the x86 version of devcon.exe.
The following enabled me to build a x86 release from a x64 machine and the inf sections missing to be able to install.
Thank you @andyclegg for your useful notes.
Let me know if you want a PR
diff --git a/Scream/Scream.inf b/Scream/Scream.inf
index 4ed033e..789d846 100644
--- a/Scream/Scream.inf
+++ b/Scream/Scream.inf
@@ -13,11 +13,14 @@ CatalogFile=scream.cat
scream.sys=222
[Manufacturer]
-%MfgName%=MicrosoftDS,NTAMD64
+%MfgName%=MicrosoftDS,NTAMD64,NTx86
[MicrosoftDS.NTAMD64]
%Scream.DeviceDesc%=Scream,*Scream
+[MicrosoftDS.NTx86]
+%Scream.DeviceDesc%=Scream,*Scream
+
[DestinationDirs]
Scream.CopyList=10,system32\drivers
diff --git a/Scream/Scream.vcxproj b/Scream/Scream.vcxproj
index a176775..4a98444 100644
--- a/Scream/Scream.vcxproj
+++ b/Scream/Scream.vcxproj
@@ -221,6 +221,16 @@
<DisableSpecificWarnings>4228;4603;4627;4986;4987;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)\C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>%(AdditionalDependencies);$(KernelBufferOverflowLib);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\km\x86\*.lib</AdditionalDependencies>
+ <AdditionalLibraryDirectories>
+ </AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
<ItemGroup>
<Inf Include="Scream.inf" />
</ItemGroup>
32 bit signed build now up with 3.8 release.
I can successfully build the driver in Visual Studio 2019 targeting x64, but when I set the target platform to Win32 in order to support a 32-bit machine, I get a whole load of linker errors. Any input into getting this building would be greatly appreciated. Thanks