From 24f280dc4a700f00f5fbb8f13815b941620adb8e Mon Sep 17 00:00:00 2001 From: zlockard Date: Wed, 31 Jan 2024 13:45:54 -0800 Subject: Fixes for sample build errors and updates to the execution script to use new build flags (#1078) * Fixes for sample build errors * Fix additional sample * Add additional sample * Updated comments in Build-Sample.ps1 * Adjusting exclusions.csv to be accurate for GE. Still issues for NI that we need to understand better * Merge from develop branch * Merge from develop branch * Merge from develop branch * Delete WPD samples * Separate infverif additional options for old vs new WDK * Delete WPD samples entry in our CODEOWNERS file * Fix spelling error * For 22621 WDK Remove the /samples flag --------- Co-authored-by: Zac Lockard Co-authored-by: Jakob Lichtenberg (170957) --- Build-SampleSet.ps1 | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index 535ac6db..2f812e58 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -82,6 +82,23 @@ else { exit 1 } +# +# InfVerif_AdditionalOptions +# +# Samples must build cleanly and even without warnings. +# +# An exception is for infverif where specific warnings are acceptable. Those +# specific warnings indicates issues intentially present in the samples, that +# anyone that clones the samples must fix as part of productizing a driver. +# +# In 22621 those warnings are: /sw1284 /sw1285 /sw1293 /sw2083 /sw2086 +# +# After 22621 those warnings are put under a common flag: /samples +# +# Additionally after 22621 we have to temporarily suppress /sw1402 due to one specific sample "biometrics". +# +$InfVerif_AdditionalOptions=($build_number -le 22621 ? "/sw1284 /sw1285 /sw1293 /sw2083 /sw2086" : "/samples /sw1402") + # # Determine exclusions. # @@ -127,17 +144,18 @@ $jresult = @{ $SolutionsTotal = $sampleSet.Count * $Configurations.Count * $Platforms.Count -Write-Output ("Build Environment: " + $build_environment) -Write-Output ("Build Number: " + $build_number) -Write-Output ("Samples: " + $sampleSet.Count) -Write-Output ("Configurations: " + $Configurations.Count + " (" + $Configurations + ")") -Write-Output ("Platforms: " + $Platforms.Count + " (" + $Platforms + ")") -Write-Output "Combinations: $SolutionsTotal" -Write-Output "LogicalProcessors: $LogicalProcessors" -Write-Output "ThrottleFactor: $ThrottleFactor" -Write-Output "ThrottleLimit: $ThrottleLimit" -Write-Output "WDS_WipeOutputs: $env:WDS_WipeOutputs" -Write-Output ("Disk Remaining (GB): " + (((Get-Volume ($DriveLetter = (Get-Item ".").PSDrive.Name)).SizeRemaining / 1GB))) +Write-Output ("Build Environment: " + $build_environment) +Write-Output ("Build Number: " + $build_number) +Write-Output ("Samples: " + $sampleSet.Count) +Write-Output ("Configurations: " + $Configurations.Count + " (" + $Configurations + ")") +Write-Output ("Platforms: " + $Platforms.Count + " (" + $Platforms + ")") +Write-Output "InfVerif_AdditionalOptions: $InfVerif_AdditionalOptions" +Write-Output "Combinations: $SolutionsTotal" +Write-Output "LogicalProcessors: $LogicalProcessors" +Write-Output "ThrottleFactor: $ThrottleFactor" +Write-Output "ThrottleLimit: $ThrottleLimit" +Write-Output "WDS_WipeOutputs: $env:WDS_WipeOutputs" +Write-Output ("Disk Remaining (GB): " + (((Get-Volume ($DriveLetter = (Get-Item ".").PSDrive.Name)).SizeRemaining / 1GB))) Write-Output "" Write-Output "T: Combinations" Write-Output "B: Built" @@ -161,6 +179,7 @@ $SampleSet.GetEnumerator() | ForEach-Object -ThrottleLimit $ThrottleLimit -Paral $exclusionReasons = $using:exclusionReasons $Configurations = $using:Configurations $Platforms = $using:Platforms + $InfVerif_AdditionalOptions = $using:InfVerif_AdditionalOptions $Verbose = $using:Verbose $sampleName = $_.Key @@ -185,7 +204,7 @@ $SampleSet.GetEnumerator() | ForEach-Object -ThrottleLimit $ThrottleLimit -Paral $thisresult = "Excluded" } else { - .\Build-Sample -Directory $directory -SampleName $sampleName -LogFilesDirectory $LogFilesDirectory -Configuration $configuration -Platform $platform -Verbose:$Verbose + .\Build-Sample -Directory $directory -SampleName $sampleName -LogFilesDirectory $LogFilesDirectory -Configuration $configuration -Platform $platform -InfVerif_AdditionalOptions $InfVerif_AdditionalOptions -Verbose:$Verbose if ($LASTEXITCODE -eq 0) { $thissucceeded += 1 $thisresult = "Succeeded" -- cgit v1.3.1 From 81a3070cd98c8ac8fc88eaa7f2c8c1d696f62ba1 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Tue, 6 Feb 2024 01:43:29 -0800 Subject: Initial Support for WDK NuGet Experiment. Take 2. (#1099) * Add parent directory file for NuGet import support * fix directory.build.props file * Checked in a comment with baseline. Also small fix to make sure we use GE InfVerif flags and Exclusions.csv * Remove references to path which refer older vars * Remove stale variable path from mincore.lib * remove references to stale variale from vhidmimium * remove stale reference from ddproxy * remove stale reference in inspect.vcxproj * Remove stale path reference in msnmntr.vcxproj * Remove stale path reference to stmedit.vcxproj * Remove stale path from echosrv.vcxproj * remove stale path mscorelib SingleComponentSingleStateUm.vcxproj * remove stale path * Move GitHub check up front * Replace correct value for the wpprecorderum * Removed the stale references for the um libs * correct the reference path for libs simplemedia * Correct the reference path for vccomsup * Correct the reference path for sdk lib path * added reference to the kit shared inc path * added reference to the kit shared inc path * Build-SampleSet: Let determination of NuGet packages be based on a folder .\packages rather than the .\packages.config file * added reference to the kit shared inc path * Updated PACKAGERESTORE_README.md with results from Prashant's recent fixes. Moves us 37 failures to 19 failures. * Rewrite how to get NuGet packages via EEAP or MSFTNuGet * Minor edits to Building-Locally.md * added reference to the kit shared inc path * Move forward to ge_release 26052. This fixes samples .\prm * added reference to the kit shared inc path * Move forward to ge_release 26052. This fixes samples .\prm. Update to .\Building-Locally.md * added reference to the kit shared inc path * added reference to the kit shared inc path * added reference to the kit shared inc path * added reference to the kit shared inc path * added reference to the kit shared inc path * added reference to the kit shared inc path * Update NuGet build instructions and PACKAGERESTORE_README.md * Reset Building-Locally.md and remote PACKAGERESTORE_README.md --------- Co-authored-by: Prashant Chahar Co-authored-by: Jakob Lichtenberg --- Build-SampleSet.ps1 | 28 +++++++++---- Directory.Build.props | 8 ++++ biometrics/driver/WudfBioUsbSample.vcxproj | 8 ++-- .../osrfx2_DCHU_base/osrfx2_DCHU_base.vcxproj | 8 ++-- .../osrfx2_DCHU_filter/osrfx2_DCHU_filter.vcxproj | 8 ++-- .../MediaSource/MediaSource.vcxproj | 16 ++++---- .../SimpleMediaSourceDriver.vcxproj | 16 ++++---- general/echo/umdf2/driver/AutoSync/echo.vcxproj | 8 ++-- general/toaster/toastDrv/exe/wmi/WmiToast.vcxproj | 8 ++-- .../toaster/umdf2/filter/generic/filterum.vcxproj | 8 ++-- .../umdf2/func/featured/wdffeaturedum.vcxproj | 8 ++-- .../toaster/umdf2/func/simple/wdfsimpleum.vcxproj | 8 ++-- hid/vhidmini2/driver/umdf2/VhidminiUm.vcxproj | 8 ++-- network/trans/ddproxy/sys/ddproxy.vcxproj | 8 ++-- network/trans/inspect/sys/inspect.vcxproj | 8 ++-- network/trans/msnmntr/sys/msnmntr.vcxproj | 8 ++-- network/trans/stmedit/sys/stmedit.vcxproj | 8 ++-- network/wsk/echosrv/echosrv.vcxproj | 8 ++-- .../wwan/cxwmbclass/cxwmbclass/cxwmbclass.vcxproj | 8 ++-- packages.config | 6 +++ pofx/PEP/acpi/sampleacpipep.vcxproj | 8 ++-- pofx/PEP/common/pepcommon.vcxproj | 8 ++-- .../SingleComponentSingleStateUm.vcxproj | 8 ++-- .../SampleMagneticStripeReaderDrv.vcxproj | 48 +++++++++++----------- .../barcodescanner/SampleBarcodeScannerDrv.vcxproj | 48 +++++++++++----------- sensors/ADXL345Acc/ADXL345Acc.vcxproj | 32 +++++++-------- sensors/Activity/Activity.vcxproj | 32 +++++++-------- sensors/CustomSensors/CustomSensors.vcxproj | 32 +++++++-------- sensors/Fusion/FusionSensor.vcxproj | 32 +++++++-------- sensors/Pedometer/Pedometer.vcxproj | 32 +++++++-------- .../SensorsComboDriver/SensorsComboDriver.vcxproj | 32 +++++++-------- .../SimpleDeviceOrientationSensor.vcxproj | 32 +++++++-------- .../ComPort/VirtualSerial2um.vcxproj | 8 ++-- .../VirtualSerial2/FakeModem/fakemodem2um.vcxproj | 8 ++-- .../miniports/storahci/src/inbox/storahci.vcxproj | 8 ++-- usb/umdf2_fx2/driver/osrusbfx2um.vcxproj | 8 ++-- 36 files changed, 297 insertions(+), 273 deletions(-) create mode 100644 Directory.Build.props create mode 100644 packages.config (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index 2f812e58..0892cc84 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -45,15 +45,32 @@ finally { } # -# Determine build environment: 'WDK', 'EWDK', or 'GitHub'. Only used to determine build number. +# Determine build environment: 'GitHub', 'NuGet', 'EWDK', or 'WDK'. Only used to determine build number. # Determine build number (used for exclusions based on build number). Five digits. Say, '22621'. # $build_environment="" $build_number=0 # +# WDK NuGet will require presence of a folder 'packages' +# +# +# Hack: In GitHub we do not have an environment variable where we can see WDK build number, so we have it hard coded. +# +if (-not $env:GITHUB_REPOSITORY -eq '') { + $build_environment="GitHub" + $build_number=22621 +} +# +# Hack: If user has hydrated nuget packages, then use those. That will be indicated by presence of a folder named .\packages. +# +elseif(Test-Path(".\packages")) { + $build_environment=("NuGet") + $build_number=26052 +} +# # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. # -if($env:BuildLab -match '(?[^.]*).(?[^.]*).(?[^.]*)') { +elseif($env:BuildLab -match '(?[^.]*).(?[^.]*).(?[^.]*)') { $build_environment=("EWDK."+$Matches.branch+"."+$Matches.build+"."+$Matches.qfe) $build_number=$Matches.build } @@ -64,13 +81,6 @@ elseif ($env:UCRTVersion -match '10.0.(?.*).0') { $build_environment="WDK" $build_number=$Matches.build } -# -# Hack: In GitHub we do not have an environment variable where we can see WDK build number, so we have it hard coded. -# -elseif (-not $env:GITHUB_REPOSITORY -eq '') { - $build_environment="GitHub" - $build_number=22621 -} else { # Dump all environment variables so as to help debug error: diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 00000000..19d85cd4 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,8 @@ + + + + + + diff --git a/biometrics/driver/WudfBioUsbSample.vcxproj b/biometrics/driver/WudfBioUsbSample.vcxproj index c54af93e..d2e16ca5 100644 --- a/biometrics/driver/WudfBioUsbSample.vcxproj +++ b/biometrics/driver/WudfBioUsbSample.vcxproj @@ -235,7 +235,7 @@ %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - %(AdditionalDependencies);$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\ole32.lib;$(SDK_LIB_PATH)\oleaut32.lib;$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\user32.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib exports.def @@ -255,7 +255,7 @@ %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - %(AdditionalDependencies);$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\ole32.lib;$(SDK_LIB_PATH)\oleaut32.lib;$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\user32.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib exports.def @@ -275,7 +275,7 @@ %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - %(AdditionalDependencies);$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\ole32.lib;$(SDK_LIB_PATH)\oleaut32.lib;$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\user32.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib exports.def @@ -295,7 +295,7 @@ %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - %(AdditionalDependencies);$(SDK_LIB_PATH)\advapi32.lib;$(SDK_LIB_PATH)\kernel32.lib;$(SDK_LIB_PATH)\ole32.lib;$(SDK_LIB_PATH)\oleaut32.lib;$(SDK_LIB_PATH)\strsafe.lib;$(SDK_LIB_PATH)\user32.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib exports.def diff --git a/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_base/osrfx2_DCHU_base.vcxproj b/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_base/osrfx2_DCHU_base.vcxproj index 1d839558..aa7f3f53 100644 --- a/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_base/osrfx2_DCHU_base.vcxproj +++ b/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_base/osrfx2_DCHU_base.vcxproj @@ -136,7 +136,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\onecore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);onecore.lib @@ -165,7 +165,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\onecore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);onecore.lib @@ -194,7 +194,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\onecore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);onecore.lib @@ -223,7 +223,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\onecore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);onecore.lib diff --git a/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_filter/osrfx2_DCHU_filter.vcxproj b/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_filter/osrfx2_DCHU_filter.vcxproj index 02dc1573..47fe694d 100644 --- a/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_filter/osrfx2_DCHU_filter.vcxproj +++ b/general/DCHU/osrfx2_DCHU_base/osrfx2_DCHU_filter/osrfx2_DCHU_filter.vcxproj @@ -101,7 +101,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)onecore.lib + %(AdditionalDependencies);onecore.lib %(AdditionalIncludeDirectories);..\..\inc @@ -122,7 +122,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)onecore.lib + %(AdditionalDependencies);onecore.lib %(AdditionalIncludeDirectories);..\..\inc @@ -143,7 +143,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)onecore.lib + %(AdditionalDependencies);onecore.lib %(AdditionalIncludeDirectories);..\..\inc @@ -164,7 +164,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)onecore.lib + %(AdditionalDependencies);onecore.lib %(AdditionalIncludeDirectories);..\..\inc diff --git a/general/SimpleMediaSource/MediaSource/MediaSource.vcxproj b/general/SimpleMediaSource/MediaSource/MediaSource.vcxproj index 3c5ff0de..3b2022d2 100644 --- a/general/SimpleMediaSource/MediaSource/MediaSource.vcxproj +++ b/general/SimpleMediaSource/MediaSource/MediaSource.vcxproj @@ -180,7 +180,7 @@ ..\..\..\wil\include;$(IntDir);%(AdditionalIncludeDirectories) - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib %(IgnoreSpecificDefaultLibraries) $(SolutionDir)MediaSource\module.def @@ -200,7 +200,7 @@ ..\..\..\wil\include;$(IntDir);%(AdditionalIncludeDirectories) - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib %(IgnoreSpecificDefaultLibraries) $(SolutionDir)MediaSource\module.def @@ -220,7 +220,7 @@ ..\..\..\wil\include;$(IntDir);%(AdditionalIncludeDirectories) - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib $(SolutionDir)MediaSource\module.def %(IgnoreSpecificDefaultLibraries) @@ -240,7 +240,7 @@ ..\..\..\wil\include;$(IntDir);%(AdditionalIncludeDirectories) - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib $(SolutionDir)MediaSource\module.def %(IgnoreSpecificDefaultLibraries) @@ -264,7 +264,7 @@ true true - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib %(IgnoreSpecificDefaultLibraries) $(SolutionDir)MediaSource\module.def @@ -289,7 +289,7 @@ true true - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib %(IgnoreSpecificDefaultLibraries) $(SolutionDir)MediaSource\module.def @@ -315,7 +315,7 @@ true true - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib %(IgnoreSpecificDefaultLibraries) $(SolutionDir)MediaSource\module.def @@ -339,7 +339,7 @@ true true - mfplat.lib;Mfsensorgroup.lib;%(AdditionalDependencies);OneCoreUAP.lib + %(AdditionalDependencies);mfplat.lib;Mfsensorgroup.lib;OneCoreUAP.lib %(IgnoreSpecificDefaultLibraries) $(SolutionDir)MediaSource\module.def diff --git a/general/SimpleMediaSource/SimpleMediaSourceDriver/SimpleMediaSourceDriver.vcxproj b/general/SimpleMediaSource/SimpleMediaSourceDriver/SimpleMediaSourceDriver.vcxproj index bb32647a..8a53af29 100644 --- a/general/SimpleMediaSource/SimpleMediaSourceDriver/SimpleMediaSourceDriver.vcxproj +++ b/general/SimpleMediaSource/SimpleMediaSourceDriver/SimpleMediaSourceDriver.vcxproj @@ -204,7 +204,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib sha256 @@ -217,7 +217,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib sha256 @@ -230,7 +230,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib sha256 @@ -243,7 +243,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib sha256 @@ -256,7 +256,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib @@ -266,7 +266,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib @@ -276,7 +276,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib @@ -286,7 +286,7 @@ trace.h - %(AdditionalDependencies);$(SDK_LIB_PATH)\OneCoreUAP.lib + %(AdditionalDependencies);OneCoreUAP.lib diff --git a/general/echo/umdf2/driver/AutoSync/echo.vcxproj b/general/echo/umdf2/driver/AutoSync/echo.vcxproj index fc32074b..fcc13593 100644 --- a/general/echo/umdf2/driver/AutoSync/echo.vcxproj +++ b/general/echo/umdf2/driver/AutoSync/echo.vcxproj @@ -103,7 +103,7 @@ %(AdditionalIncludeDirectories);..\..\exe - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -122,7 +122,7 @@ %(AdditionalIncludeDirectories);..\..\exe - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -141,7 +141,7 @@ %(AdditionalIncludeDirectories);..\..\exe - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -160,7 +160,7 @@ %(AdditionalIncludeDirectories);..\..\exe - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 diff --git a/general/toaster/toastDrv/exe/wmi/WmiToast.vcxproj b/general/toaster/toastDrv/exe/wmi/WmiToast.vcxproj index d740026b..6333469f 100644 --- a/general/toaster/toastDrv/exe/wmi/WmiToast.vcxproj +++ b/general/toaster/toastDrv/exe/wmi/WmiToast.vcxproj @@ -89,7 +89,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\vccomsup.lib + %(AdditionalDependencies);vccomsup.lib %(AdditionalDependencies);ole32.lib;oleaut32.lib;uuid.lib;wbemuuid.lib @@ -109,7 +109,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\vccomsup.lib + %(AdditionalDependencies);vccomsup.lib %(AdditionalDependencies);ole32.lib;oleaut32.lib;uuid.lib;wbemuuid.lib @@ -129,7 +129,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\vccomsup.lib + %(AdditionalDependencies);vccomsup.lib %(AdditionalDependencies);ole32.lib;oleaut32.lib;uuid.lib;wbemuuid.lib @@ -149,7 +149,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\vccomsup.lib + %(AdditionalDependencies);vccomsup.lib %(AdditionalDependencies);ole32.lib;oleaut32.lib;uuid.lib;wbemuuid.lib diff --git a/general/toaster/umdf2/filter/generic/filterum.vcxproj b/general/toaster/umdf2/filter/generic/filterum.vcxproj index bd2da646..8e19fe5e 100644 --- a/general/toaster/umdf2/filter/generic/filterum.vcxproj +++ b/general/toaster/umdf2/filter/generic/filterum.vcxproj @@ -105,7 +105,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc @@ -126,7 +126,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc @@ -147,7 +147,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc @@ -168,7 +168,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc diff --git a/general/toaster/umdf2/func/featured/wdffeaturedum.vcxproj b/general/toaster/umdf2/func/featured/wdffeaturedum.vcxproj index 9bd4dfb7..eda66e4a 100644 --- a/general/toaster/umdf2/func/featured/wdffeaturedum.vcxproj +++ b/general/toaster/umdf2/func/featured/wdffeaturedum.vcxproj @@ -96,7 +96,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared @@ -115,7 +115,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared @@ -134,7 +134,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared @@ -153,7 +153,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared diff --git a/general/toaster/umdf2/func/simple/wdfsimpleum.vcxproj b/general/toaster/umdf2/func/simple/wdfsimpleum.vcxproj index 05353419..4a3b9f89 100644 --- a/general/toaster/umdf2/func/simple/wdfsimpleum.vcxproj +++ b/general/toaster/umdf2/func/simple/wdfsimpleum.vcxproj @@ -98,7 +98,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared @@ -117,7 +117,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared @@ -136,7 +136,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared @@ -155,7 +155,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib %(AdditionalIncludeDirectories);..\..\inc;..\shared diff --git a/hid/vhidmini2/driver/umdf2/VhidminiUm.vcxproj b/hid/vhidmini2/driver/umdf2/VhidminiUm.vcxproj index 0bc198e8..8db699cd 100644 --- a/hid/vhidmini2/driver/umdf2/VhidminiUm.vcxproj +++ b/hid/vhidmini2/driver/umdf2/VhidminiUm.vcxproj @@ -102,7 +102,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(DDK_INC_PATH)\wdm;..\..\inc;.. - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -122,7 +122,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(DDK_INC_PATH)\wdm;..\..\inc;.. - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -142,7 +142,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(DDK_INC_PATH)\wdm;..\..\inc;.. - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -162,7 +162,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(DDK_INC_PATH)\wdm;..\..\inc;.. - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 diff --git a/network/trans/ddproxy/sys/ddproxy.vcxproj b/network/trans/ddproxy/sys/ddproxy.vcxproj index 1ce61e25..628cc13d 100644 --- a/network/trans/ddproxy/sys/ddproxy.vcxproj +++ b/network/trans/ddproxy/sys/ddproxy.vcxproj @@ -104,7 +104,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -126,7 +126,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -148,7 +148,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -170,7 +170,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 diff --git a/network/trans/inspect/sys/inspect.vcxproj b/network/trans/inspect/sys/inspect.vcxproj index bd73f3d7..398e2935 100644 --- a/network/trans/inspect/sys/inspect.vcxproj +++ b/network/trans/inspect/sys/inspect.vcxproj @@ -107,7 +107,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -129,7 +129,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -151,7 +151,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -173,7 +173,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 diff --git a/network/trans/msnmntr/sys/msnmntr.vcxproj b/network/trans/msnmntr/sys/msnmntr.vcxproj index 8c4da9ab..6c3968ac 100644 --- a/network/trans/msnmntr/sys/msnmntr.vcxproj +++ b/network/trans/msnmntr/sys/msnmntr.vcxproj @@ -111,7 +111,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -135,7 +135,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -159,7 +159,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -183,7 +183,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;NDIS_SUPPORT_NDIS6;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 diff --git a/network/trans/stmedit/sys/stmedit.vcxproj b/network/trans/stmedit/sys/stmedit.vcxproj index f1ffb7e7..1c71ec9b 100644 --- a/network/trans/stmedit/sys/stmedit.vcxproj +++ b/network/trans/stmedit/sys/stmedit.vcxproj @@ -111,7 +111,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -137,7 +137,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -163,7 +163,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 @@ -189,7 +189,7 @@ %(PreprocessorDefinitions);BINARY_COMPATIBLE=0;NT;UNICODE;_UNICODE;NDIS60;POOL_NX_OPTIN_AUTO - %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\ntoskrnl.lib;$(DDK_LIB_PATH)\ndis.lib;$(DDK_LIB_PATH)\wdmsec.lib;$(DDK_LIB_PATH)\fwpkclnt.lib;uuid.lib sha256 diff --git a/network/wsk/echosrv/echosrv.vcxproj b/network/wsk/echosrv/echosrv.vcxproj index d511133d..168be9f4 100644 --- a/network/wsk/echosrv/echosrv.vcxproj +++ b/network/wsk/echosrv/echosrv.vcxproj @@ -111,7 +111,7 @@ %(AdditionalIncludeDirectories) - %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;uuid.lib sha256 @@ -132,7 +132,7 @@ %(AdditionalIncludeDirectories) - %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;uuid.lib sha256 @@ -153,7 +153,7 @@ %(AdditionalIncludeDirectories) - %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;uuid.lib sha256 @@ -174,7 +174,7 @@ %(AdditionalIncludeDirectories) - %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;$(SDK_LIB_PATH)\uuid.lib + %(AdditionalDependencies);$(DDK_LIB_PATH)\netio.lib;uuid.lib sha256 diff --git a/network/wwan/cxwmbclass/cxwmbclass/cxwmbclass.vcxproj b/network/wwan/cxwmbclass/cxwmbclass/cxwmbclass.vcxproj index 9d7d5b16..8057b531 100644 --- a/network/wwan/cxwmbclass/cxwmbclass/cxwmbclass.vcxproj +++ b/network/wwan/cxwmbclass/cxwmbclass/cxwmbclass.vcxproj @@ -71,22 +71,22 @@ DbgengKernelDebugger $(SolutionDir)\inc;$(IncludePath) - $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath) + $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath);$(KIT_SHARED_INC_PATH)\netcx\shared\1.0 DbgengKernelDebugger $(SolutionDir)\inc;$(IncludePath) - $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath) + $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath);$(KIT_SHARED_INC_PATH)\netcx\shared\1.0 DbgengKernelDebugger $(SolutionDir)\inc;$(IncludePath) - $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath) + $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath);$(KIT_SHARED_INC_PATH)\netcx\shared\1.0 DbgengKernelDebugger $(SolutionDir)\inc;$(IncludePath) - $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath) + $(KIT_SHARED_INC_PATH_WDK)\netcx\shared\1.0;$(KM_IncludePath)\mbbcx\1.0;$(KIT_SHARED_INC_PATH_WDK);$(KM_IncludePath)\netcx\kmdf\adapter\2.3;$(ExternalIncludePath);$(KIT_SHARED_INC_PATH)\netcx\shared\1.0 diff --git a/packages.config b/packages.config new file mode 100644 index 00000000..55fd7b63 --- /dev/null +++ b/packages.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/pofx/PEP/acpi/sampleacpipep.vcxproj b/pofx/PEP/acpi/sampleacpipep.vcxproj index 357b2205..292eb985 100644 --- a/pofx/PEP/acpi/sampleacpipep.vcxproj +++ b/pofx/PEP/acpi/sampleacpipep.vcxproj @@ -185,7 +185,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) @@ -204,7 +204,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) @@ -223,7 +223,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) @@ -242,7 +242,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) diff --git a/pofx/PEP/common/pepcommon.vcxproj b/pofx/PEP/common/pepcommon.vcxproj index d17289da..bdfc1117 100644 --- a/pofx/PEP/common/pepcommon.vcxproj +++ b/pofx/PEP/common/pepcommon.vcxproj @@ -204,7 +204,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) @@ -223,7 +223,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) @@ -242,7 +242,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) @@ -261,7 +261,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);..\inc;$(KIT_SHARED_INC_PATH_WDK) diff --git a/pofx/UMDF2/Driver/SingleComp/SingleComponentSingleStateUm.vcxproj b/pofx/UMDF2/Driver/SingleComp/SingleComponentSingleStateUm.vcxproj index f7c2fbe3..e00d0f12 100644 --- a/pofx/UMDF2/Driver/SingleComp/SingleComponentSingleStateUm.vcxproj +++ b/pofx/UMDF2/Driver/SingleComp/SingleComponentSingleStateUm.vcxproj @@ -119,7 +119,7 @@ %(PreprocessorDefinitions);___TARGETNAME="""SingleComponentSingleStateUm.DYNLINK""" - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -149,7 +149,7 @@ %(PreprocessorDefinitions);___TARGETNAME="""SingleComponentSingleStateUm.DYNLINK""" - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -179,7 +179,7 @@ %(PreprocessorDefinitions);___TARGETNAME="""SingleComponentSingleStateUm.DYNLINK""" - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -209,7 +209,7 @@ %(PreprocessorDefinitions);___TARGETNAME="""SingleComponentSingleStateUm.DYNLINK""" - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 diff --git a/pos/drivers/MagneticStripeReader/SampleMagneticStripeReaderDrv.vcxproj b/pos/drivers/MagneticStripeReader/SampleMagneticStripeReaderDrv.vcxproj index 12bd50c0..47204b43 100644 --- a/pos/drivers/MagneticStripeReader/SampleMagneticStripeReaderDrv.vcxproj +++ b/pos/drivers/MagneticStripeReader/SampleMagneticStripeReaderDrv.vcxproj @@ -165,13 +165,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -179,13 +179,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -193,13 +193,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -207,13 +207,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -221,13 +221,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -235,30 +235,30 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def @@ -267,7 +267,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def @@ -276,7 +276,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def @@ -285,7 +285,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def diff --git a/pos/drivers/barcodescanner/SampleBarcodeScannerDrv.vcxproj b/pos/drivers/barcodescanner/SampleBarcodeScannerDrv.vcxproj index bc5f2bec..ddae9ffc 100644 --- a/pos/drivers/barcodescanner/SampleBarcodeScannerDrv.vcxproj +++ b/pos/drivers/barcodescanner/SampleBarcodeScannerDrv.vcxproj @@ -165,13 +165,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -179,13 +179,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -193,13 +193,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -207,13 +207,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -221,13 +221,13 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc @@ -235,30 +235,30 @@ Sync true Level4 - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(SDK_INC_PATH)\pos\1.1;..\inc + %(AdditionalIncludeDirectories);$(DDK_INC_PATH);$(WDK_UM_INC_PATH)\pos\1.1;..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def @@ -267,7 +267,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def @@ -276,7 +276,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def @@ -285,7 +285,7 @@ - %(AdditionalDependencies);$(SDK_LIB_PATH)\pos\1.1\poscxstub.lib + %(AdditionalDependencies);$(WDK_UM_LIB_PATH)\pos\1.1\poscxstub.lib exports.def diff --git a/sensors/ADXL345Acc/ADXL345Acc.vcxproj b/sensors/ADXL345Acc/ADXL345Acc.vcxproj index 5e2757dd..1f65559e 100644 --- a/sensors/ADXL345Acc/ADXL345Acc.vcxproj +++ b/sensors/ADXL345Acc/ADXL345Acc.vcxproj @@ -105,20 +105,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib ADXL345Acc.def @@ -130,20 +130,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1; %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1; - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib ADXL345Acc.def @@ -155,20 +155,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib ADXL345Acc.def @@ -180,20 +180,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1;$(DDK_INC_PATH) + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib ADXL345Acc.def diff --git a/sensors/Activity/Activity.vcxproj b/sensors/Activity/Activity.vcxproj index bd83ce53..28a11aee 100644 --- a/sensors/Activity/Activity.vcxproj +++ b/sensors/Activity/Activity.vcxproj @@ -105,20 +105,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Activity.def @@ -130,20 +130,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Activity.def @@ -155,20 +155,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Activity.def @@ -180,20 +180,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Activity.def diff --git a/sensors/CustomSensors/CustomSensors.vcxproj b/sensors/CustomSensors/CustomSensors.vcxproj index 7e2d3b5a..94c00d0b 100644 --- a/sensors/CustomSensors/CustomSensors.vcxproj +++ b/sensors/CustomSensors/CustomSensors.vcxproj @@ -105,20 +105,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib CustomSensors.def @@ -130,20 +130,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib CustomSensors.def @@ -155,20 +155,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib CustomSensors.def @@ -180,20 +180,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib CustomSensors.def diff --git a/sensors/Fusion/FusionSensor.vcxproj b/sensors/Fusion/FusionSensor.vcxproj index 362e350d..7bb21ddb 100644 --- a/sensors/Fusion/FusionSensor.vcxproj +++ b/sensors/Fusion/FusionSensor.vcxproj @@ -106,19 +106,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib FusionSensor.def @@ -130,19 +130,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib FusionSensor.def @@ -154,19 +154,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib FusionSensor.def @@ -178,19 +178,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib FusionSensor.def diff --git a/sensors/Pedometer/Pedometer.vcxproj b/sensors/Pedometer/Pedometer.vcxproj index 3ada5e9d..da71f9bd 100644 --- a/sensors/Pedometer/Pedometer.vcxproj +++ b/sensors/Pedometer/Pedometer.vcxproj @@ -105,20 +105,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Pedometer.def @@ -130,20 +130,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Pedometer.def @@ -155,20 +155,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Pedometer.def @@ -180,20 +180,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib Pedometer.def diff --git a/sensors/SensorsComboDriver/SensorsComboDriver.vcxproj b/sensors/SensorsComboDriver/SensorsComboDriver.vcxproj index 0871cfc0..068b9f3c 100644 --- a/sensors/SensorsComboDriver/SensorsComboDriver.vcxproj +++ b/sensors/SensorsComboDriver/SensorsComboDriver.vcxproj @@ -105,19 +105,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib sha256 @@ -128,19 +128,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib sha256 @@ -151,19 +151,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib sha256 @@ -174,19 +174,19 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 Sync %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib sha256 diff --git a/sensors/SimpleDeviceOrientationSensor/SimpleDeviceOrientationSensor.vcxproj b/sensors/SimpleDeviceOrientationSensor/SimpleDeviceOrientationSensor.vcxproj index 591fe423..56a6a1ad 100644 --- a/sensors/SimpleDeviceOrientationSensor/SimpleDeviceOrientationSensor.vcxproj +++ b/sensors/SimpleDeviceOrientationSensor/SimpleDeviceOrientationSensor.vcxproj @@ -105,20 +105,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib SimpleDeviceOrientationSensor.def @@ -130,20 +130,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib SimpleDeviceOrientationSensor.def @@ -155,20 +155,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib SimpleDeviceOrientationSensor.def @@ -180,20 +180,20 @@ %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM true Level4 - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 %(PreprocessorDefinitions);_UNICODE;UNICODE;WPP_MACRO_USE_KM_VERSION_FOR_UM - %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(DDK_INC_PATH)\sensors\1.1;$(SDK_INC_PATH)\sensors\1.1 + %(AdditionalIncludeDirectories);$(SDK_INC_PATH);$(SDK_INC_PATH)\ABI;$(WDK_UM_INC_PATH)\sensors\1.1 - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\propsys.lib;$(SDK_LIB_PATH)\sensors\1.1\sensorscxstub.lib;$(SDK_LIB_PATH)\sensorsutils.lib + %(AdditionalDependencies);mincore.lib;propsys.lib;$(WDK_UM_LIB_PATH)\sensors\1.1\sensorscxstub.lib;sensorsutils.lib SimpleDeviceOrientationSensor.def diff --git a/serial/VirtualSerial2/ComPort/VirtualSerial2um.vcxproj b/serial/VirtualSerial2/ComPort/VirtualSerial2um.vcxproj index f2fec3f2..94895192 100644 --- a/serial/VirtualSerial2/ComPort/VirtualSerial2um.vcxproj +++ b/serial/VirtualSerial2/ComPort/VirtualSerial2um.vcxproj @@ -104,7 +104,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -126,7 +126,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -148,7 +148,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -170,7 +170,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 diff --git a/serial/VirtualSerial2/FakeModem/fakemodem2um.vcxproj b/serial/VirtualSerial2/FakeModem/fakemodem2um.vcxproj index 3b1e4751..090bc69f 100644 --- a/serial/VirtualSerial2/FakeModem/fakemodem2um.vcxproj +++ b/serial/VirtualSerial2/FakeModem/fakemodem2um.vcxproj @@ -104,7 +104,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -126,7 +126,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -148,7 +148,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 @@ -170,7 +170,7 @@ %(AdditionalIncludeDirectories);$(DDK_INC_PATH)\wdm;..\..\inc - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib + %(AdditionalDependencies);mincore.lib sha256 diff --git a/storage/miniports/storahci/src/inbox/storahci.vcxproj b/storage/miniports/storahci/src/inbox/storahci.vcxproj index fbe46739..8d3ec54d 100644 --- a/storage/miniports/storahci/src/inbox/storahci.vcxproj +++ b/storage/miniports/storahci/src/inbox/storahci.vcxproj @@ -99,7 +99,7 @@ %(AdditionalIncludeDirectories);..\..\inc - %(AdditionalIncludeDirectories);..\..\inc + %(AdditionalIncludeDirectories);..\..\inc;$(KIT_SHARED_INC_PATH_WDK) true Level4 @@ -120,7 +120,7 @@ %(AdditionalIncludeDirectories);..\..\inc - %(AdditionalIncludeDirectories);..\..\inc + %(AdditionalIncludeDirectories);..\..\inc;$(KIT_SHARED_INC_PATH_WDK) true Level4 @@ -141,7 +141,7 @@ %(AdditionalIncludeDirectories);..\..\inc - %(AdditionalIncludeDirectories);..\..\inc + %(AdditionalIncludeDirectories);..\..\inc;$(KIT_SHARED_INC_PATH_WDK) true Level4 @@ -162,7 +162,7 @@ %(AdditionalIncludeDirectories);..\..\inc - %(AdditionalIncludeDirectories);..\..\inc + %(AdditionalIncludeDirectories);..\..\inc;$(KIT_SHARED_INC_PATH_WDK) true Level4 diff --git a/usb/umdf2_fx2/driver/osrusbfx2um.vcxproj b/usb/umdf2_fx2/driver/osrusbfx2um.vcxproj index ac9dc9b7..c3c2fe1f 100644 --- a/usb/umdf2_fx2/driver/osrusbfx2um.vcxproj +++ b/usb/umdf2_fx2/driver/osrusbfx2um.vcxproj @@ -128,7 +128,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);mincore.lib;$(WDK_UM_LIB_PATH)\WppRecorderUM.lib sha256 @@ -152,7 +152,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);mincore.lib;$(WDK_UM_LIB_PATH)\WppRecorderUM.lib sha256 @@ -176,7 +176,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);mincore.lib;$(WDK_UM_LIB_PATH)\WppRecorderUM.lib sha256 @@ -200,7 +200,7 @@ %(PreprocessorDefinitions);EVENT_TRACING;UNICODE;_UNICODE - %(AdditionalDependencies);$(SDK_LIB_PATH)\mincore.lib;$(SDK_LIB_PATH)\WppRecorderUM.lib + %(AdditionalDependencies);mincore.lib;$(WDK_UM_LIB_PATH)\WppRecorderUM.lib sha256 -- cgit v1.3.1 From c73af47e04261d66a3365c4eee64b2295f2b9d53 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Wed, 14 Feb 2024 11:52:37 -0800 Subject: Delete biometrics sample (#1111) --- Build-SampleSet.ps1 | 4 +- biometrics/Package/package.VcxProj | 111 -- biometrics/Package/package.VcxProj.Filters | 21 - biometrics/README.md | 80 - biometrics/WBDIsample.sln | 90 - .../adapters/engine_adapter/EngineAdapter.cpp | 665 ------- .../adapters/engine_adapter/EngineAdapter.def | 4 - biometrics/adapters/engine_adapter/EngineAdapter.h | 75 - .../adapters/engine_adapter/EngineAdapter.rc | 29 - .../adapters/engine_adapter/EngineAdapter.vcxproj | 228 --- .../engine_adapter/EngineAdapter.vcxproj.Filters | 33 - biometrics/adapters/engine_adapter/precomp.h | 62 - biometrics/adapters/engine_adapter/precompsrc.cpp | 1 - biometrics/adapters/engine_adapter/resource.h | 15 - .../adapters/sensor_adapter/SensorAdapter.cpp | 485 ------ .../adapters/sensor_adapter/SensorAdapter.def | 5 - biometrics/adapters/sensor_adapter/SensorAdapter.h | 68 - .../adapters/sensor_adapter/SensorAdapter.rc | 29 - .../adapters/sensor_adapter/SensorAdapter.vcxproj | 228 --- .../sensor_adapter/SensorAdapter.vcxproj.Filters | 33 - biometrics/adapters/sensor_adapter/precomp.h | 62 - biometrics/adapters/sensor_adapter/precompsrc.cpp | 1 - biometrics/adapters/sensor_adapter/resource.h | 15 - .../adapters/storage_adapter/StorageAdapter.cpp | 594 ------- .../adapters/storage_adapter/StorageAdapter.def | 4 - .../adapters/storage_adapter/StorageAdapter.h | 79 - .../adapters/storage_adapter/StorageAdapter.rc | 29 - .../storage_adapter/StorageAdapter.vcxproj | 228 --- .../storage_adapter/StorageAdapter.vcxproj.Filters | 33 - biometrics/adapters/storage_adapter/precomp.h | 62 - biometrics/adapters/storage_adapter/precompsrc.cpp | 1 - biometrics/adapters/storage_adapter/resource.h | 15 - biometrics/driver/BioUsbSample.ctl | 1 - biometrics/driver/BioUsbSample.rc | 26 - biometrics/driver/Device.cpp | 1834 -------------------- biometrics/driver/Device.h | 360 ---- biometrics/driver/Driver.cpp | 77 - biometrics/driver/Driver.h | 95 - biometrics/driver/Internalsrc.cpp | 1 - biometrics/driver/IoQueue.cpp | 297 ---- biometrics/driver/IoQueue.h | 123 -- biometrics/driver/RequestHelper.h | 89 - biometrics/driver/WudfBioUsbSample.inx | Bin 9820 -> 0 bytes biometrics/driver/WudfBioUsbSample.vcxproj | 327 ---- biometrics/driver/WudfBioUsbSample.vcxproj.Filters | 73 - biometrics/driver/dllsup.cpp | 87 - biometrics/driver/exports.def | 10 - biometrics/driver/inc/public.h | 42 - biometrics/driver/inc/usb_hw.h | 238 --- biometrics/driver/internal.h | 164 -- biometrics/driver/resource.h | 4 - 51 files changed, 1 insertion(+), 7236 deletions(-) delete mode 100644 biometrics/Package/package.VcxProj delete mode 100644 biometrics/Package/package.VcxProj.Filters delete mode 100644 biometrics/README.md delete mode 100644 biometrics/WBDIsample.sln delete mode 100644 biometrics/adapters/engine_adapter/EngineAdapter.cpp delete mode 100644 biometrics/adapters/engine_adapter/EngineAdapter.def delete mode 100644 biometrics/adapters/engine_adapter/EngineAdapter.h delete mode 100644 biometrics/adapters/engine_adapter/EngineAdapter.rc delete mode 100644 biometrics/adapters/engine_adapter/EngineAdapter.vcxproj delete mode 100644 biometrics/adapters/engine_adapter/EngineAdapter.vcxproj.Filters delete mode 100644 biometrics/adapters/engine_adapter/precomp.h delete mode 100644 biometrics/adapters/engine_adapter/precompsrc.cpp delete mode 100644 biometrics/adapters/engine_adapter/resource.h delete mode 100644 biometrics/adapters/sensor_adapter/SensorAdapter.cpp delete mode 100644 biometrics/adapters/sensor_adapter/SensorAdapter.def delete mode 100644 biometrics/adapters/sensor_adapter/SensorAdapter.h delete mode 100644 biometrics/adapters/sensor_adapter/SensorAdapter.rc delete mode 100644 biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj delete mode 100644 biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj.Filters delete mode 100644 biometrics/adapters/sensor_adapter/precomp.h delete mode 100644 biometrics/adapters/sensor_adapter/precompsrc.cpp delete mode 100644 biometrics/adapters/sensor_adapter/resource.h delete mode 100644 biometrics/adapters/storage_adapter/StorageAdapter.cpp delete mode 100644 biometrics/adapters/storage_adapter/StorageAdapter.def delete mode 100644 biometrics/adapters/storage_adapter/StorageAdapter.h delete mode 100644 biometrics/adapters/storage_adapter/StorageAdapter.rc delete mode 100644 biometrics/adapters/storage_adapter/StorageAdapter.vcxproj delete mode 100644 biometrics/adapters/storage_adapter/StorageAdapter.vcxproj.Filters delete mode 100644 biometrics/adapters/storage_adapter/precomp.h delete mode 100644 biometrics/adapters/storage_adapter/precompsrc.cpp delete mode 100644 biometrics/adapters/storage_adapter/resource.h delete mode 100644 biometrics/driver/BioUsbSample.ctl delete mode 100644 biometrics/driver/BioUsbSample.rc delete mode 100644 biometrics/driver/Device.cpp delete mode 100644 biometrics/driver/Device.h delete mode 100644 biometrics/driver/Driver.cpp delete mode 100644 biometrics/driver/Driver.h delete mode 100644 biometrics/driver/Internalsrc.cpp delete mode 100644 biometrics/driver/IoQueue.cpp delete mode 100644 biometrics/driver/IoQueue.h delete mode 100644 biometrics/driver/RequestHelper.h delete mode 100644 biometrics/driver/WudfBioUsbSample.inx delete mode 100644 biometrics/driver/WudfBioUsbSample.vcxproj delete mode 100644 biometrics/driver/WudfBioUsbSample.vcxproj.Filters delete mode 100644 biometrics/driver/dllsup.cpp delete mode 100644 biometrics/driver/exports.def delete mode 100644 biometrics/driver/inc/public.h delete mode 100644 biometrics/driver/inc/usb_hw.h delete mode 100644 biometrics/driver/internal.h delete mode 100644 biometrics/driver/resource.h (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index 0892cc84..c279148a 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -105,9 +105,7 @@ else { # # After 22621 those warnings are put under a common flag: /samples # -# Additionally after 22621 we have to temporarily suppress /sw1402 due to one specific sample "biometrics". -# -$InfVerif_AdditionalOptions=($build_number -le 22621 ? "/sw1284 /sw1285 /sw1293 /sw2083 /sw2086" : "/samples /sw1402") +$InfVerif_AdditionalOptions=($build_number -le 22621 ? "/sw1284 /sw1285 /sw1293 /sw2083 /sw2086" : "/samples") # # Determine exclusions. diff --git a/biometrics/Package/package.VcxProj b/biometrics/Package/package.VcxProj deleted file mode 100644 index fb98576d..00000000 --- a/biometrics/Package/package.VcxProj +++ /dev/null @@ -1,111 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - - {22EED378-7FE9-4946-A653-05BB1EE20717} - - - {321860DA-56D9-427A-A5C2-346DFE8FB529} - - - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2} - - - {474A1976-0414-48E7-9F2B-4FDED5BA700C} - - - - WindowsKernelModeDriver10.0 - Utility - Package - true - Debug - - - - {93931C7A-00DC-4E0F-8D54-06A960AF23FC} - {A1648E68-56F1-41FA-903C-F64C87787413} - $(MSBuildProjectName) - - - Windows10 - true - - - Windows10 - false - - - Windows10 - true - - - Windows10 - false - - - - - - - - - - - DbgengRemoteDebugger - False - None - - - - - - %PathToInf% - False - False - True - - 133563 - - - - sha256 - - - - - sha256 - - - - - sha256 - - - - - sha256 - - - - - - \ No newline at end of file diff --git a/biometrics/Package/package.VcxProj.Filters b/biometrics/Package/package.VcxProj.Filters deleted file mode 100644 index fc0e5c56..00000000 --- a/biometrics/Package/package.VcxProj.Filters +++ /dev/null @@ -1,21 +0,0 @@ - - - - - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;* - {7DC6547C-49AA-4ABD-B48E-1C589CF982E2} - - - h;hpp;hxx;hm;inl;inc;xsd - {98781539-8891-4798-9778-6AF2451E1062} - - - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml - {3D1F0D76-620A-4046-A834-772C416DE4E5} - - - inf;inv;inx;mof;mc; - {7FA33C20-27C2-45C8-AD85-B5686078DB41} - - - \ No newline at end of file diff --git a/biometrics/README.md b/biometrics/README.md deleted file mode 100644 index abf0235e..00000000 --- a/biometrics/README.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -page_type: sample -description: "Contains the Windows Biometric Driver Interface sample and the Windows Biometric Service Adapter samples." -languages: -- cpp -products: -- windows -- windows-wdk ---- - -# Windows Biometric Driver Samples (UMDF Version 1) - -The Windows Biometric Driver Samples contain the Windows Biometric Driver Interface sample and the Windows Biometric Service Adapter samples. - -## Windows Biometric Driver Interface - -This sample implements the Windows Biometric Driver Interface (WBDI). It contains skeleton code for handling the mandatory IOCTLs necessary to interoperate with the Windows Biometric Framework. A WBDI driver can be deployed in conjunction with an engine adapter DLL to allow a sensor to be exposed from the Windows Biometric Framework. This sample has been written to make use of the UMDF framework, which allows for ease of development and system stability. - -## Windows Biometric Service Adapters - -These samples provide skeleton code that developers can use as a basis for writing Sensor, Engine, and Storage Adapters for the Windows Biometric Service. Note that the stubs in these samples are non-functional, and Adapter writers will need to follow the programming guidelines in the WinBio Service documentation in order produce a working Adapter component. - -## Build the sample - -For information on how to build a driver solution using Microsoft Visual Studio, see [Building a Driver with Visual Studio and the WDK](https://docs.microsoft.com/windows-hardware/drivers/develop/building-a-driver). - -> [!NOTE] -> You can obtain the co-installers by downloading the *wdfcoinstaller.msi* package from [WDK 8 Redistributable Components](https://go.microsoft.com/fwlink/p/?LinkID=253170). - -## Installation - -### Windows Biometric Driver Interface installation - -The sample requires the use of a suitable fingerprint sensor. It does not capture real data, but it does create a biometric unit in the Windows Biometric Framework. - -### Windows Biometric Service Adapters installation - -To write and test an Adapter plug-in, it will be necessary to have a biometric device and a working WBDI driver for the device. - -Adapters are generally installed along with the WBDI driver for the corresponding device. Consult the WinBio Service documentation for information on the INF file commands used for installing Adapters. Note that Adapters are trusted plug-in components, so they can only be installed using a privileged account. - -## Design and operation - -### Windows Biometric Driver Interface - -This sample is taken from the UMDF FX2 sample and has been modified to expose WBDI. It has the necessary hooks to make this a WBDI driver: - -- Installs WBDI driver, including correct class GUID settings and icons, and registry settings for Windows Biometric Framework configuration. -- Publishes WBDI device interface. -- Supports all the mandatory [WBDI IOCTLs](https://docs.microsoft.com/windows-hardware/drivers/ddi/content/_biometric/#ioctls). -- Supports cancellation. -- Can be opened with exclusivity. - -All of these things are required for the Windows Biometric Framework service to recognize this device as a biometric device and set up a Biometric Unit. It allows the service to properly control the device. - -The sample makes use of ATL support for simplified handling of COM objects with UMDF. - -The driver makes use of a parallel queue so that multiple requests can be outstanding at once. - -It uses device level-locking to simplify internal thread synchronization. This means that only one framework callback can be active at a time. - -It supports cancellation of any IOCTL which may be I/O intensive, particularly a capture IOCTL. This sample does not have a real capture mechanism, so it is simulated by a 5 second delay returning a capture IOCTL. Cancellation is supported through the mechanism exposed by WUDF, with a callback for a request object. Cancellation support is required for all IOCTLs. - -There are hooks for all [WBDI IOCTLs](https://docs.microsoft.com/windows-hardware/drivers/ddi/content/_biometric/#ioctls), including the optional IOCTLs. - -PnP is very simple for this driver. It needs to only implement **OnPrepareHardware** and **OnReleaseHardware** from **IPnpCallbackHardware**. - -Some device drivers may need to keep several pending reads to the WinUsb I/O target in order to properly flush all I/O that comes from the device during a capture. - -### Windows Biometric Service Adapters - -WinBio Adapters are plug-in components that provide a standard interface layer between the Windows Biometric Service and a biometric device. The WinBio Service recognizes three types of Adapters: - -- Sensor Adapters - expose the sample-capture capabilities of the biometric device. -- Engine Adapters - expose the sample manipulation, template generation, and matching capabilities of the device. -- Storage Adapters - expose the template storage and retrieval capabilities of the device. - -For many simple biometric devices, it will only be necessary to write a WBDI driver for the device plus an Engine Adapter to perform matching operations. Consult the programming guidelines in the WinBio Service documentation for more details. - -Each Adapter sample contains a well-known interface-discovery function, whose job is to return the address of a function dispatch table. When the WinBio Service loads an Adapter plug-in, it uses the interface-discovery function to locate the dispatch table, and then calls various methods in the table to communicate with the biometric device. The purpose, arguments, and return codes of each Adapter method are described in the WinBio Service programming guidelines. More information on adapter plug-ins is available at [WBDI Plug-in Reference](https://docs.microsoft.com/windows/desktop/SecBioMet/plug-in-reference). diff --git a/biometrics/WBDIsample.sln b/biometrics/WBDIsample.sln deleted file mode 100644 index 98de6df9..00000000 --- a/biometrics/WBDIsample.sln +++ /dev/null @@ -1,90 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0 -MinimumVisualStudioVersion = 12.0 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Package", "Package", "{2E5F1FF5-DA6C-4935-8389-17811F54BC28}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Storage_adapter", "Storage_adapter", "{AB84BCF3-9781-47FE-9AF0-8D96FF6F27DE}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Adapters", "Adapters", "{B6C842E0-023A-40CE-84EA-76C0A7B366FD}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sensor_adapter", "Sensor_adapter", "{CFF6A5A2-CF3E-413B-A36E-3B4B81657D5D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine_adapter", "Engine_adapter", "{15B79D52-B6B0-431E-AA93-EAF3D204EB81}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Driver", "Driver", "{038A4A81-D088-4E25-AEE5-93D35BF5B25C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "Package\package.VcxProj", "{93931C7A-00DC-4E0F-8D54-06A960AF23FC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StorageAdapter", "adapters\storage_adapter\StorageAdapter.vcxproj", "{339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SensorAdapter", "adapters\sensor_adapter\SensorAdapter.vcxproj", "{321860DA-56D9-427A-A5C2-346DFE8FB529}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EngineAdapter", "adapters\engine_adapter\EngineAdapter.vcxproj", "{22EED378-7FE9-4946-A653-05BB1EE20717}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WudfBioUsbSample", "driver\WudfBioUsbSample.vcxproj", "{474A1976-0414-48E7-9F2B-4FDED5BA700C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Debug|Win32.ActiveCfg = Debug|Win32 - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Debug|Win32.Build.0 = Debug|Win32 - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Release|Win32.ActiveCfg = Release|Win32 - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Release|Win32.Build.0 = Release|Win32 - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Debug|x64.ActiveCfg = Debug|x64 - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Debug|x64.Build.0 = Debug|x64 - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Release|x64.ActiveCfg = Release|x64 - {93931C7A-00DC-4E0F-8D54-06A960AF23FC}.Release|x64.Build.0 = Release|x64 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Debug|Win32.ActiveCfg = Debug|Win32 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Debug|Win32.Build.0 = Debug|Win32 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Release|Win32.ActiveCfg = Release|Win32 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Release|Win32.Build.0 = Release|Win32 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Debug|x64.ActiveCfg = Debug|x64 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Debug|x64.Build.0 = Debug|x64 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Release|x64.ActiveCfg = Release|x64 - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2}.Release|x64.Build.0 = Release|x64 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Debug|Win32.ActiveCfg = Debug|Win32 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Debug|Win32.Build.0 = Debug|Win32 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Release|Win32.ActiveCfg = Release|Win32 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Release|Win32.Build.0 = Release|Win32 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Debug|x64.ActiveCfg = Debug|x64 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Debug|x64.Build.0 = Debug|x64 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Release|x64.ActiveCfg = Release|x64 - {321860DA-56D9-427A-A5C2-346DFE8FB529}.Release|x64.Build.0 = Release|x64 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Debug|Win32.ActiveCfg = Debug|Win32 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Debug|Win32.Build.0 = Debug|Win32 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Release|Win32.ActiveCfg = Release|Win32 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Release|Win32.Build.0 = Release|Win32 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Debug|x64.ActiveCfg = Debug|x64 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Debug|x64.Build.0 = Debug|x64 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Release|x64.ActiveCfg = Release|x64 - {22EED378-7FE9-4946-A653-05BB1EE20717}.Release|x64.Build.0 = Release|x64 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Debug|Win32.ActiveCfg = Debug|Win32 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Debug|Win32.Build.0 = Debug|Win32 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Release|Win32.ActiveCfg = Release|Win32 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Release|Win32.Build.0 = Release|Win32 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Debug|x64.ActiveCfg = Debug|x64 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Debug|x64.Build.0 = Debug|x64 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Release|x64.ActiveCfg = Release|x64 - {474A1976-0414-48E7-9F2B-4FDED5BA700C}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {93931C7A-00DC-4E0F-8D54-06A960AF23FC} = {2E5F1FF5-DA6C-4935-8389-17811F54BC28} - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2} = {AB84BCF3-9781-47FE-9AF0-8D96FF6F27DE} - {321860DA-56D9-427A-A5C2-346DFE8FB529} = {CFF6A5A2-CF3E-413B-A36E-3B4B81657D5D} - {22EED378-7FE9-4946-A653-05BB1EE20717} = {15B79D52-B6B0-431E-AA93-EAF3D204EB81} - {474A1976-0414-48E7-9F2B-4FDED5BA700C} = {038A4A81-D088-4E25-AEE5-93D35BF5B25C} - {AB84BCF3-9781-47FE-9AF0-8D96FF6F27DE} = {B6C842E0-023A-40CE-84EA-76C0A7B366FD} - {CFF6A5A2-CF3E-413B-A36E-3B4B81657D5D} = {B6C842E0-023A-40CE-84EA-76C0A7B366FD} - {15B79D52-B6B0-431E-AA93-EAF3D204EB81} = {B6C842E0-023A-40CE-84EA-76C0A7B366FD} - EndGlobalSection -EndGlobal diff --git a/biometrics/adapters/engine_adapter/EngineAdapter.cpp b/biometrics/adapters/engine_adapter/EngineAdapter.cpp deleted file mode 100644 index 22961124..00000000 --- a/biometrics/adapters/engine_adapter/EngineAdapter.cpp +++ /dev/null @@ -1,665 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - EngineAdapter.cpp - -Abstract: - - This module contains a stub implementation of an Engine Adapter - plug-in for the Windows Biometric service. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ - -/////////////////////////////////////////////////////////////////////////////// -// -// Header files... -// -/////////////////////////////////////////////////////////////////////////////// -#include "precomp.h" -#include "winbio_adapter.h" -#include "EngineAdapter.h" - - -/////////////////////////////////////////////////////////////////////////////// -// -// Forward declarations for the Engine Adapter's interface routines... -// -/////////////////////////////////////////////////////////////////////////////// -static HRESULT -WINAPI -EngineAdapterAttach( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -EngineAdapterDetach( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -EngineAdapterClearContext( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -EngineAdapterEndOperation( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -EngineAdapterQueryPreferredFormat( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REGISTERED_FORMAT StandardFormat, - _Out_ PWINBIO_UUID VendorFormat - ); - -static HRESULT -WINAPI -EngineAdapterQueryIndexVectorSize( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T IndexElementCount - ); - -static HRESULT -WINAPI -EngineAdapterQueryHashAlgorithms( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T AlgorithmCount, - _Out_ PSIZE_T AlgorithmBufferSize, - _Out_ PUCHAR *AlgorithmBuffer - ); - -static HRESULT -WINAPI -EngineAdapterSetHashAlgorithm( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ SIZE_T AlgorithmBufferSize, - _In_ PUCHAR AlgorithmBuffer - ); - -static HRESULT -WINAPI -EngineAdapterAcceptSampleHint( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T SampleHint - ); - -static HRESULT -WINAPI -EngineAdapterAcceptSampleData( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_BIR SampleBuffer, - _In_ SIZE_T SampleSize, - _In_ WINBIO_BIR_PURPOSE Purpose, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ); - -static HRESULT -WINAPI -EngineAdapterExportEngineData( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIR_DATA_FLAGS Flags, - _Out_ PWINBIO_BIR *SampleBuffer, - _Out_ PSIZE_T SampleSize - ); - -static HRESULT -WINAPI -EngineAdapterVerifyFeatureSet( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor, - _Out_ PBOOLEAN Match, - _Out_ PUCHAR *PayloadBlob, - _Out_ PSIZE_T PayloadBlobSize, - _Out_ PUCHAR *HashValue, - _Out_ PSIZE_T HashSize, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ); - -static HRESULT -WINAPI -EngineAdapterIdentifyFeatureSet( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_IDENTITY Identity, - _Out_ PWINBIO_BIOMETRIC_SUBTYPE SubFactor, - _Out_ PUCHAR *PayloadBlob, - _Out_ PSIZE_T PayloadBlobSize, - _Out_ PUCHAR *HashValue, - _Out_ PSIZE_T HashSize, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ); - -static HRESULT -WINAPI -EngineAdapterCreateEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -EngineAdapterUpdateEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ); - -static HRESULT -WINAPI -EngineAdapterGetEnrollmentStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ); - -static HRESULT -WINAPI -EngineAdapterGetEnrollmentHash( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PUCHAR *HashValue, - _Out_ PSIZE_T HashSize - ); - -static HRESULT -WINAPI -EngineAdapterCheckForDuplicate( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_IDENTITY Identity, - _Out_ PWINBIO_BIOMETRIC_SUBTYPE SubFactor, - _Out_ PBOOLEAN Duplicate - ); - -static HRESULT -WINAPI -EngineAdapterCommitEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor, - _In_ PUCHAR PayloadBlob, - _In_ SIZE_T PayloadBlobSize - ); - -static HRESULT -WINAPI -EngineAdapterDiscardEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -EngineAdapterControlUnit( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ); - -static HRESULT -WINAPI -EngineAdapterControlUnitPrivileged( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ); -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Interface dispatch table -// -/////////////////////////////////////////////////////////////////////////////// -static WINBIO_ENGINE_INTERFACE g_EngineInterface = { - WINBIO_ENGINE_INTERFACE_VERSION_1, - WINBIO_ADAPTER_TYPE_ENGINE, - sizeof(WINBIO_ENGINE_INTERFACE), - {0xb876fdc8, 0x34e7, 0x471a, {0x82, 0xc8, 0x9c, 0xba, 0x6a, 0x35, 0x38, 0xec}}, - - EngineAdapterAttach, - EngineAdapterDetach, - EngineAdapterClearContext, - EngineAdapterQueryPreferredFormat, - EngineAdapterQueryIndexVectorSize, - EngineAdapterQueryHashAlgorithms, - EngineAdapterSetHashAlgorithm, - EngineAdapterAcceptSampleHint, - EngineAdapterAcceptSampleData, - EngineAdapterExportEngineData, - EngineAdapterVerifyFeatureSet, - EngineAdapterIdentifyFeatureSet, - EngineAdapterCreateEnrollment, - EngineAdapterUpdateEnrollment, - EngineAdapterGetEnrollmentStatus, - EngineAdapterGetEnrollmentHash, - EngineAdapterCheckForDuplicate, - EngineAdapterCommitEnrollment, - EngineAdapterDiscardEnrollment, - EngineAdapterControlUnit, - EngineAdapterControlUnitPrivileged -}; -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Mandatory DLL entrypoint function. -// -/////////////////////////////////////////////////////////////////////////////// -BOOL APIENTRY -DllMain( - HANDLE ModuleHandle, - DWORD ReasonForCall, - LPVOID Reserved - ) -{ - UNREFERENCED_PARAMETER(ModuleHandle); - UNREFERENCED_PARAMETER(ReasonForCall); - UNREFERENCED_PARAMETER(Reserved); - - return TRUE; -} -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Well-known interface-discovery function exported by the Engine Adapter -// -/////////////////////////////////////////////////////////////////////////////// -HRESULT -WINAPI -WbioQueryEngineInterface( - _Out_ PWINBIO_ENGINE_INTERFACE *EngineInterface - ) -{ - *EngineInterface = &g_EngineInterface; - return S_OK; -} -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Engine Adapter action routines -// -/////////////////////////////////////////////////////////////////////////////// -static HRESULT -WINAPI -EngineAdapterAttach( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterDetach( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterClearContext( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterQueryPreferredFormat( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REGISTERED_FORMAT StandardFormat, - _Out_ PWINBIO_UUID VendorFormat - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(StandardFormat); - UNREFERENCED_PARAMETER(VendorFormat); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterQueryIndexVectorSize( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T IndexElementCount - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(IndexElementCount); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterQueryHashAlgorithms( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T AlgorithmCount, - _Out_ PSIZE_T AlgorithmBufferSize, - _Out_ PUCHAR *AlgorithmBuffer - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(AlgorithmCount); - UNREFERENCED_PARAMETER(AlgorithmBufferSize); - UNREFERENCED_PARAMETER(AlgorithmBuffer); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterSetHashAlgorithm( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ SIZE_T AlgorithmBufferSize, - _In_ PUCHAR AlgorithmBuffer - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(AlgorithmBufferSize); - UNREFERENCED_PARAMETER(AlgorithmBuffer); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterAcceptSampleHint( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T SampleHint - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(SampleHint); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterAcceptSampleData( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_BIR SampleBuffer, - _In_ SIZE_T SampleSize, - _In_ WINBIO_BIR_PURPOSE Purpose, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(SampleBuffer); - UNREFERENCED_PARAMETER(SampleSize); - UNREFERENCED_PARAMETER(Purpose); - UNREFERENCED_PARAMETER(RejectDetail); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterExportEngineData( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIR_DATA_FLAGS Flags, - _Out_ PWINBIO_BIR *SampleBuffer, - _Out_ PSIZE_T SampleSize - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Flags); - UNREFERENCED_PARAMETER(SampleBuffer); - UNREFERENCED_PARAMETER(SampleSize); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterVerifyFeatureSet( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor, - _Out_ PBOOLEAN Match, - _Out_ PUCHAR *PayloadBlob, - _Out_ PSIZE_T PayloadBlobSize, - _Out_ PUCHAR *HashValue, - _Out_ PSIZE_T HashSize, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Identity); - UNREFERENCED_PARAMETER(SubFactor); - UNREFERENCED_PARAMETER(Match); - UNREFERENCED_PARAMETER(PayloadBlob); - UNREFERENCED_PARAMETER(PayloadBlobSize); - UNREFERENCED_PARAMETER(HashValue); - UNREFERENCED_PARAMETER(HashSize); - UNREFERENCED_PARAMETER(RejectDetail); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterIdentifyFeatureSet( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_IDENTITY Identity, - _Out_ PWINBIO_BIOMETRIC_SUBTYPE SubFactor, - _Out_ PUCHAR *PayloadBlob, - _Out_ PSIZE_T PayloadBlobSize, - _Out_ PUCHAR *HashValue, - _Out_ PSIZE_T HashSize, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Identity); - UNREFERENCED_PARAMETER(SubFactor); - UNREFERENCED_PARAMETER(PayloadBlob); - UNREFERENCED_PARAMETER(PayloadBlobSize); - UNREFERENCED_PARAMETER(HashValue); - UNREFERENCED_PARAMETER(HashSize); - UNREFERENCED_PARAMETER(RejectDetail); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterCreateEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterUpdateEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(RejectDetail); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterGetEnrollmentStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(RejectDetail); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterGetEnrollmentHash( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PUCHAR *HashValue, - _Out_ PSIZE_T HashSize - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(HashValue); - UNREFERENCED_PARAMETER(HashSize); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterCheckForDuplicate( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_IDENTITY Identity, - _Out_ PWINBIO_BIOMETRIC_SUBTYPE SubFactor, - _Out_ PBOOLEAN Duplicate - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Identity); - UNREFERENCED_PARAMETER(SubFactor); - UNREFERENCED_PARAMETER(Duplicate); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterCommitEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor, - _In_ PUCHAR PayloadBlob, - _In_ SIZE_T PayloadBlobSize - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Identity); - UNREFERENCED_PARAMETER(SubFactor); - UNREFERENCED_PARAMETER(PayloadBlob); - UNREFERENCED_PARAMETER(PayloadBlobSize); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterDiscardEnrollment( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterControlUnit( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(ControlCode); - UNREFERENCED_PARAMETER(SendBuffer); - UNREFERENCED_PARAMETER(SendBufferSize); - UNREFERENCED_PARAMETER(ReceiveBuffer); - UNREFERENCED_PARAMETER(ReceiveBufferSize); - UNREFERENCED_PARAMETER(ReceiveDataSize); - UNREFERENCED_PARAMETER(OperationStatus); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -EngineAdapterControlUnitPrivileged( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(ControlCode); - UNREFERENCED_PARAMETER(SendBuffer); - UNREFERENCED_PARAMETER(SendBufferSize); - UNREFERENCED_PARAMETER(ReceiveBuffer); - UNREFERENCED_PARAMETER(ReceiveBufferSize); - UNREFERENCED_PARAMETER(ReceiveDataSize); - UNREFERENCED_PARAMETER(OperationStatus); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - diff --git a/biometrics/adapters/engine_adapter/EngineAdapter.def b/biometrics/adapters/engine_adapter/EngineAdapter.def deleted file mode 100644 index 8f8b458f..00000000 --- a/biometrics/adapters/engine_adapter/EngineAdapter.def +++ /dev/null @@ -1,4 +0,0 @@ -LIBRARY EngineAdapter - -EXPORTS - WbioQueryEngineInterface diff --git a/biometrics/adapters/engine_adapter/EngineAdapter.h b/biometrics/adapters/engine_adapter/EngineAdapter.h deleted file mode 100644 index 1be2cd6d..00000000 --- a/biometrics/adapters/engine_adapter/EngineAdapter.h +++ /dev/null @@ -1,75 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - EngineAdapter.h - -Abstract: - - This module contains a stub implementation of an Engine Adapter - plug-in for the Windows Biometric service. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ -#pragma once - -#include "winbio_adapter.h" - -/////////////////////////////////////////////////////////////////////////////// -// -// The WINIBIO_ENGINE_CONTEXT structure is privately-defined by each -// Engine Adapter. Its purpose is to maintain any information that -// should persist across Engine Adapter API calls. -// -// The Adapter allocates and initializes one of these structures in its -// 'Attach' routine and saves its address in the Pipeline->EngineContext -// field. -// -// The Engine Adapter's 'Detach' routine cleans up and deallocates the -// structure and sets the PipelineContext->EngineContext field to NULL. -// -/////////////////////////////////////////////////////////////////////////////// -typedef struct _WINIBIO_ENGINE_CONTEXT { - // - // The following fields illustrate the kind of information - // the Engine Adapter needs to keep in this structure: - // - // FeatureSet - A processed description of a biometric - // sample. - // - // Enrollment - An object that tracks the current state - // of an in-progress enrollment operation. - // - // Template - A template either created from the Feature - // Set or from the Enrollment object. - // - // Comparison - An object that tracks the result of a - // one-to-one comparison between the Template - // and the Feature Set. - // - PVOID x; - PVOID y; - PVOID z; - -} WINIBIO_ENGINE_CONTEXT, *PWINIBIO_ENGINE_CONTEXT; - diff --git a/biometrics/adapters/engine_adapter/EngineAdapter.rc b/biometrics/adapters/engine_adapter/EngineAdapter.rc deleted file mode 100644 index d2a99f20..00000000 --- a/biometrics/adapters/engine_adapter/EngineAdapter.rc +++ /dev/null @@ -1,29 +0,0 @@ -//--------------------------------------------------------------------------- -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright (c) Microsoft Corporation. All rights reserved -// -// BioUsbSample.rc -// -// Copyright (c) 2007 Microsoft Corporation, All Rights Reserved -//--------------------------------------------------------------------------- - - -#include -#include -#include "resource.h" - -// -// TODO: Change the file description and file names to match your binary. -// - -#define VER_FILETYPE VFT_DLL -#define VER_FILESUBTYPE VFT_UNKNOWN -#define VER_FILEDESCRIPTION_STR "Engine Adapter Sample" -#define VER_INTERNALNAME_STR "EngineAdapter" -#define VER_ORIGINALFILENAME_STR "EngineAdapter.dll" - -#include "common.ver" diff --git a/biometrics/adapters/engine_adapter/EngineAdapter.vcxproj b/biometrics/adapters/engine_adapter/EngineAdapter.vcxproj deleted file mode 100644 index 4c462ac4..00000000 --- a/biometrics/adapters/engine_adapter/EngineAdapter.vcxproj +++ /dev/null @@ -1,228 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {22EED378-7FE9-4946-A653-05BB1EE20717} - $(MSBuildProjectName) - false - true - Debug - Win32 - {9263013E-19E1-41D9-B085-8892CE56B9BB} - - - - Windows10 - False - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - True - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - False - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - True - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - - $(IntDir) - - - - - - - - - - - - - - - - EngineAdapter - - - EngineAdapter - - - EngineAdapter - - - EngineAdapter - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - EngineAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - EngineAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - EngineAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - EngineAdapter.def - - - - - ;%(AdditionalIncludeDirectories) - precomp.h - Use - $(IntDir)\precomp.h.pch - - - ;%(AdditionalIncludeDirectories) - precomp.h - Create - $(IntDir)\precomp.h.pch - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/biometrics/adapters/engine_adapter/EngineAdapter.vcxproj.Filters b/biometrics/adapters/engine_adapter/EngineAdapter.vcxproj.Filters deleted file mode 100644 index ab887f28..00000000 --- a/biometrics/adapters/engine_adapter/EngineAdapter.vcxproj.Filters +++ /dev/null @@ -1,33 +0,0 @@ - - - - - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;* - {010878EC-7BA3-41C4-B355-5556C237FDE3} - - - h;hpp;hxx;hm;inl;inc;xsd - {64493738-BBBD-46B2-995D-EF8EE18A251D} - - - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml - {E0C063ED-18D1-4D6B-A62A-5E6CF79522C1} - - - - - Source Files - - - Source Files - - - Source Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/biometrics/adapters/engine_adapter/precomp.h b/biometrics/adapters/engine_adapter/precomp.h deleted file mode 100644 index c36eb36c..00000000 --- a/biometrics/adapters/engine_adapter/precomp.h +++ /dev/null @@ -1,62 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - precomp.h - -Abstract: - - This module contains identifies all the headers that - shoulde be pre-compiled. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ -#pragma once - -// -// Necessary for compiling under VC. -// -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - -// -// Required header files that shouldn't change often. -// -#include -#include -#include - -// -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include - -#ifndef ARGUMENT_PRESENT -#define ARGUMENT_PRESENT(x) ((x) != NULL) -#endif diff --git a/biometrics/adapters/engine_adapter/precompsrc.cpp b/biometrics/adapters/engine_adapter/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/biometrics/adapters/engine_adapter/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h" \ No newline at end of file diff --git a/biometrics/adapters/engine_adapter/resource.h b/biometrics/adapters/engine_adapter/resource.h deleted file mode 100644 index 95ed37fa..00000000 --- a/biometrics/adapters/engine_adapter/resource.h +++ /dev/null @@ -1,15 +0,0 @@ -//--------------------------------------------------------------------------- -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright (c) Microsoft Corporation. All rights reserved -// -// BioUsbSample.rc -// -// Copyright (c) 2007 Microsoft Corporation, All Rights Reserved -//--------------------------------------------------------------------------- - -#pragma once - diff --git a/biometrics/adapters/sensor_adapter/SensorAdapter.cpp b/biometrics/adapters/sensor_adapter/SensorAdapter.cpp deleted file mode 100644 index 0e5345aa..00000000 --- a/biometrics/adapters/sensor_adapter/SensorAdapter.cpp +++ /dev/null @@ -1,485 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - SensorAdapter.cpp - -Abstract: - - This module contains a stub implementation of a Sensor Adapter - plug-in for the Windows Biometric service. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ - -/////////////////////////////////////////////////////////////////////////////// -// -// Header files... -// -/////////////////////////////////////////////////////////////////////////////// -#include "precomp.h" -#include "winbio_adapter.h" -#include "SensorAdapter.h" - - -/////////////////////////////////////////////////////////////////////////////// -// -// Forward declarations for the Engine Adapter's interface routines... -// -/////////////////////////////////////////////////////////////////////////////// -static HRESULT -WINAPI -SensorAdapterAttach( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -SensorAdapterDetach( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -SensorAdapterClearContext( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -SensorAdapterQueryStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_SENSOR_STATUS Status - ); - -static HRESULT -WINAPI -SensorAdapterReset( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -SensorAdapterSetMode( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_SENSOR_MODE Mode - ); - -static HRESULT -WINAPI -SensorAdapterSetIndicatorStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_INDICATOR_STATUS IndicatorStatus - ); - -static HRESULT -WINAPI -SensorAdapterGetIndicatorStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_INDICATOR_STATUS IndicatorStatus - ); - -static HRESULT -WINAPI -SensorAdapterStartCapture( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIR_PURPOSE Purpose, - _Out_ LPOVERLAPPED *Overlapped - ); - -static HRESULT -WINAPI -SensorAdapterFinishCapture( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ); - -static HRESULT -WINAPI -SensorAdapterClearCaptureBuffer( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -SensorAdapterExportSensorData( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_BIR *SampleBuffer, - _Out_ PSIZE_T SampleSize - ); - -static HRESULT -WINAPI -SensorAdapterCancel( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -SensorAdapterPushDataToEngine( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIR_PURPOSE Purpose, - _In_ WINBIO_BIR_DATA_FLAGS Flags, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ); - -static HRESULT -WINAPI -SensorAdapterControlUnit( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ); - -static HRESULT -WINAPI -SensorAdapterControlUnitPrivileged( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ); -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Interface dispatch table -// -/////////////////////////////////////////////////////////////////////////////// -static WINBIO_SENSOR_INTERFACE g_SensorInterface = { - WINBIO_STORAGE_INTERFACE_VERSION_1, - WINBIO_ADAPTER_TYPE_SENSOR, - sizeof(WINBIO_SENSOR_INTERFACE), - {0xa545298c, 0xec34, 0x4306, {0x84, 0x12, 0x83, 0x12, 0x5d, 0xca, 0xfa, 0xe1}}, - - SensorAdapterAttach, - SensorAdapterDetach, - SensorAdapterClearContext, - SensorAdapterQueryStatus, - SensorAdapterReset, - SensorAdapterSetMode, - SensorAdapterSetIndicatorStatus, - SensorAdapterGetIndicatorStatus, - SensorAdapterStartCapture, - SensorAdapterFinishCapture, - SensorAdapterExportSensorData, - SensorAdapterCancel, - SensorAdapterPushDataToEngine, - SensorAdapterControlUnit, - SensorAdapterControlUnitPrivileged -}; -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Mandatory DLL entrypoint function. -// -/////////////////////////////////////////////////////////////////////////////// -BOOL APIENTRY -DllMain( - HANDLE ModuleHandle, - DWORD ReasonForCall, - LPVOID Reserved - ) -{ - UNREFERENCED_PARAMETER(ModuleHandle); - UNREFERENCED_PARAMETER(ReasonForCall); - UNREFERENCED_PARAMETER(Reserved); - - return TRUE; -} -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Well-known interface-discovery function exported by the Sensor Adapter -// -/////////////////////////////////////////////////////////////////////////////// -HRESULT -WINAPI -WbioQuerySensorInterface( - _Out_ PWINBIO_SENSOR_INTERFACE *SensorInterface - ) -{ - *SensorInterface = &g_SensorInterface; - return S_OK; -} -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Storage Adapter action routines -// -/////////////////////////////////////////////////////////////////////////////// -static HRESULT -WINAPI -SensorAdapterAttach( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterDetach( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterClearContext( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterQueryStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_SENSOR_STATUS Status - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Status); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterReset( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterSetMode( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_SENSOR_MODE Mode - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Mode); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterSetIndicatorStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_INDICATOR_STATUS IndicatorStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(IndicatorStatus); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterGetIndicatorStatus( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_INDICATOR_STATUS IndicatorStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(IndicatorStatus); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterStartCapture( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIR_PURPOSE Purpose, - _Out_ LPOVERLAPPED *Overlapped - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Purpose); - UNREFERENCED_PARAMETER(Overlapped); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterFinishCapture( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(RejectDetail); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -// -// Export raw capture buffer -// -static HRESULT -WINAPI -SensorAdapterExportSensorData( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_BIR *SampleBuffer, - _Out_ PSIZE_T SampleSize - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(SampleBuffer); - UNREFERENCED_PARAMETER(SampleSize); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterCancel( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -// -// Push current sample into the Engine and -// convert it into a feature set for use in -// additional processing. -// -static HRESULT -WINAPI -SensorAdapterPushDataToEngine( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIR_PURPOSE Purpose, - _In_ WINBIO_BIR_DATA_FLAGS Flags, - _Out_ PWINBIO_REJECT_DETAIL RejectDetail - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Purpose); - UNREFERENCED_PARAMETER(Flags); - UNREFERENCED_PARAMETER(RejectDetail); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterControlUnit( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(ControlCode); - UNREFERENCED_PARAMETER(SendBuffer); - UNREFERENCED_PARAMETER(SendBufferSize); - UNREFERENCED_PARAMETER(ReceiveBuffer); - UNREFERENCED_PARAMETER(ReceiveBufferSize); - UNREFERENCED_PARAMETER(ReceiveDataSize); - UNREFERENCED_PARAMETER(OperationStatus); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// - -static HRESULT -WINAPI -SensorAdapterControlUnitPrivileged( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(ControlCode); - UNREFERENCED_PARAMETER(SendBuffer); - UNREFERENCED_PARAMETER(SendBufferSize); - UNREFERENCED_PARAMETER(ReceiveBuffer); - UNREFERENCED_PARAMETER(ReceiveBufferSize); - UNREFERENCED_PARAMETER(ReceiveDataSize); - UNREFERENCED_PARAMETER(OperationStatus); - - return E_NOTIMPL; -} -/////////////////////////////////////////////////////////////////////////////// diff --git a/biometrics/adapters/sensor_adapter/SensorAdapter.def b/biometrics/adapters/sensor_adapter/SensorAdapter.def deleted file mode 100644 index e2534008..00000000 --- a/biometrics/adapters/sensor_adapter/SensorAdapter.def +++ /dev/null @@ -1,5 +0,0 @@ -LIBRARY SensorAdapter - -EXPORTS - WbioQuerySensorInterface - diff --git a/biometrics/adapters/sensor_adapter/SensorAdapter.h b/biometrics/adapters/sensor_adapter/SensorAdapter.h deleted file mode 100644 index f70c3f51..00000000 --- a/biometrics/adapters/sensor_adapter/SensorAdapter.h +++ /dev/null @@ -1,68 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - SensorAdapter.h - -Abstract: - - This module contains a stub implementation of an Sensor Adapter - plug-in for the Windows Biometric service. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ -#pragma once - -#include "winbio_adapter.h" - -/////////////////////////////////////////////////////////////////////////////// -// -// The WINIBIO_SENSOR_CONTEXT structure is privately-defined by each -// Sensor Adapter. Its purpose is to maintain any information that -// should persist across Sensor Adapter API calls. -// -// The Adapter allocates and initializes one of these structures in its -// 'Attach' routine and saves its address in the Pipeline->SensorContext -// field. -// -// The Sensor Adapter's 'Detach' routine cleans up and deallocates the -// structure and sets the PipelineContext->SensorContext field to NULL. -// -/////////////////////////////////////////////////////////////////////////////// -typedef struct _WINIBIO_SENSOR_CONTEXT { - // - // The following fields illustrate the kind of information - // the Sensor Adapter needs to keep in this structure: - // - // SampleBuffer - A pointer to the most-recently-captured - // data sample from the sensor device. - // - // SampleSize - Count of the number of bytes in the - // sample buffer. - // - PWINBIO_BIR SampleBuffer; - SIZE_T SampleSize; - -} WINIBIO_SENSOR_CONTEXT, *PWINIBIO_SENSOR_CONTEXT; - - diff --git a/biometrics/adapters/sensor_adapter/SensorAdapter.rc b/biometrics/adapters/sensor_adapter/SensorAdapter.rc deleted file mode 100644 index 0c08a208..00000000 --- a/biometrics/adapters/sensor_adapter/SensorAdapter.rc +++ /dev/null @@ -1,29 +0,0 @@ -//--------------------------------------------------------------------------- -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright (c) Microsoft Corporation. All rights reserved -// -// BioUsbSample.rc -// -// Copyright (c) 2007 Microsoft Corporation, All Rights Reserved -//--------------------------------------------------------------------------- - - -#include -#include -#include "resource.h" - -// -// TODO: Change the file description and file names to match your binary. -// - -#define VER_FILETYPE VFT_DLL -#define VER_FILESUBTYPE VFT_UNKNOWN -#define VER_FILEDESCRIPTION_STR "Sensor Adapter Sample" -#define VER_INTERNALNAME_STR "SensorAdapter" -#define VER_ORIGINALFILENAME_STR "SensorAdapter.dll" - -#include "common.ver" diff --git a/biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj b/biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj deleted file mode 100644 index 166f8076..00000000 --- a/biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj +++ /dev/null @@ -1,228 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {321860DA-56D9-427A-A5C2-346DFE8FB529} - $(MSBuildProjectName) - false - true - Debug - Win32 - {6166C525-23D0-4D3C-8DD3-1E3CB527FA23} - - - - Windows10 - False - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - True - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - False - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - True - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - - $(IntDir) - - - - - - - - - - - - - - - - SensorAdapter - - - SensorAdapter - - - SensorAdapter - - - SensorAdapter - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - SensorAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - SensorAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - SensorAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - SensorAdapter.def - - - - - ;%(AdditionalIncludeDirectories) - precomp.h - Create - $(IntDir)\precomp.h.pch - - - ;%(AdditionalIncludeDirectories) - precomp.h - Use - $(IntDir)\precomp.h.pch - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj.Filters b/biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj.Filters deleted file mode 100644 index 53f0b241..00000000 --- a/biometrics/adapters/sensor_adapter/SensorAdapter.vcxproj.Filters +++ /dev/null @@ -1,33 +0,0 @@ - - - - - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;* - {51205C64-E853-46B7-8706-03C4F355D3FB} - - - h;hpp;hxx;hm;inl;inc;xsd - {65E3A5BF-7427-4CB0-B6C7-F47537AC67BB} - - - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml - {05AE8E4A-3180-403D-BFB9-122DD85E0D1A} - - - - - Source Files - - - Source Files - - - Source Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/biometrics/adapters/sensor_adapter/precomp.h b/biometrics/adapters/sensor_adapter/precomp.h deleted file mode 100644 index c36eb36c..00000000 --- a/biometrics/adapters/sensor_adapter/precomp.h +++ /dev/null @@ -1,62 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - precomp.h - -Abstract: - - This module contains identifies all the headers that - shoulde be pre-compiled. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ -#pragma once - -// -// Necessary for compiling under VC. -// -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - -// -// Required header files that shouldn't change often. -// -#include -#include -#include - -// -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include - -#ifndef ARGUMENT_PRESENT -#define ARGUMENT_PRESENT(x) ((x) != NULL) -#endif diff --git a/biometrics/adapters/sensor_adapter/precompsrc.cpp b/biometrics/adapters/sensor_adapter/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/biometrics/adapters/sensor_adapter/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h" \ No newline at end of file diff --git a/biometrics/adapters/sensor_adapter/resource.h b/biometrics/adapters/sensor_adapter/resource.h deleted file mode 100644 index 95ed37fa..00000000 --- a/biometrics/adapters/sensor_adapter/resource.h +++ /dev/null @@ -1,15 +0,0 @@ -//--------------------------------------------------------------------------- -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright (c) Microsoft Corporation. All rights reserved -// -// BioUsbSample.rc -// -// Copyright (c) 2007 Microsoft Corporation, All Rights Reserved -//--------------------------------------------------------------------------- - -#pragma once - diff --git a/biometrics/adapters/storage_adapter/StorageAdapter.cpp b/biometrics/adapters/storage_adapter/StorageAdapter.cpp deleted file mode 100644 index 4e5cfb66..00000000 --- a/biometrics/adapters/storage_adapter/StorageAdapter.cpp +++ /dev/null @@ -1,594 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Storage.cpp - -Abstract: - - This module contains a stub implementation of a Storage Adapter - plug-in for the Windows Biometric service. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ - -/////////////////////////////////////////////////////////////////////////////// -// -// Header files... -// -/////////////////////////////////////////////////////////////////////////////// -#include "precomp.h" -#include "winbio_adapter.h" -#include "StorageAdapter.h" - - -/////////////////////////////////////////////////////////////////////////////// -// -// Forward declarations for the Storage Adapter's interface routines... -// -/////////////////////////////////////////////////////////////////////////////// -static HRESULT -WINAPI -StorageAdapterAttach( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -StorageAdapterDetach( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -StorageAdapterClearContext( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -StorageAdapterCreateDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_UUID DatabaseId, - _In_ WINBIO_BIOMETRIC_TYPE Factor, - _In_ PWINBIO_UUID Format, - _In_ LPCWSTR FilePath, - _In_ LPCWSTR ConnectString, - _In_ SIZE_T IndexElementCount, - _In_ SIZE_T InitialSize - ); - -static HRESULT -WINAPI -StorageAdapterEraseDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_UUID DatabaseId, - _In_ LPCWSTR FilePath, - _In_ LPCWSTR ConnectString - ); - -static HRESULT -WINAPI -StorageAdapterOpenDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_UUID DatabaseId, - _In_ LPCWSTR FilePath, - _In_ LPCWSTR ConnectString - ); - -static HRESULT -WINAPI -StorageAdapterCloseDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -StorageAdapterGetDataFormat( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_UUID Format, - _Out_ PWINBIO_VERSION Version - ); - -static HRESULT -WINAPI -StorageAdapterGetDatabaseSize( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T AvailableRecordCount, - _Out_ PSIZE_T TotalRecordCount - ); - -static HRESULT -WINAPI -StorageAdapterAddRecord( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_STORAGE_RECORD RecordContents - ); - -static HRESULT -WINAPI -StorageAdapterDeleteRecord( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor - ); - -static HRESULT -WINAPI -StorageAdapterQueryBySubject( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor - ); - -static HRESULT -WINAPI -StorageAdapterQueryByContent( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor, - _In_ ULONG IndexVector[], - _In_ SIZE_T IndexElementCount - ); - -static HRESULT -WINAPI -StorageAdapterGetRecordCount( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T RecordCount - ); - -static HRESULT -WINAPI -StorageAdapterFirstRecord( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -StorageAdapterNextRecord( - _Inout_ PWINBIO_PIPELINE Pipeline - ); - -static HRESULT -WINAPI -StorageAdapterGetCurrentRecord( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_STORAGE_RECORD RecordContents - ); - -static HRESULT -WINAPI -StorageAdapterControlUnit( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ); - -static HRESULT -WINAPI -StorageAdapterControlUnitPrivileged( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ); -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Interface dispatch table -// -/////////////////////////////////////////////////////////////////////////////// -static WINBIO_STORAGE_INTERFACE g_StorageInterface = { - WINBIO_STORAGE_INTERFACE_VERSION_1, - WINBIO_ADAPTER_TYPE_STORAGE, - sizeof(WINBIO_STORAGE_INTERFACE), - {0x7f6c2610, 0xfdba, 0x41a3, {0xae, 0x1c, 0x8f, 0xd5, 0x84, 0x59, 0x8d, 0x13}}, - - StorageAdapterAttach, - StorageAdapterDetach, - StorageAdapterClearContext, - StorageAdapterCreateDatabase, - StorageAdapterEraseDatabase, - StorageAdapterOpenDatabase, - StorageAdapterCloseDatabase, - StorageAdapterGetDataFormat, - StorageAdapterGetDatabaseSize, - StorageAdapterAddRecord, - StorageAdapterDeleteRecord, - StorageAdapterQueryBySubject, - StorageAdapterQueryByContent, - StorageAdapterGetRecordCount, - StorageAdapterFirstRecord, - StorageAdapterNextRecord, - StorageAdapterGetCurrentRecord, - StorageAdapterControlUnit, - StorageAdapterControlUnitPrivileged -}; -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Mandatory DLL entrypoint function. -// -/////////////////////////////////////////////////////////////////////////////// -BOOL APIENTRY -DllMain( - HANDLE ModuleHandle, - DWORD ReasonForCall, - LPVOID Reserved - ) -{ - UNREFERENCED_PARAMETER(ModuleHandle); - UNREFERENCED_PARAMETER(ReasonForCall); - UNREFERENCED_PARAMETER(Reserved); - - return TRUE; -} -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Well-known interface-discovery function exported by the Storage Adapter -// -/////////////////////////////////////////////////////////////////////////////// -HRESULT -WINAPI -WbioQueryStorageInterface( - _Out_ PWINBIO_STORAGE_INTERFACE *StorageInterface - ) -{ - *StorageInterface = &g_StorageInterface; - return S_OK; -} -//----------------------------------------------------------------------------- - - -/////////////////////////////////////////////////////////////////////////////// -// -// Storage Adapter action routines -// -/////////////////////////////////////////////////////////////////////////////// -static HRESULT -WINAPI -StorageAdapterAttach( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterDetach( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterClearContext( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterCreateDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_UUID DatabaseId, - _In_ WINBIO_BIOMETRIC_TYPE Factor, - _In_ PWINBIO_UUID Format, - _In_ LPCWSTR FilePath, - _In_ LPCWSTR ConnectString, - _In_ SIZE_T IndexElementCount, - _In_ SIZE_T InitialSize - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(DatabaseId); - UNREFERENCED_PARAMETER(Factor); - UNREFERENCED_PARAMETER(Format); - UNREFERENCED_PARAMETER(FilePath); - UNREFERENCED_PARAMETER(ConnectString); - UNREFERENCED_PARAMETER(IndexElementCount); - UNREFERENCED_PARAMETER(InitialSize); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterEraseDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_UUID DatabaseId, - _In_ LPCWSTR FilePath, - _In_ LPCWSTR ConnectString - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(DatabaseId); - UNREFERENCED_PARAMETER(FilePath); - UNREFERENCED_PARAMETER(ConnectString); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterOpenDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_UUID DatabaseId, - _In_ LPCWSTR FilePath, - _In_ LPCWSTR ConnectString - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(DatabaseId); - UNREFERENCED_PARAMETER(FilePath); - UNREFERENCED_PARAMETER(ConnectString); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterCloseDatabase( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterGetDataFormat( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_UUID Format, - _Out_ PWINBIO_VERSION Version - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Format); - UNREFERENCED_PARAMETER(Version); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterGetDatabaseSize( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T AvailableRecordCount, - _Out_ PSIZE_T TotalRecordCount - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(AvailableRecordCount); - UNREFERENCED_PARAMETER(TotalRecordCount); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterAddRecord( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_STORAGE_RECORD RecordContents - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(RecordContents); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterDeleteRecord( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Identity); - UNREFERENCED_PARAMETER(SubFactor); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterQueryBySubject( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ PWINBIO_IDENTITY Identity, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(Identity); - UNREFERENCED_PARAMETER(SubFactor); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterQueryByContent( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ WINBIO_BIOMETRIC_SUBTYPE SubFactor, - _In_ ULONG IndexVector[], - _In_ SIZE_T IndexElementCount - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(SubFactor); - UNREFERENCED_PARAMETER(IndexVector); - UNREFERENCED_PARAMETER(IndexElementCount); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterGetRecordCount( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PSIZE_T RecordCount - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(RecordCount); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterFirstRecord( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterNextRecord( - _Inout_ PWINBIO_PIPELINE Pipeline - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterGetCurrentRecord( - _Inout_ PWINBIO_PIPELINE Pipeline, - _Out_ PWINBIO_STORAGE_RECORD RecordContents - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(RecordContents); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterControlUnit( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(ControlCode); - UNREFERENCED_PARAMETER(SendBuffer); - UNREFERENCED_PARAMETER(SendBufferSize); - UNREFERENCED_PARAMETER(ReceiveBuffer); - UNREFERENCED_PARAMETER(ReceiveBufferSize); - UNREFERENCED_PARAMETER(ReceiveDataSize); - UNREFERENCED_PARAMETER(OperationStatus); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - -static HRESULT -WINAPI -StorageAdapterControlUnitPrivileged( - _Inout_ PWINBIO_PIPELINE Pipeline, - _In_ ULONG ControlCode, - _In_ PUCHAR SendBuffer, - _In_ SIZE_T SendBufferSize, - _In_ PUCHAR ReceiveBuffer, - _In_ SIZE_T ReceiveBufferSize, - _Out_ PSIZE_T ReceiveDataSize, - _Out_ PULONG OperationStatus - ) -{ - UNREFERENCED_PARAMETER(Pipeline); - UNREFERENCED_PARAMETER(ControlCode); - UNREFERENCED_PARAMETER(SendBuffer); - UNREFERENCED_PARAMETER(SendBufferSize); - UNREFERENCED_PARAMETER(ReceiveBuffer); - UNREFERENCED_PARAMETER(ReceiveBufferSize); - UNREFERENCED_PARAMETER(ReceiveDataSize); - UNREFERENCED_PARAMETER(OperationStatus); - - return E_NOTIMPL; -} -//----------------------------------------------------------------------------- - - diff --git a/biometrics/adapters/storage_adapter/StorageAdapter.def b/biometrics/adapters/storage_adapter/StorageAdapter.def deleted file mode 100644 index 685b9f3f..00000000 --- a/biometrics/adapters/storage_adapter/StorageAdapter.def +++ /dev/null @@ -1,4 +0,0 @@ -LIBRARY StorageAdapter - -EXPORTS - WbioQueryStorageInterface diff --git a/biometrics/adapters/storage_adapter/StorageAdapter.h b/biometrics/adapters/storage_adapter/StorageAdapter.h deleted file mode 100644 index d0259213..00000000 --- a/biometrics/adapters/storage_adapter/StorageAdapter.h +++ /dev/null @@ -1,79 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - StorageAdapter.h - -Abstract: - - This module contains a stub implementation of a Storage Adapter - plug-in for the Windows Biometric service. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ -#pragma once - -#include "winbio_adapter.h" - -/////////////////////////////////////////////////////////////////////////////// -// -// The WINIBIO_STORAGE_CONTEXT structure is privately-defined by each -// Storage Adapter. Its purpose is to maintain any information that -// should persist across Storage Adapter API calls. -// -// The Adapter allocates and initializes one of these structures in its -// 'Attach' routine and saves its address in the Pipeline->StorageContext -// field. -// -// The Storage Adapter's 'Detach' routine cleans up and deallocates the -// structure and sets the PipelineContext->StorageContext field to NULL. -// -/////////////////////////////////////////////////////////////////////////////// -typedef struct _WINIBIO_STORAGE_CONTEXT { - // - // The following fields illustrate the kind of information - // the Storage Adapter needs to keep in this structure: - // - // DatabaseId - Identify of the Adapter's - // currently-opened database. - // - // DatabaseHandle - A handle to the Storage Adapter's - // currently-open database. - // - // ResultSet - A collection of records generated by - // a database query operation. - // - // ResultSetCursor - Current location in the result - // set. Used to iterate through the - // result set and make individual - // records available. - // - WINBIO_UUID DatabaseId; - PVOID DatabaseHandle; - PVOID ResultSet; - PVOID ResultSetCursor; - -} WINIBIO_STORAGE_CONTEXT, *PWINIBIO_STORAGE_CONTEXT; - - - diff --git a/biometrics/adapters/storage_adapter/StorageAdapter.rc b/biometrics/adapters/storage_adapter/StorageAdapter.rc deleted file mode 100644 index 332ed60c..00000000 --- a/biometrics/adapters/storage_adapter/StorageAdapter.rc +++ /dev/null @@ -1,29 +0,0 @@ -//--------------------------------------------------------------------------- -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright (c) Microsoft Corporation. All rights reserved -// -// BioUsbSample.rc -// -// Copyright (c) 2007 Microsoft Corporation, All Rights Reserved -//--------------------------------------------------------------------------- - - -#include -#include -#include "resource.h" - -// -// TODO: Change the file description and file names to match your binary. -// - -#define VER_FILETYPE VFT_DLL -#define VER_FILESUBTYPE VFT_UNKNOWN -#define VER_FILEDESCRIPTION_STR "Storage Adapter Sample" -#define VER_INTERNALNAME_STR "StorageAdapter" -#define VER_ORIGINALFILENAME_STR "StorageAdapter.dll" - -#include "common.ver" diff --git a/biometrics/adapters/storage_adapter/StorageAdapter.vcxproj b/biometrics/adapters/storage_adapter/StorageAdapter.vcxproj deleted file mode 100644 index 217ba760..00000000 --- a/biometrics/adapters/storage_adapter/StorageAdapter.vcxproj +++ /dev/null @@ -1,228 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {339A0554-2E3D-4A12-B45C-8E2D7D59D7C2} - $(MSBuildProjectName) - false - true - Debug - Win32 - {A09D774C-A1A4-4648-8599-3905585E696B} - - - - Windows10 - False - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - True - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - False - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - Windows10 - True - Windows Driver - - WindowsApplicationForDrivers10.0 - DynamicLibrary - - - - $(IntDir) - - - - - - - - - - - - - - - - StorageAdapter - - - StorageAdapter - - - StorageAdapter - - - StorageAdapter - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - StorageAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - StorageAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - StorageAdapter.def - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;user32.lib - StorageAdapter.def - - - - - ;%(AdditionalIncludeDirectories) - precomp.h - Create - $(IntDir)\precomp.h.pch - - - ;%(AdditionalIncludeDirectories) - precomp.h - Use - $(IntDir)\precomp.h.pch - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/biometrics/adapters/storage_adapter/StorageAdapter.vcxproj.Filters b/biometrics/adapters/storage_adapter/StorageAdapter.vcxproj.Filters deleted file mode 100644 index 92876497..00000000 --- a/biometrics/adapters/storage_adapter/StorageAdapter.vcxproj.Filters +++ /dev/null @@ -1,33 +0,0 @@ - - - - - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;* - {EE3BFC89-6F03-422C-B8F1-B4F4764C10BB} - - - h;hpp;hxx;hm;inl;inc;xsd - {C5BD080B-5F54-4E1D-A8EB-7CD4F15F93CA} - - - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml - {105F62EC-5AF7-4EA7-BC5B-07BBDD5C3611} - - - - - Source Files - - - Source Files - - - Source Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/biometrics/adapters/storage_adapter/precomp.h b/biometrics/adapters/storage_adapter/precomp.h deleted file mode 100644 index c36eb36c..00000000 --- a/biometrics/adapters/storage_adapter/precomp.h +++ /dev/null @@ -1,62 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - precomp.h - -Abstract: - - This module contains identifies all the headers that - shoulde be pre-compiled. - -Author: - - - - -Environment: - - Win32, user mode only. - -Revision History: - -NOTES: - - (None) - ---*/ -#pragma once - -// -// Necessary for compiling under VC. -// -#if(!defined(WINVER) || (WINVER < 0x0500)) - #undef WINVER - #define WINVER 0x0500 -#endif -#if(!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)) - #undef _WIN32_WINNT - #define _WIN32_WINNT 0x0500 -#endif - -// -// Required header files that shouldn't change often. -// -#include -#include -#include - -// -// StrSafe.h needs to be included last -// to disallow unsafe string functions. -#include - -#ifndef ARGUMENT_PRESENT -#define ARGUMENT_PRESENT(x) ((x) != NULL) -#endif diff --git a/biometrics/adapters/storage_adapter/precompsrc.cpp b/biometrics/adapters/storage_adapter/precompsrc.cpp deleted file mode 100644 index 5944cf51..00000000 --- a/biometrics/adapters/storage_adapter/precompsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h" \ No newline at end of file diff --git a/biometrics/adapters/storage_adapter/resource.h b/biometrics/adapters/storage_adapter/resource.h deleted file mode 100644 index 95ed37fa..00000000 --- a/biometrics/adapters/storage_adapter/resource.h +++ /dev/null @@ -1,15 +0,0 @@ -//--------------------------------------------------------------------------- -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright (c) Microsoft Corporation. All rights reserved -// -// BioUsbSample.rc -// -// Copyright (c) 2007 Microsoft Corporation, All Rights Reserved -//--------------------------------------------------------------------------- - -#pragma once - diff --git a/biometrics/driver/BioUsbSample.ctl b/biometrics/driver/BioUsbSample.ctl deleted file mode 100644 index bcec77c1..00000000 --- a/biometrics/driver/BioUsbSample.ctl +++ /dev/null @@ -1 +0,0 @@ -864936A6-DB79-451e-B764-E720D61A9361 WudfBioUsbSampleTraceGuid \ No newline at end of file diff --git a/biometrics/driver/BioUsbSample.rc b/biometrics/driver/BioUsbSample.rc deleted file mode 100644 index 36f83c5a..00000000 --- a/biometrics/driver/BioUsbSample.rc +++ /dev/null @@ -1,26 +0,0 @@ -// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF -// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO -// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A -// PARTICULAR PURPOSE. -// -// Copyright (c) Microsoft Corporation. All rights reserved -// -// BioUsbSample.rc -// - - -#include -#include -#include "resource.h" - -// -// TODO: Change the file description and file names to match your binary. -// - -#define VER_FILETYPE VFT_DLL -#define VER_FILESUBTYPE VFT_UNKNOWN -#define VER_FILEDESCRIPTION_STR "WUDF: Biometric Sample" -#define VER_INTERNALNAME_STR "WudfBioUsbSample" -#define VER_ORIGINALFILENAME_STR "WudfBioUsbSample.dll" - -#include "common.ver" diff --git a/biometrics/driver/Device.cpp b/biometrics/driver/Device.cpp deleted file mode 100644 index 8f8dd6b4..00000000 --- a/biometrics/driver/Device.cpp +++ /dev/null @@ -1,1834 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Device.cpp - -Abstract: - - This module contains the implementation of the Biometric - device driver. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ -#include "internal.h" -#include "device.tmh" - -#pragma warning(disable : 4189) - -DWORD WINAPI -CaptureSleepThread( - LPVOID lpParam - ) -{ - CBiometricDevice *device = (CBiometricDevice *) lpParam; - PCAPTURE_SLEEP_PARAMS sleepParams = device->GetCaptureSleepParams(); - - // - // Make sure it is less than or equal to 1 minute. - // - if (sleepParams->SleepValue > 60) - { - sleepParams->SleepValue = 60; - } - - Sleep(sleepParams->SleepValue * 1000); - - device->CompletePendingRequest(sleepParams->Hr, sleepParams->Information); - - return 0; -} - - -HRESULT -CBiometricDevice::CreateInstanceAndInitialize( - _In_ IWDFDriver *FxDriver, - _In_ IWDFDeviceInitialize * FxDeviceInit, - _Out_ CBiometricDevice **Device - ) -/*++ - - Routine Description: - - This method creates and initializs an instance of the skeleton driver's - device callback object. - - Arguments: - - FxDeviceInit - the settings for the device. - - Device - a location to store the referenced pointer to the device object. - - Return Value: - - Status - ---*/ -{ - // - // Create a new instance of the device class - // - CComObject *pMyDevice = NULL; - HRESULT hr = CComObject::CreateInstance( &pMyDevice ); - - if (SUCCEEDED(hr)) - { - - // - // Initialize the instance. This calls the WUDF framework, - // which keeps a reference to the device interface for the lifespan - // of the device. - // - if (NULL != pMyDevice) - { - hr = pMyDevice->Initialize(FxDriver, FxDeviceInit); - - if (FAILED(hr)) - { - BiometricSafeRelease(pMyDevice); - } - - } - - *Device = pMyDevice; - - } - - return hr; -} - -HRESULT -CBiometricDevice::Initialize( - _In_ IWDFDriver * FxDriver, - _In_ IWDFDeviceInitialize * FxDeviceInit - ) -/*++ - - Routine Description: - - This method initializes the device callback object and creates the - partner device object. - - The method should perform any device-specific configuration that: - * could fail (these can't be done in the constructor) - * must be done before the partner object is created -or- - * can be done after the partner object is created and which aren't - influenced by any device-level parameters the parent (the driver - in this case) might set. - - Arguments: - - FxDeviceInit - the settings for this device. - - Return Value: - - status. - ---*/ -{ - IWDFDevice *fxDevice = NULL; - HRESULT hr = S_OK; - IUnknown *unknown = NULL; - - // - // Configure things like the locking model before we go to create our - // partner device. - // - - // - // Set the locking model. - // - - FxDeviceInit->SetLockingConstraint(WdfDeviceLevel); - - // - // Any per-device initialization which must be done before - // creating the partner object. - // - - // - // Create a new FX device object and assign the new callback object to - // handle any device level events that occur. - // - - // - // We pass an IUnknown reference to CreateDevice, which takes its own - // reference if everything works. - // - - if (SUCCEEDED(hr)) - { - hr = this->QueryInterface(__uuidof(IUnknown), (void **)&unknown); - - } - - if (SUCCEEDED(hr)) - { - - hr = FxDriver->CreateDevice(FxDeviceInit, unknown, &fxDevice); - BiometricSafeRelease(unknown); - } - - // - // If that succeeded then set our FxDevice member variable. - // - - if (SUCCEEDED(hr)) - { - m_FxDevice = fxDevice; - - // - // Drop the reference we got from CreateDevice. Since this object - // is partnered with the framework object they have the same - // lifespan - there is no need for an additional reference. - // - - BiometricSafeRelease(fxDevice); - } - - return hr; -} - -HRESULT -CBiometricDevice::Configure( - VOID - ) -/*++ - - Routine Description: - - This method is called after the device callback object has been initialized - and returned to the driver. It would setup the device's queues and their - corresponding callback objects. - - Arguments: - - FxDevice - the framework device object for which we're handling events. - - Return Value: - - status - ---*/ -{ - - HRESULT hr = S_OK; - - // - // Create the I/O queue - // - - if (SUCCEEDED(hr)) - { - hr = CBiometricIoQueue::CreateInstanceAndInitialize(m_FxDevice, this, &m_IoQueue); - - if (SUCCEEDED(hr)) - { - hr = m_IoQueue->Configure(); - } - } - - // - // Create Device Interface - // - - if (SUCCEEDED(hr)) - { - hr = m_FxDevice->CreateDeviceInterface(&GUID_DEVINTERFACE_BIOMETRIC_READER, - NULL); - } - - if (SUCCEEDED(hr)) - { - hr = m_FxDevice->AssignDeviceInterfaceState(&GUID_DEVINTERFACE_BIOMETRIC_READER, - NULL, - TRUE); - } - - // - // TODO - this is where additional interfaces can be exposed. - // - - return hr; -} - -HRESULT -CBiometricDevice::OnPrepareHardware( - _In_ IWDFDevice * /* FxDevice */ - ) -/*++ - -Routine Description: - - This routine is invoked to ready the driver - to talk to hardware. It opens the handle to the - device and talks to it using the WINUSB interface. - It invokes WINUSB to discver the interfaces and stores - the information related to bulk endpoints. - -Arguments: - - FxDevice : Pointer to the WDF device interface - -Return Value: - - HRESULT - ---*/ -{ - PWSTR deviceName = NULL; - DWORD deviceNameCch = 0; - - HRESULT hr; - - // - // Get the device name. - // Get the length to allocate first - // - - hr = m_FxDevice->RetrieveDeviceName(NULL, &deviceNameCch); - - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Cannot get device name %!hresult!", - hr - ); - } - - // - // Allocate the buffer - // - - if (SUCCEEDED(hr)) - { - deviceName = (PWSTR) malloc(deviceNameCch * sizeof (WCHAR)); - - if (deviceName == NULL) - { - hr = E_OUTOFMEMORY; - } - } - - // - // Get the actual name - // - - if (SUCCEEDED(hr)) - { - hr = m_FxDevice->RetrieveDeviceName(deviceName, &deviceNameCch); - - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Cannot get device name %!hresult!", - hr - ); - } - } - - if (SUCCEEDED(hr)) - { - TraceEvents(TRACE_LEVEL_INFORMATION, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Device name %S", - deviceName - ); - } - - // - // Create USB I/O Targets and configure them - // - - if (SUCCEEDED(hr)) - { - hr = CreateUsbIoTargets(); - } - - if (SUCCEEDED(hr)) - { - ULONG length = sizeof(m_Speed); - - hr = m_pIUsbTargetDevice->RetrieveDeviceInformation(DEVICE_SPEED, - &length, - &m_Speed); - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Cannot get usb device speed information %!HRESULT!", - hr - ); - } - } - - if (SUCCEEDED(hr)) - { - TraceEvents(TRACE_LEVEL_INFORMATION, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Speed - %x\n", - m_Speed - ); - } - - // - // Setup power-management settings on the device. - // - - if (SUCCEEDED(hr)) - { - hr = SetPowerManagement(); - } - - // - // We have non-power managed queues so we Stop them in OnReleaseHardware - // and start them in OnPrepareHardware - // - - if (SUCCEEDED(hr)) - { - m_IoQueue->Start(); - } - - if (SUCCEEDED(hr)) - { - // - // If the device stack allows read to remain pending across power-down - // and up, it can be initiated during OnPrepareHardware - // - // If the device stack doesn't allow the read to remain pending (i.e. it - // cancels the pending read during power transition) driver will have to - // stop sending pending read during D0Exit and re-initiate it during - // D0Entry - // - // USB core actually doesn't allow read to remain pending across power - // transition but WinUSB does. Since we are layered above WinUSB we don't - // need to manage pending read across power transitions. - // - - hr = InitiatePendingRead(); - } - - if (deviceName) - { - free(deviceName); - deviceName = NULL; - } - - return hr; -} - -HRESULT -CBiometricDevice::OnReleaseHardware( - _In_ IWDFDevice * /* FxDevice */ - ) -/*++ - -Routine Description: - - This routine is invoked when the device is being removed or stopped - It releases all resources allocated for this device. - -Arguments: - - FxDevice - Pointer to the Device object. - -Return Value: - - HRESULT - Always succeeds. - ---*/ -{ - // - // Cancel the pending data collection I/O, if one exists. - // - CompletePendingRequest(HRESULT_FROM_WIN32(ERROR_CANCELLED), 0); - - // - // Since we have non-power managed queues, we need to Stop them - // explicitly - // - // We need to stop them before deleting I/O targets otherwise we - // will continue to get I/O and our I/O processing will try to access - // freed I/O targets - // - // We initialize queues in CMyDevice::Initialize so we can't get - // here with queues being NULL and don't need to guard against that - // - - m_IoQueue->StopSynchronously(); - - // - // Delete USB Target Device WDF Object, this will in turn - // delete all the children - interface and the pipe objects - // - // This makes sure that - // 1. We drain the I/O before releasing the targets - // a. We always need to do that for the pending read which does - // not come from an I/O queue - // b. We need to do this even for I/O coming from I/O queues because - // we set them to non-power managed queues (to leverage wait/wake - // from WinUsb.sys) - // 2. We remove USB target objects from object tree (and thereby free them) - // before any potential subsequent OnPrepareHardware creates new ones - // - // m_pIUsbTargetDevice could be NULL if OnPrepareHardware failed so we need - // to guard against that - // - - if (m_pIUsbTargetDevice) - { - m_pIUsbTargetDevice->DeleteWdfObject(); - } - - // - // This sample has a thread that will sleep for 5 seconds before - // completing a capture request. - // - if (m_SleepThread != INVALID_HANDLE_VALUE) - { - WaitForSingleObject(m_SleepThread, INFINITE); - CloseHandle(m_SleepThread); - m_SleepThread = INVALID_HANDLE_VALUE; - } - - return S_OK; -} - -HRESULT -CBiometricDevice::CreateUsbIoTargets( - ) -/*++ - -Routine Description: - - This routine creates Usb device, interface and pipe objects - -Arguments: - - None - -Return Value: - - HRESULT ---*/ -{ - HRESULT hr; - UCHAR NumEndPoints = 0; - IWDFUsbTargetFactory * pIUsbTargetFactory = NULL; - IWDFUsbTargetDevice * pIUsbTargetDevice = NULL; - IWDFUsbInterface * pIUsbInterface = NULL; - IWDFUsbTargetPipe * pIUsbPipe = NULL; - - hr = m_FxDevice->QueryInterface(IID_PPV_ARGS(&pIUsbTargetFactory)); - - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Cannot get usb target factory %!HRESULT!", - hr - ); - } - - if (SUCCEEDED(hr)) - { - hr = pIUsbTargetFactory->CreateUsbTargetDevice( - &pIUsbTargetDevice); - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Unable to create USB Device I/O Target %!HRESULT!", - hr - ); - } - else - { - m_pIUsbTargetDevice = pIUsbTargetDevice; - - // - // Release the creation reference as object tree will maintain a reference - // - - BiometricSafeRelease(pIUsbTargetDevice); - } - } - - if (SUCCEEDED(hr)) - { - UCHAR NumInterfaces = pIUsbTargetDevice->GetNumInterfaces(); - TraceEvents(TRACE_LEVEL_INFORMATION, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Found %u interfaces", - NumInterfaces - ); - - hr = pIUsbTargetDevice->RetrieveUsbInterface(0, &pIUsbInterface); - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Unable to retrieve USB interface from USB Device I/O Target %!HRESULT!", - hr - ); - } - else - { - m_pIUsbInterface = pIUsbInterface; - - BiometricSafeRelease(pIUsbInterface); // release creation reference - } - } - - if (SUCCEEDED(hr)) - { - NumEndPoints = pIUsbInterface->GetNumEndPoints(); - - if (NumEndPoints != NUM_WBDI_ENDPOINTS) - { - hr = E_UNEXPECTED; - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Has %d endpoints, expected %d, returning %!HRESULT! ", - NumEndPoints, - NUM_WBDI_ENDPOINTS, - hr - ); - } - } - - if (SUCCEEDED(hr)) - { - for (UCHAR PipeIndex = 0; PipeIndex < NumEndPoints; PipeIndex++) - { - hr = pIUsbInterface->RetrieveUsbPipeObject(PipeIndex, - &pIUsbPipe); - - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Unable to retrieve USB Pipe for PipeIndex %d, %!HRESULT!", - PipeIndex, - hr - ); - } - else - { - if ( pIUsbPipe->IsInEndPoint() ) - { - if ( UsbdPipeTypeInterrupt == pIUsbPipe->GetType() ) - { - m_pIUsbInterruptPipe = pIUsbPipe; - } - else if ( UsbdPipeTypeBulk == pIUsbPipe->GetType() ) - { - m_pIUsbInputPipe = pIUsbPipe; - } - else - { - pIUsbPipe->DeleteWdfObject(); - } - } - else if ( pIUsbPipe->IsOutEndPoint() && (UsbdPipeTypeBulk == pIUsbPipe->GetType()) ) - { - m_pIUsbOutputPipe = pIUsbPipe; - } - else - { - pIUsbPipe->DeleteWdfObject(); - } - - BiometricSafeRelease(pIUsbPipe); //release creation reference - } - } - - if (NULL == m_pIUsbInputPipe || NULL == m_pIUsbOutputPipe) - { - hr = E_UNEXPECTED; - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Input or output pipe not found, returning %!HRESULT!", - hr - ); - } - } - - BiometricSafeRelease(pIUsbTargetFactory); - - return hr; -} - -HRESULT -CBiometricDevice::SetPowerManagement( - VOID - ) -/*++ - - Routine Description: - - This method enables the WinUSB driver to power the device down when it is - idle. - - Arguments: - - None - - Return Value: - - Status - ---*/ -{ - - HRESULT hr = S_OK; - ULONG value = WBDI_SUSPEND_DELAY; - - hr = m_pIUsbTargetDevice->SetPowerPolicy( SUSPEND_DELAY, - sizeof(ULONG), - (PVOID) &value ); - - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Unable to set power policy (SUSPEND_DELAY) for the device %!HRESULT!", - hr - ); - } - - - // - // Finally enable auto-suspend. - // - - if (SUCCEEDED(hr)) - { - BOOL AutoSuspsend = TRUE; - - hr = m_pIUsbTargetDevice->SetPowerPolicy( AUTO_SUSPEND, - sizeof(BOOL), - (PVOID) &AutoSuspsend ); - } - - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Unable to set power policy (AUTO_SUSPEND) for the device %!HRESULT!", - hr - ); - } - - return hr; -} - -HRESULT -CBiometricDevice::SendControlTransferSynchronously( - _In_ PWINUSB_SETUP_PACKET SetupPacket, - _Inout_updates_(BufferLength) PBYTE Buffer, - _In_ ULONG BufferLength, - _Out_ PULONG LengthTransferred - ) -/*++ - - Routine Description: - - This method synchronously sends a control transfer request to - the USB I/O target. - - Arguments: - - SetupPacket - The command parameter structure - - Buffer - The data to transfer - - BufferLength - The size of the data buffer to transfer - - LengthTransferred - Contains the actual number of bytes transferred. - - Return Value: - - HRESULT - ---*/ -{ - HRESULT hr = S_OK; - IWDFIoRequest *pWdfRequest = NULL; - IWDFDriver * FxDriver = NULL; - IWDFMemory * FxMemory = NULL; - IWDFRequestCompletionParams * FxComplParams = NULL; - IWDFUsbRequestCompletionParams * FxUsbComplParams = NULL; - - *LengthTransferred = 0; - - hr = m_FxDevice->CreateRequest( NULL, //pCallbackInterface - NULL, //pParentObject - &pWdfRequest); - - if (SUCCEEDED(hr)) - { - m_FxDevice->GetDriver(&FxDriver); - - hr = FxDriver->CreatePreallocatedWdfMemory( Buffer, - BufferLength, - NULL, //pCallbackInterface - pWdfRequest, //pParetObject - &FxMemory ); - } - - if (SUCCEEDED(hr)) - { - hr = m_pIUsbTargetDevice->FormatRequestForControlTransfer( pWdfRequest, - SetupPacket, - FxMemory, - NULL); //TransferOffset - } - - if (SUCCEEDED(hr)) - { - hr = pWdfRequest->Send( m_pIUsbTargetDevice, - WDF_REQUEST_SEND_OPTION_SYNCHRONOUS, - 0); //Timeout - } - - if (SUCCEEDED(hr)) - { - pWdfRequest->GetCompletionParams(&FxComplParams); - - hr = FxComplParams->GetCompletionStatus(); - } - - if (SUCCEEDED(hr)) - { - HRESULT hrQI = FxComplParams->QueryInterface(IID_PPV_ARGS(&FxUsbComplParams)); - if (SUCCEEDED(hrQI)) - { - FxUsbComplParams->GetDeviceControlTransferParameters( NULL, - LengthTransferred, - NULL, - NULL ); - } - } - - BiometricSafeRelease(FxUsbComplParams); - BiometricSafeRelease(FxComplParams); - BiometricSafeRelease(FxMemory); - - pWdfRequest->DeleteWdfObject(); - BiometricSafeRelease(pWdfRequest); - - BiometricSafeRelease(FxDriver); - - return hr; -} - -WDF_IO_TARGET_STATE -CBiometricDevice::GetTargetState( - IWDFIoTarget * pTarget - ) -/*++ - - Routine Description: - - This method gets the state of the I/O target - - Arguments: - - pTarget - A pointer to the I/O target - - Return Value: - - WDF_IO_TARGET_STATE - ---*/ -{ - IWDFIoTargetStateManagement * pStateMgmt = NULL; - WDF_IO_TARGET_STATE state = WdfIoTargetStateUndefined; - - HRESULT hrQI = pTarget->QueryInterface(IID_PPV_ARGS(&pStateMgmt)); - if (FAILED(hrQI)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Cannot query interface %!HRESULT!", - hrQI - ); - - return state; - } - - state = pStateMgmt->GetState(); - - BiometricSafeRelease(pStateMgmt); - - return state; -} - -HRESULT -CBiometricDevice::InitiatePendingRead( - VOID - ) -/*++ - - Routine Description: - - This routine starts up a cycling read on the interrupt pipe. As each - read completes it will start up the next one. - - Arguments: - - None - - Return Value: - - Status - ---*/ -{ - HRESULT hr = S_OK; - IWDFIoRequest * FxRequest = NULL; - IWDFMemory * FxMemory = NULL; - IWDFDriver * FxDriver = NULL; - IRequestCallbackRequestCompletion * FxComplCallback = NULL; - - hr = m_FxDevice->CreateRequest(NULL, NULL, &FxRequest); - - if (SUCCEEDED(hr)) - { - m_FxDevice->GetDriver(&FxDriver); - - hr = FxDriver->CreatePreallocatedWdfMemory( (PBYTE) &m_InterruptMessage, - sizeof(m_InterruptMessage), - NULL, //pCallbackInterface - FxRequest, //pParetObject - &FxMemory ); - } - - if (SUCCEEDED(hr)) - { - hr = m_pIUsbInterruptPipe->FormatRequestForRead(FxRequest, - NULL, //pFile - IoTarget would apply its file - FxMemory, - NULL, //Memory offset - NULL); //Device offset - } - - if (SUCCEEDED(hr)) - { - hr = this->QueryInterface(IID_PPV_ARGS(&FxComplCallback)); - if (SUCCEEDED(hr)) - { - FxRequest->SetCompletionCallback(FxComplCallback, NULL); - - hr = FxRequest->Send(m_pIUsbInterruptPipe, 0, 0); - } - } - - if (FAILED(hr)) - { - m_InterruptReadProblem = hr; - - if (FxRequest) - { - FxRequest->DeleteWdfObject(); - } - } - - BiometricSafeRelease(FxRequest); - BiometricSafeRelease(FxMemory); - BiometricSafeRelease(FxDriver); - BiometricSafeRelease(FxComplCallback); - - return hr; -} - -VOID -CBiometricDevice::OnCompletion( - _In_ IWDFIoRequest* FxRequest, - _In_ IWDFIoTarget* pIoTarget, - _In_ IWDFRequestCompletionParams* pParams, - _In_ PVOID pContext - ) -/*++ - - Routine Description: - - This method is called when the asynchronous pending - read on the interrupt pipe completes. - - Arguments: - - FxRequest - The request object - - pIoTarget - The I/O target for the request - - pParams - The completion parameters - - pContext - Optional context - - Return Value: - - None - ---*/ -{ - UNREFERENCED_PARAMETER(pIoTarget); - UNREFERENCED_PARAMETER(pContext); - - IWDFUsbRequestCompletionParams * pUsbComplParams = NULL; - IWDFMemory * FxMemory = NULL; - SIZE_T bytesRead = 0; - HRESULT hrCompletion = pParams->GetCompletionStatus(); - - TraceEvents(TRACE_LEVEL_INFORMATION, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Pending read completed with %!hresult!", - hrCompletion - ); - - if (FAILED(hrCompletion)) - { - m_InterruptReadProblem = hrCompletion; - } - else - { - // - // Get the interrupt message - // - - HRESULT hrQI = pParams->QueryInterface(IID_PPV_ARGS(&pUsbComplParams)); - if (SUCCEEDED(hrQI)) - { - pUsbComplParams->GetPipeReadParameters(&FxMemory, &bytesRead, NULL); - if (bytesRead == sizeof(INTERRUPT_MESSAGE)) - { - - PVOID pBuff = FxMemory->GetDataBuffer(NULL); - CopyMemory(&m_InterruptMessage, pBuff, sizeof(m_InterruptMessage)); - - // - // TODO: Parse m_InterruptMessage - // - } - } - } - - // - // Don't complete the request since we created it, just delete it. - // - - FxRequest->DeleteWdfObject(); - - // - // Re-initiate pending read if I/O Target is not stopped/removed - // - - if (WdfIoTargetStarted == GetTargetState(m_pIUsbInterruptPipe)) - { - int numRetries = 0; - HRESULT hr = InitiatePendingRead(); - - // - // If we fail here, the device will become unresponsive. - // Re-issue the request until it succeeds. - // - for (numRetries = 0; FAILED(hr) && numRetries < 3; ++numRetries) - { - hr = InitiatePendingRead(); - } - } - - BiometricSafeRelease(pUsbComplParams); - BiometricSafeRelease(FxMemory); -} - - -// -// I/O handlers -// - -void -CBiometricDevice::GetIoRequestParams( - _In_ IWDFIoRequest *FxRequest, - _Out_ ULONG *MajorControlCode, - _Outptr_result_bytebuffer_(*InputBufferSizeInBytes) PUCHAR *InputBuffer, - _Out_ SIZE_T *InputBufferSizeInBytes, - _Outptr_result_bytebuffer_(*OutputBufferSizeInBytes) PUCHAR *OutputBuffer, - _Out_ SIZE_T *OutputBufferSizeInBytes - ) -/*++ - - Routine Description: - - This method retrieves the input and output buffers associated with the request. - - Arguments: - - FxRequest - The WDF request oject - - MajorControlCode - Contains the control code for the I/O request - - InputBuffer - Contains the input buffer pointer - - InputBufferSizeInBytes - Contains the size of the input buffer - - OutputBuffer - Contains the output buffer pointer - - OutputBufferSizeInBytes - Contains the size of the output buffer - - Return Value: - - None - ---*/ -{ - // - // Get main parameters - // - FxRequest->GetDeviceIoControlParameters(MajorControlCode, - InputBufferSizeInBytes, - OutputBufferSizeInBytes); - - // Get pointer to input buffer - IWDFMemory *fxMemory = NULL; - FxRequest->GetInputMemory(&fxMemory); - if (fxMemory) - { - *InputBuffer = (PUCHAR) fxMemory->GetDataBuffer(InputBufferSizeInBytes); - BiometricSafeRelease(fxMemory); - } - - // Save pointer to reply buffer - fxMemory = NULL; - FxRequest->GetOutputMemory(&fxMemory); - if (fxMemory) - { - *OutputBuffer = (PUCHAR) fxMemory->GetDataBuffer(OutputBufferSizeInBytes); - BiometricSafeRelease(fxMemory); - } -} - -void -CBiometricDevice::OnGetAttributes( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_GET_ATTRIBUTES command is called. - - Arguments: - - FxRequest - The output for this request is a PWINBIO_SENSOR_ATTRIBUTES. - - Return Value: - - None - ---*/ -{ - CRequestHelper MyRequest(FxRequest); // RAII helper class - ULONG controlCode = 0; - PUCHAR inputBuffer= NULL; - SIZE_T inputBufferSize = 0; - PWINBIO_SENSOR_ATTRIBUTES sensorAttributes = NULL; - SIZE_T outputBufferSize; - - // - // Get the request parameters - // - GetIoRequestParams(FxRequest, - &controlCode, - &inputBuffer, - &inputBufferSize, - (PUCHAR *)&sensorAttributes, - &outputBufferSize); - - // - // Make sure we have an output buffer big enough - // - if (sensorAttributes == NULL || outputBufferSize < sizeof(DWORD)) - { - // We cannot return size information. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Output buffer NULL or too small to return size information."); - MyRequest.SetCompletionHr(E_INVALIDARG); - return; - } - - // We only have one supported format, so sizeof (WINBIO_SENSOR_ATTRIBUTES) is sufficient. - if (outputBufferSize < sizeof(WINBIO_SENSOR_ATTRIBUTES)) - { - // Buffer too small. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Buffer too small - return size necessary in PayloadSize - 0x%x.", sizeof(WINBIO_SENSOR_ATTRIBUTES)); - sensorAttributes->PayloadSize = (DWORD) sizeof(WINBIO_SENSOR_ATTRIBUTES); - MyRequest.SetInformation(sizeof(DWORD)); - MyRequest.SetCompletionHr(S_OK); - return; - } - - // - // Fill in the attribute payload structure - // - RtlZeroMemory(sensorAttributes, outputBufferSize); - sensorAttributes->PayloadSize = (DWORD) sizeof(WINBIO_SENSOR_ATTRIBUTES); - sensorAttributes->WinBioHresult = S_OK; - sensorAttributes->WinBioVersion.MajorVersion = WINBIO_WBDI_MAJOR_VERSION; - sensorAttributes->WinBioVersion.MinorVersion = WINBIO_WBDI_MINOR_VERSION; - sensorAttributes->SensorType = WINBIO_TYPE_FINGERPRINT; - sensorAttributes->SensorSubType = WINBIO_FP_SENSOR_SUBTYPE_SWIPE; - sensorAttributes->Capabilities = WINBIO_CAPABILITY_SENSOR; - sensorAttributes->SupportedFormatEntries = 1; - sensorAttributes->SupportedFormat[0].Owner = WINBIO_ANSI_381_FORMAT_OWNER; - sensorAttributes->SupportedFormat[0].Type= WINBIO_ANSI_381_FORMAT_TYPE; - RtlCopyMemory(sensorAttributes->ManufacturerName, SAMPLE_MANUFACTURER_NAME, (wcslen(SAMPLE_MANUFACTURER_NAME)+1)*sizeof(WCHAR)); - RtlCopyMemory(sensorAttributes->ModelName, SAMPLE_MODEL_NAME, (wcslen(SAMPLE_MODEL_NAME)+1)*sizeof(WCHAR)); - RtlCopyMemory(sensorAttributes->SerialNumber, SAMPLE_SERIAL_NUMBER, (wcslen(SAMPLE_SERIAL_NUMBER)+1)*sizeof(WCHAR)); - sensorAttributes->FirmwareVersion.MajorVersion = 1; - sensorAttributes->FirmwareVersion.MinorVersion = 0; - - MyRequest.SetInformation(sensorAttributes->PayloadSize); - MyRequest.SetCompletionHr(S_OK); -} - - -void -CBiometricDevice::OnReset( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_RESET command is called. - - Arguments: - - FxRequest - - - Return Value: - - None - ---*/ -{ - CRequestHelper MyRequest(FxRequest); // RAII helper class - ULONG controlCode = 0; - PUCHAR inputBuffer= NULL; - SIZE_T inputBufferSize = 0; - PWINBIO_BLANK_PAYLOAD blankPayload = NULL; - SIZE_T outputBufferSize; - - // - // Get the request parameters - // - GetIoRequestParams(FxRequest, - &controlCode, - &inputBuffer, - &inputBufferSize, - (PUCHAR *)&blankPayload, - &outputBufferSize); - - // - // Make sure we have an output buffer big enough - // - if (blankPayload== NULL || outputBufferSize < sizeof(DWORD)) - { - // We cannot return size information. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Output buffer NULL or too small to return size information."); - MyRequest.SetInformation(sizeof(DWORD)); - MyRequest.SetCompletionHr(S_OK); - MyRequest.SetCompletionHr(E_INVALIDARG); - return; - } - - if (outputBufferSize < sizeof(WINBIO_BLANK_PAYLOAD)) - { - // Buffer too small. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Buffer too small - return size necessary in PayloadSize - 0x%x.", sizeof(WINBIO_DIAGNOSTICS)); - MyRequest.SetInformation(sizeof(DWORD)); - MyRequest.SetCompletionHr(S_OK); - return; - } - - // - // This is a simulated device. Nothing to do here except cancel the pending data - // collection I/O, if one exists. - // - CompletePendingRequest(HRESULT_FROM_WIN32(ERROR_CANCELLED), 0); - - // - // Fill in the OUT payload structure - // - RtlZeroMemory(blankPayload, outputBufferSize); - blankPayload->PayloadSize = (DWORD) sizeof(WINBIO_BLANK_PAYLOAD); - blankPayload->WinBioHresult = S_OK; - - FxRequest->SetInformation(blankPayload->PayloadSize); - MyRequest.SetCompletionHr(S_OK); - -} - -void -CBiometricDevice::OnCalibrate( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_CALIBRATE command is called. - - Arguments: - - FxRequest - - IN - blank payload - OUT - PWINBIO_CALIBRATION_INFO - - Return Value: - - None - ---*/ -{ - CRequestHelper MyRequest(FxRequest); // RAII helper class - ULONG controlCode = 0; - PUCHAR inputBuffer= NULL; - SIZE_T inputBufferSize = 0; - PWINBIO_CALIBRATION_INFO calibrationInfo = NULL; - SIZE_T outputBufferSize; - - // - // Get the request parameters - // - GetIoRequestParams(FxRequest, - &controlCode, - &inputBuffer, - &inputBufferSize, - (PUCHAR *)&calibrationInfo, - &outputBufferSize); - - // - // Make sure we have an output buffer big enough - // - if (calibrationInfo == NULL || outputBufferSize < sizeof(DWORD)) - { - // We cannot return size information. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Output buffer NULL or too small to return size information."); - MyRequest.SetCompletionHr(E_INVALIDARG); - return; - } - - if (outputBufferSize < sizeof(WINBIO_CALIBRATION_INFO)) - { - // Buffer too small. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Buffer too small - return size necessary in PayloadSize - 0x%x.", sizeof(WINBIO_DIAGNOSTICS)); - calibrationInfo->PayloadSize = (DWORD) sizeof(WINBIO_CALIBRATION_INFO); - MyRequest.SetInformation(sizeof(DWORD)); - MyRequest.SetCompletionHr(S_OK); - return; - } - - // - // This is where code to calibrate the device goes. - // - - // - // Fill in the OUT payload structure - // - RtlZeroMemory(calibrationInfo, outputBufferSize); - calibrationInfo->PayloadSize = (DWORD) sizeof(WINBIO_CALIBRATION_INFO); - calibrationInfo->WinBioHresult = S_OK; - - MyRequest.SetInformation(calibrationInfo->PayloadSize); - MyRequest.SetCompletionHr(S_OK); -} - - -void -CBiometricDevice::OnGetSensorStatus( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_GET_SENSOR_STATUS command is called. - - Arguments: - - FxRequest - - IN payload: none - OUT payload: PWINBIO_DIAGNOSTICS - - Return Value: - - None - ---*/ -{ - CRequestHelper MyRequest(FxRequest); // RAII helper class - ULONG controlCode = 0; - PUCHAR inputBuffer= NULL; - SIZE_T inputBufferSize = 0; - PWINBIO_DIAGNOSTICS diagnostics = NULL; - SIZE_T outputBufferSize; - - // - // Get the request parameters - // - GetIoRequestParams(FxRequest, - &controlCode, - &inputBuffer, - &inputBufferSize, - (PUCHAR *)&diagnostics, - &outputBufferSize); - - // - // Make sure we have an output buffer big enough - // - if (diagnostics == NULL || outputBufferSize < sizeof(DWORD)) - { - // We cannot return size information. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Output buffer NULL or too small to return size information."); - MyRequest.SetCompletionHr(E_INVALIDARG); - return; - } - - if (outputBufferSize < sizeof(WINBIO_DIAGNOSTICS)) - { - // Buffer too small. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Buffer too small - return size necessary in PayloadSize - 0x%x.", sizeof(WINBIO_DIAGNOSTICS)); - diagnostics->PayloadSize = (DWORD) sizeof(WINBIO_DIAGNOSTICS); - MyRequest.SetInformation(sizeof(DWORD)); - MyRequest.SetCompletionHr(S_OK); - return; - } - - // - // Fill in the OUT payload structure - // - RtlZeroMemory(diagnostics, outputBufferSize); - diagnostics->PayloadSize = (DWORD) sizeof(WINBIO_DIAGNOSTICS); - diagnostics->WinBioHresult = S_OK; - diagnostics->SensorStatus = WINBIO_SENSOR_READY; - - MyRequest.SetInformation(diagnostics->PayloadSize); - MyRequest.SetCompletionHr(S_OK); -} - - -void -CBiometricDevice::OnCaptureData( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_CAPTURE_DATA command is called. - - Arguments: - - FxRequest - - IN payload: PWINBIO_CAPTURE_PARAMETERS - OUT payload: PWINBIO_CAPTURE_DATA - - Return Value: - - None - ---*/ -{ - ULONG controlCode = 0; - PWINBIO_CAPTURE_PARAMETERS captureParams = NULL; - SIZE_T inputBufferSize = 0; - PWINBIO_CAPTURE_DATA captureData = NULL; - SIZE_T outputBufferSize = 0; - - // - // We can only have one outstanding data capture request at a time. - // Check to see if we have a request pending. - // - bool requestPending = false; - - EnterCriticalSection(&m_RequestLock); - - if (m_PendingRequest == NULL) - { - // - // See if we have an active sleep thread. - // If so, tell it to exit. - // Wait for it to exit. - // - if (m_SleepThread != INVALID_HANDLE_VALUE) - { - LeaveCriticalSection(&m_RequestLock); - - // TODO: Add code to signal thread to exit. - - // NOTE: Sleeping for INFINITE time is dangerous. A real driver - // should be able to handle the case where the thread does - // not exit. - WaitForSingleObject(m_SleepThread, INFINITE); - CloseHandle(m_SleepThread); - m_SleepThread = INVALID_HANDLE_VALUE; - - EnterCriticalSection(&m_RequestLock); - } - - // - // We might have had to leave the CS to wait for the sleep thread. - // Double check that the pending request is still NULL. - // - if (m_PendingRequest == NULL) - { - // Save the request. - m_PendingRequest = FxRequest; - - // Mark the request as cancellable. - m_PendingRequest->MarkCancelable(this); - } - else - { - requestPending = true; - } - - } - else - { - requestPending = true; - } - - LeaveCriticalSection(&m_RequestLock); - - if (requestPending) - { - // Complete the request to tell the app that there is already - // a pending data collection request. - FxRequest->Complete(WINBIO_E_DATA_COLLECTION_IN_PROGRESS); - return; - } - - // - // Get the request parameters - // - GetIoRequestParams(FxRequest, - &controlCode, - (PUCHAR *)&captureParams, - &inputBufferSize, - (PUCHAR *)&captureData, - &outputBufferSize); - - // - // Check input parameters. - // - if (inputBufferSize < sizeof (WINBIO_CAPTURE_PARAMETERS)) - { - // Invalid arguments - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Invalid argument(s)."); - CompletePendingRequest(E_INVALIDARG, 0); - return; - } - - // - // Make sure we have an output buffer big enough - // - if (outputBufferSize < sizeof(DWORD)) - { - // We cannot return size information. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Output buffer NULL or too small to return size information."); - CompletePendingRequest(E_INVALIDARG, 0); - return; - } - - // - // Check output buffer size. - // - if (outputBufferSize < sizeof (WINBIO_CAPTURE_DATA)) - { - // Buffer too small. - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC!Buffer too small - must be at least 0x%x.", sizeof (WINBIO_CAPTURE_DATA)); - // - // NOTE: The output buffer size necessary for this sample is sizeof(WINBIO_CAPTURE_DATA). - // Real devices will need additional space to handle a typical capture. - // The value that should be returned here is sizeof(WINBIO_CAPTURE_DATA) + CaptureBufferSize. - // - captureData->PayloadSize = (DWORD) sizeof(WINBIO_CAPTURE_DATA); - CompletePendingRequest(S_OK, sizeof(DWORD)); - return; - } - - // - // NOTE: This call always fails in this sample since it is not - // written for a real device. - // - - // - // Set default values in output buffer. - // - captureData->PayloadSize = (DWORD) sizeof (WINBIO_CAPTURE_DATA); - captureData->WinBioHresult = WINBIO_E_NO_CAPTURE_DATA; - captureData->SensorStatus = WINBIO_SENSOR_FAILURE; - captureData->RejectDetail= 0; - captureData->CaptureData.Size = 0; - - // - // Check purpose, format and type. - // - if (captureParams->Purpose == WINBIO_NO_PURPOSE_AVAILABLE) - { - captureData->WinBioHresult = WINBIO_E_UNSUPPORTED_PURPOSE; - } - else if ((captureParams->Format.Type != WINBIO_ANSI_381_FORMAT_TYPE) || - (captureParams->Format.Owner != WINBIO_ANSI_381_FORMAT_OWNER)) - { - captureData->WinBioHresult = WINBIO_E_UNSUPPORTED_DATA_FORMAT; - } - else if (captureParams->Flags != WINBIO_DATA_FLAG_RAW) - { - captureData->WinBioHresult = WINBIO_E_UNSUPPORTED_DATA_TYPE; - } - - // - // NOTE: This sample completes the request after - // sleeping for 5 seconds. A real driver would - // program the device for capture mode, and then - // return from this callback. The request would - // remain pending until cancelled, or until the - // driver detects a capture is complete. - // - // The construct of m_PendingRequest will allow - // a driver to have only one pending request at any - // time, which can be cancelled in a Reset IOCTL, or - // by calling CancelIoEx. - // - - // - // Create thread to sleep 5 seconds before completing the request. - // - m_SleepParams.SleepValue = 5; - m_SleepParams.Hr = S_OK; - m_SleepParams.Information = captureData->PayloadSize; - m_SleepThread = CreateThread(NULL, // default security attributes - 0, // use default stack size - CaptureSleepThread, // thread function name - this, // argument to thread function - 0, // use default creation flags - NULL); // returns the thread identifier -} - - -void -CBiometricDevice::OnUpdateFirmware( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_UPDATE_FIRMWARE command is called. - - Arguments: - - FxRequest - - - Return Value: - - None - ---*/ -{ - FxRequest->Complete(E_NOTIMPL); -} - -void -CBiometricDevice::OnGetSupportedAlgorithms( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS command is called. - - Arguments: - - FxRequest - - - Return Value: - - None - ---*/ -{ - FxRequest->Complete(E_NOTIMPL); -} - -void -CBiometricDevice::OnGetIndicator( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_GET_INDICATOR command is called. - - Arguments: - - FxRequest - - - Return Value: - - None - ---*/ -{ - FxRequest->Complete(E_NOTIMPL); -} - - -void -CBiometricDevice::OnSetIndicator( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_SET_INDICATOR command is called. - - Arguments: - - FxRequest - - - Return Value: - - None - ---*/ -{ - FxRequest->Complete(E_NOTIMPL); -} - -void -CBiometricDevice::OnControlUnit( - _Inout_ IWDFIoRequest *FxRequest - ) -/*++ - - Routine Description: - - This method is invoked when the IOCTL_BIOMETRIC_CONTROL_UNIT command is called. - - Arguments: - - FxRequest - - - Return Value: - - None - ---*/ -{ - FxRequest->Complete(E_NOTIMPL); -} - - -VOID -CBiometricDevice::CompletePendingRequest( - HRESULT hr, - DWORD information - ) -{ - EnterCriticalSection(&m_RequestLock); - - if (m_PendingRequest) - { - // - // Only complete the request if we weren't cancelled. Otherwise, the - // OnCancel callback will complete the request. - // - HRESULT hrUnmark = m_PendingRequest->UnmarkCancelable(); - if (HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED) != hrUnmark) - { - m_PendingRequest->SetInformation(information); - m_PendingRequest->Complete(hr); - m_PendingRequest = NULL; - } - } - - LeaveCriticalSection(&m_RequestLock); -} - -VOID -STDMETHODCALLTYPE -CBiometricDevice::OnCancel( - _In_ IWDFIoRequest *pWdfRequest - ) -{ - EnterCriticalSection(&m_RequestLock); - - if (m_PendingRequest != pWdfRequest) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Cancelled request does not match pending request."); - } - - // - // TODO: In a real driver, the device would be reset so that it is no longer in capture mode. - // Add your code to do so here. - // - - if (m_PendingRequest == NULL) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_DEVICE, - "%!FUNC! Pending request is NULL."); - } - else - { - m_PendingRequest->Complete(HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED)); - m_PendingRequest = NULL; - } - - LeaveCriticalSection(&m_RequestLock); -} diff --git a/biometrics/driver/Device.h b/biometrics/driver/Device.h deleted file mode 100644 index 69094325..00000000 --- a/biometrics/driver/Device.h +++ /dev/null @@ -1,360 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Device.h - -Abstract: - - This module contains the type definitions of the Biometric - device driver. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#pragma once - -// -// TODO: Change this to match your device -// -#define NUM_WBDI_ENDPOINTS 3 - -// -// Power policy suspend delay time. 10 seconds. -// -#define WBDI_SUSPEND_DELAY ((ULONG)(10 * 1000)) - -// -// Struct for passing parameters for capture request completion. -// -typedef struct _CAPTURE_SLEEP_PARAMS -{ - DWORD SleepValue; - HRESULT Hr; - DWORD Information; -} CAPTURE_SLEEP_PARAMS, *PCAPTURE_SLEEP_PARAMS; - - -// -// Class for the Biometric driver. -// - -class CBiometricDevice : - public CComObjectRootEx, - public IRequestCallbackRequestCompletion, - public IRequestCallbackCancel, - public IPnpCallbackHardware -{ -public: - - DECLARE_NOT_AGGREGATABLE(CBiometricDevice) - - BEGIN_COM_MAP(CBiometricDevice) - COM_INTERFACE_ENTRY(IPnpCallbackHardware) - COM_INTERFACE_ENTRY(IRequestCallbackRequestCompletion) - COM_INTERFACE_ENTRY(IRequestCallbackCancel) - END_COM_MAP() - - CBiometricDevice() : - m_FxDevice(NULL), - m_IoQueue(NULL), - m_pIUsbTargetDevice(NULL), - m_pIUsbInterface(NULL), - m_pIUsbInputPipe(NULL), - m_pIUsbOutputPipe(NULL), - m_pIUsbInterruptPipe(NULL), - m_PendingRequest(NULL), - m_Speed(0), - m_InterruptReadProblem(S_OK), - m_SleepThread(INVALID_HANDLE_VALUE) - { - InitializeCriticalSection(&m_RequestLock); - } - - ~CBiometricDevice() - { - DeleteCriticalSection(&m_RequestLock); - } - -// -// Private data members. -// -private: - - // - // Weak reference to framework device object. - // - IWDFDevice * m_FxDevice; - - // - // Weak reference to I/O queue - // - PCBiometricIoQueue m_IoQueue; - - // - // USB Device I/O Target - // - IWDFUsbTargetDevice * m_pIUsbTargetDevice; - - // - // USB Interface - // - IWDFUsbInterface * m_pIUsbInterface; - - // - // USB Input pipe for Reads - // - IWDFUsbTargetPipe * m_pIUsbInputPipe; - - // - // USB Output pipe for writes - // - IWDFUsbTargetPipe * m_pIUsbOutputPipe; - - // - // USB interrupt pipe - // - IWDFUsbTargetPipe * m_pIUsbInterruptPipe; - - // - // Device Speed (Low, Full, High) - // - UCHAR m_Speed; - - // - // If reads stopped because of a transient problem, the error status - // is stored here. - // - - HRESULT m_InterruptReadProblem; - - // - // Interrupt message buffer - // - - INTERRUPT_MESSAGE m_InterruptMessage; - - // - // Holds a reference to a pending data I/O request. - // - - IWDFIoRequest *m_PendingRequest; - - // - // Synchronization for m_PendingRequest - // - - CRITICAL_SECTION m_RequestLock; - - // - // Handle to a thread that will sleep before completing a request. - // - HANDLE m_SleepThread; - CAPTURE_SLEEP_PARAMS m_SleepParams; - -// -// Private methods. -// -private: - - HRESULT - Initialize( - _In_ IWDFDriver *FxDriver, - _In_ IWDFDeviceInitialize *FxDeviceInit - ); - - // - // Helper methods - // - - HRESULT - CreateUsbIoTargets( - VOID - ); - - HRESULT - SetPowerManagement( - VOID - ); - - // - // Helper functions - // - - HRESULT - SendControlTransferSynchronously( - _In_ PWINUSB_SETUP_PACKET SetupPacket, - _Inout_updates_(BufferLength) PBYTE Buffer, - _In_ ULONG BufferLength, - _Out_ PULONG LengthTransferred - ); - - static - WDF_IO_TARGET_STATE - GetTargetState( - IWDFIoTarget * pTarget - ); - - HRESULT - InitiatePendingRead( - ); - -// -// Public methods -// -public: - - // - // The factory method used to create an instance of this driver. - // - - static - HRESULT - CreateInstanceAndInitialize( - _In_ IWDFDriver *FxDriver, - _In_ IWDFDeviceInitialize *FxDeviceInit, - _Out_ CBiometricDevice **Device - ); - - HRESULT - Configure( - VOID - ); - -// -// COM methods -// -public: - - // - // IPnpCallbackHardware - // - - virtual - HRESULT - STDMETHODCALLTYPE - OnPrepareHardware( - _In_ IWDFDevice *FxDevice - ); - - virtual - HRESULT - STDMETHODCALLTYPE - OnReleaseHardware( - _In_ IWDFDevice *FxDevice - ); - - - // - // IRequestCallbackRequestCompletion - // - virtual - void - STDMETHODCALLTYPE - OnCompletion( - _In_ IWDFIoRequest* FxRequest, - _In_ IWDFIoTarget* pIoTarget, - _In_ IWDFRequestCompletionParams* pParams, - _In_ PVOID pContext - ); - - // - // IRequestCallbackCancel - // - virtual - VOID - STDMETHODCALLTYPE - OnCancel( - _In_ IWDFIoRequest *pWdfRequest - ); - -public: - - // - // I/O handlers. - // - void - GetIoRequestParams( - _In_ IWDFIoRequest *FxRequest, - _Out_ ULONG *MajorControlCode, - _Outptr_result_bytebuffer_(*InputBufferSizeInBytes) PUCHAR *InputBuffer, - _Out_ SIZE_T *InputBufferSizeInBytes, - _Outptr_result_bytebuffer_(*OutputBufferSizeInBytes) PUCHAR *OutputBuffer, - _Out_ SIZE_T *OutputBufferSizeInBytes - ); - - void - OnGetAttributes( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnReset( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnCalibrate( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnGetSensorStatus( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnCaptureData( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnUpdateFirmware( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnGetSupportedAlgorithms( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnGetIndicator( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnSetIndicator( - _Inout_ IWDFIoRequest *FxRequest - ); - - void - OnControlUnit( - _Inout_ IWDFIoRequest *FxRequest - ); - - VOID - CompletePendingRequest( - HRESULT hr, - DWORD information - ); - - inline PCAPTURE_SLEEP_PARAMS - GetCaptureSleepParams() - { - return &m_SleepParams; - } - -}; - - diff --git a/biometrics/driver/Driver.cpp b/biometrics/driver/Driver.cpp deleted file mode 100644 index 0d5c0797..00000000 --- a/biometrics/driver/Driver.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Driver.cpp - -Abstract: - - This module contains the implementation of the Biometric - core driver callback object. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#include "internal.h" -#include "driver.tmh" - -HRESULT -CBiometricDriver::OnDeviceAdd( - _In_ IWDFDriver *FxWdfDriver, - _In_ IWDFDeviceInitialize *FxDeviceInit - ) -/*++ - - Routine Description: - - The FX invokes this method when it wants to install our driver on a device - stack. This method creates a device callback object, then calls the Fx - to create an Fx device object and associate the new callback object with - it. - - Arguments: - - FxWdfDriver - the Fx driver object. - - FxDeviceInit - the initialization information for the device. - - Return Value: - - status - ---*/ -{ - HRESULT hr = S_OK; - CBiometricDevice *device = NULL; - - // - // Create device callback object - // - - hr = CBiometricDevice::CreateInstanceAndInitialize(FxWdfDriver, - FxDeviceInit, - &device); - - // - // Call the device's construct method. This - // allows the device to create any queues or other structures that it - // needs now that the corresponding fx device object has been created. - // - - if (SUCCEEDED(hr)) - { - hr = device->Configure(); - } - - return hr; -} diff --git a/biometrics/driver/Driver.h b/biometrics/driver/Driver.h deleted file mode 100644 index 0fc2566a..00000000 --- a/biometrics/driver/Driver.h +++ /dev/null @@ -1,95 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Driver.h - -Abstract: - - This module contains the type definitions for the Biometric - driver callback class. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#pragma once - -// -// This class handles driver events for the skeleton sample. In particular -// it supports the OnDeviceAdd event, which occurs when the driver is called -// to setup per-device handlers for a new device stack. -// - -EXTERN_C const CLSID CLSID_BiometricUsbSample; - -class CBiometricDriver : - public CComObjectRootEx, - public CComCoClass, - public IDriverEntry -{ -public: - - CBiometricDriver() - { - } - - DECLARE_NO_REGISTRY() - - DECLARE_NOT_AGGREGATABLE(CBiometricDriver) - - BEGIN_COM_MAP(CBiometricDriver) - COM_INTERFACE_ENTRY(IDriverEntry) - END_COM_MAP() - -// -// Public methods -// -public: - - // - // IDriverEntry methods - // - - virtual - HRESULT - STDMETHODCALLTYPE - OnInitialize( - _In_ IWDFDriver *FxWdfDriver - ) - { - UNREFERENCED_PARAMETER(FxWdfDriver); - return S_OK; - } - - virtual - HRESULT - STDMETHODCALLTYPE - OnDeviceAdd( - _In_ IWDFDriver *FxWdfDriver, - _In_ IWDFDeviceInitialize *FxDeviceInit - ); - - virtual - VOID - STDMETHODCALLTYPE - OnDeinitialize( - _In_ IWDFDriver *FxWdfDriver - ) - { - UNREFERENCED_PARAMETER(FxWdfDriver); - return; - } - -}; - -OBJECT_ENTRY_AUTO(CLSID_BiometricUsbSample, CBiometricDriver) diff --git a/biometrics/driver/Internalsrc.cpp b/biometrics/driver/Internalsrc.cpp deleted file mode 100644 index 1e8fe6f2..00000000 --- a/biometrics/driver/Internalsrc.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "Internal.h" \ No newline at end of file diff --git a/biometrics/driver/IoQueue.cpp b/biometrics/driver/IoQueue.cpp deleted file mode 100644 index ce8837d9..00000000 --- a/biometrics/driver/IoQueue.cpp +++ /dev/null @@ -1,297 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - IoQueue.cpp - -Abstract: - - This file implements the I/O queue interface and performs - the ioctl operations. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#include "internal.h" -#include "ioqueue.tmh" - - -HRESULT -CBiometricIoQueue::CreateInstanceAndInitialize( - _In_ IWDFDevice *FxDevice, - _In_ CBiometricDevice *BiometricDevice, - _Out_ CBiometricIoQueue** Queue - ) -/*++ - -Routine Description: - - CreateInstanceAndInitialize creates an instance of the queue object. - -Arguments: - - -Return Value: - - HRESULT indicating success or failure - ---*/ -{ - // - // Create a new instance of the device class - // - CComObject *pMyQueue = NULL; - HRESULT hr = CComObject::CreateInstance( &pMyQueue ); - - if (SUCCEEDED(hr)) { - - // - // Initialize the instance. - // - - if (NULL != pMyQueue) - { - hr = pMyQueue->Initialize(FxDevice, BiometricDevice); - } - - *Queue = pMyQueue; - - } - - return hr; -} - -HRESULT -CBiometricIoQueue::Initialize( - _In_ IWDFDevice *FxDevice, - _In_ CBiometricDevice *BiometricDevice - ) -/*++ - -Routine Description: - - Initialize creates a framework queue and sets up I/O for the queue object. - -Arguments: - - FxDevice - Framework device associated with this queue. - - BiometricDevice - Pointer to the Biometric device class object. - -Return Value: - - HRESULT indicating success or failure - ---*/ -{ - IWDFIoQueue *fxQueue = NULL; - HRESULT hr = S_OK; - IUnknown *unknown = NULL; - - // - // Make sure we have valid parameters. - // - if (FxDevice == NULL) { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_QUEUE, - "%!FUNC!Pointer to framework device object is NULL."); - return (E_INVALIDARG); - } - if (BiometricDevice == NULL) { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_QUEUE, - "%!FUNC!Pointer to Biometric device is NULL."); - return (E_INVALIDARG); - } - - // - // Create the framework queue - // - - if (SUCCEEDED(hr)) - { - hr = this->QueryInterface(__uuidof(IUnknown), (void **)&unknown); - - } - - if (SUCCEEDED(hr)) - { - hr = FxDevice->CreateIoQueue(unknown, - FALSE, // Default Queue? - WdfIoQueueDispatchParallel, // Dispatch type - FALSE, // Power managed? - FALSE, // Allow zero-length requests? - &fxQueue); // I/O queue - BiometricSafeRelease(unknown); - } - - if (FAILED(hr)) - { - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_QUEUE, - "%!FUNC!Failed to create framework queue."); - return hr; - } - - // - // Configure this queue to filter all Device I/O requests. - // - hr = FxDevice->ConfigureRequestDispatching(fxQueue, - WdfRequestDeviceIoControl, - TRUE); - - if (SUCCEEDED(hr)) - { - m_FxQueue = fxQueue; - m_BiometricDevice= BiometricDevice; - } - - // - // Safe to release here. The framework keeps a reference to the Queue - // for the lifetime of the device. - // - BiometricSafeRelease(fxQueue); - - return hr; -} - -VOID -STDMETHODCALLTYPE -CBiometricIoQueue::OnDeviceIoControl( - _In_ IWDFIoQueue *FxQueue, - _In_ IWDFIoRequest *FxRequest, - _In_ ULONG ControlCode, - _In_ SIZE_T InputBufferSizeInBytes, - _In_ SIZE_T OutputBufferSizeInBytes - ) -/*++ - -Routine Description: - - - DeviceIoControl dispatch routine - -Aruments: - - FxQueue - Framework Queue instance - FxRequest - Framework Request instance - ControlCode - IO Control Code - InputBufferSizeInBytes - Lenth of input buffer - OutputBufferSizeInBytes - Lenth of output buffer - - Always succeeds DeviceIoIoctl -Return Value: - - VOID - ---*/ -{ - UNREFERENCED_PARAMETER(FxQueue); - UNREFERENCED_PARAMETER(InputBufferSizeInBytes); - UNREFERENCED_PARAMETER(OutputBufferSizeInBytes); - - if (m_BiometricDevice == NULL) { - // We don't have pointer to device object - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_QUEUE, - "%!FUNC!NULL pointer to device object."); - FxRequest->Complete(E_POINTER); - return; - } - - // - // Process the IOCTLs - // - - switch (ControlCode) { - - // - // Mandatory IOCTLs - // - case IOCTL_BIOMETRIC_GET_ATTRIBUTES: - m_BiometricDevice->OnGetAttributes(FxRequest); - break; - - case IOCTL_BIOMETRIC_RESET: - m_BiometricDevice->OnReset(FxRequest); - break; - - case IOCTL_BIOMETRIC_CALIBRATE: - m_BiometricDevice->OnCalibrate(FxRequest); - break; - - case IOCTL_BIOMETRIC_GET_SENSOR_STATUS: - m_BiometricDevice->OnGetSensorStatus(FxRequest); - break; - - case IOCTL_BIOMETRIC_CAPTURE_DATA: - m_BiometricDevice->OnCaptureData(FxRequest); - break; - - // - // Optional IOCTLs - // - case IOCTL_BIOMETRIC_UPDATE_FIRMWARE: - m_BiometricDevice->OnUpdateFirmware(FxRequest); - break; - - case IOCTL_BIOMETRIC_GET_SUPPORTED_ALGORITHMS: - m_BiometricDevice->OnGetSupportedAlgorithms(FxRequest); - break; - - case IOCTL_BIOMETRIC_GET_INDICATOR: - m_BiometricDevice->OnGetIndicator(FxRequest); - break; - - case IOCTL_BIOMETRIC_SET_INDICATOR: - m_BiometricDevice->OnSetIndicator(FxRequest); - break; - - default: - - // - // First check to see if this is for a BIOMETRIC file. - // - if ((ControlCode & CTL_CODE(0xFFFFFFFF, 0, 0, 0)) == CTL_CODE(FILE_DEVICE_BIOMETRIC, 0, 0, 0)) { - - if ((ControlCode & IOCTL_BIOMETRIC_VENDOR) == IOCTL_BIOMETRIC_VENDOR) { - // This is a vendor IOCTL. - m_BiometricDevice->OnControlUnit(FxRequest); - break; - } - - } else { - - // This is a legacy IOCTL - non-Windows Biometric Framework - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_QUEUE, - "%!FUNC!Legacy control units not supported by the driver."); - - } - - // - // Didn't match any of the above. - // - TraceEvents(TRACE_LEVEL_ERROR, - BIOMETRIC_TRACE_QUEUE, - "%!FUNC! Unsupported IOCTL - 0x%x.", - ControlCode); - FxRequest->Complete(HRESULT_FROM_WIN32(ERROR_INVALID_FUNCTION)); - break; - - } - - return; - -} - diff --git a/biometrics/driver/IoQueue.h b/biometrics/driver/IoQueue.h deleted file mode 100644 index 1a68416b..00000000 --- a/biometrics/driver/IoQueue.h +++ /dev/null @@ -1,123 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - IoQueue.h - -Abstract: - - This file defines the queue callback interface. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#pragma once - -// -// Queue Callback Object. -// - -class CBiometricIoQueue : - public CComObjectRootEx, - public IQueueCallbackDeviceIoControl -{ - -public: - - DECLARE_NOT_AGGREGATABLE(CBiometricIoQueue) - - BEGIN_COM_MAP(CBiometricIoQueue) - COM_INTERFACE_ENTRY(IQueueCallbackDeviceIoControl) - END_COM_MAP() - - CBiometricIoQueue() : - m_FxQueue(NULL), - m_BiometricDevice(NULL) - { - } - - ~CBiometricIoQueue() - { - // empty - } - - HRESULT - Initialize( - _In_ IWDFDevice *FxDevice, - _In_ CBiometricDevice *BiometricDevice - ); - - static - HRESULT - CreateInstanceAndInitialize( - _In_ IWDFDevice *FxDevice, - _In_ CBiometricDevice *BiometricDevice, - _Out_ CBiometricIoQueue** Queue - ); - - HRESULT - Configure( - VOID - ) - { - return S_OK; - } - - VOID - Start( - ) - { - m_FxQueue->Start(); - } - - VOID - StopSynchronously( - ) - { - m_FxQueue->StopSynchronously(); - } - - // - // Wdf Callbacks - // - - // - // IQueueCallbackDeviceIoControl - // - virtual - VOID - STDMETHODCALLTYPE - OnDeviceIoControl( - _In_ IWDFIoQueue *pWdfQueue, - _In_ IWDFIoRequest *pWdfRequest, - _In_ ULONG ControlCode, - _In_ SIZE_T InputBufferSizeInBytes, - _In_ SIZE_T OutputBufferSizeInBytes - ); - -// -// Private member variables. -// -private: - - // - // Weak reference to framework queue object. - // - IWDFIoQueue * m_FxQueue; - - // - // Pointer to device class. - // - CBiometricDevice * m_BiometricDevice; - -}; diff --git a/biometrics/driver/RequestHelper.h b/biometrics/driver/RequestHelper.h deleted file mode 100644 index 89a8747c..00000000 --- a/biometrics/driver/RequestHelper.h +++ /dev/null @@ -1,89 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - RequestHelper.h - -Abstract: - - This module contains the class definition and implementation - of an RAII Request object helper class. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#pragma once - -// -// This class handles RAII for IWdfIoRequest pointers. -// A function can declare this class at the beginning, and -// set the HRESULT for the request completion. -// -// The destructor is always called on function exit. -// It will complete the request only if the HRESULT -// is something besides HRESULT_FROM_WIN32(ERROR_IO_PENDING) -// -// If the function does not want to complete the request, -// it should not call SetCompletionHr. Then the request -// will remain pending. -// - -class CRequestHelper -{ - -// -// Public methods -// -public: - - CRequestHelper( - IWDFIoRequest *FxRequest - ) - { - m_Request = FxRequest; - m_Hr = HRESULT_FROM_WIN32(ERROR_IO_PENDING); - } - - ~CRequestHelper() - { - if (m_Hr != HRESULT_FROM_WIN32(ERROR_IO_PENDING)) - { - m_Request->Complete(m_Hr); - } - } - - void - SetCompletionHr( - HRESULT Hr - ) - { - m_Hr = Hr; - } - - void - SetInformation( - SIZE_T Information - ) - { - m_Request->SetInformation(Information); - } - -// -// Private members -// -private: - - IWDFIoRequest * m_Request; - HRESULT m_Hr; - -}; diff --git a/biometrics/driver/WudfBioUsbSample.inx b/biometrics/driver/WudfBioUsbSample.inx deleted file mode 100644 index 71f9277b..00000000 Binary files a/biometrics/driver/WudfBioUsbSample.inx and /dev/null differ diff --git a/biometrics/driver/WudfBioUsbSample.vcxproj b/biometrics/driver/WudfBioUsbSample.vcxproj deleted file mode 100644 index d2e16ca5..00000000 --- a/biometrics/driver/WudfBioUsbSample.vcxproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {474A1976-0414-48E7-9F2B-4FDED5BA700C} - $(MSBuildProjectName) - 1 - 1 - false - true - Debug - Win32 - {446E3007-2D5F-41DF-80D9-3B5FD3ACBF57} - - - - Windows10 - False - Desktop - UMDF - WindowsUserModeDriver10.0 - DynamicLibrary - - - Windows10 - True - Desktop - UMDF - WindowsUserModeDriver10.0 - DynamicLibrary - - - Windows10 - False - Desktop - UMDF - WindowsUserModeDriver10.0 - DynamicLibrary - - - Windows10 - True - Desktop - UMDF - WindowsUserModeDriver10.0 - DynamicLibrary - - - - $(IntDir) - - - - - - - - - - - - - - - - true - true - internal.h - ;%(AdditionalIncludeDirectories) - Internal.h - Use - $(IntDir)\Internal.h.pch - - - true - true - internal.h - ;%(AdditionalIncludeDirectories) - Internal.h - Use - $(IntDir)\Internal.h.pch - - - true - true - internal.h - ;%(AdditionalIncludeDirectories) - Internal.h - Use - $(IntDir)\Internal.h.pch - - - true - true - internal.h - ;%(AdditionalIncludeDirectories) - Internal.h - Use - $(IntDir)\Internal.h.pch - - - $(InfArch) - true - .\$(IntDir)\WudfBioUsbSample.inf - - - true - true - internal.h - - - - WudfBioUsbSample - 0x0A00 - 0x0A000000 - Dynamic - - - WudfBioUsbSample - 0x0A00 - 0x0A000000 - Dynamic - - - WudfBioUsbSample - 0x0A00 - 0x0A000000 - Dynamic - - - WudfBioUsbSample - 0x0A00 - 0x0A000000 - Dynamic - - - - true - Level4 - %(DisableSpecificWarnings);4201 - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - %(DisableSpecificWarnings);4201 - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - %(DisableSpecificWarnings);4201 - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - true - Level4 - %(DisableSpecificWarnings);4201 - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - %(PreprocessorDefinitions);_UNICODE;UNICODE - - - _DllMainCRTStartup@12 - _DllMainCRTStartup - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib - exports.def - - - sha256 - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib - exports.def - - - sha256 - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib - exports.def - - - sha256 - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - - - %(AdditionalIncludeDirectories);inc;$(DDK_INC_PATH) - - - %(AdditionalDependencies);advapi32.lib;kernel32.lib;ole32.lib;oleaut32.lib;strsafe.lib;user32.lib;uuid.lib - exports.def - - - sha256 - - - - - ;%(AdditionalIncludeDirectories) - Internal.h - Create - $(IntDir)\Internal.h.pch - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/biometrics/driver/WudfBioUsbSample.vcxproj.Filters b/biometrics/driver/WudfBioUsbSample.vcxproj.Filters deleted file mode 100644 index f4bbd976..00000000 --- a/biometrics/driver/WudfBioUsbSample.vcxproj.Filters +++ /dev/null @@ -1,73 +0,0 @@ - - - - - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;* - {E6E929B2-2CDF-41CF-9E24-FC00BD508586} - - - h;hpp;hxx;hm;inl;inc;xsd - {4197754B-41E9-46E9-BB6C-32A9FD55F25C} - - - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml - {216999F8-06DE-407C-B349-8709AD141CCF} - - - inf;inv;inx;mof;mc; - {41FD81A3-D683-4D3C-91BE-D00EB56515FE} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Driver Files - - - - - Resource Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - \ No newline at end of file diff --git a/biometrics/driver/dllsup.cpp b/biometrics/driver/dllsup.cpp deleted file mode 100644 index 8030a1c0..00000000 --- a/biometrics/driver/dllsup.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Dllsup.cpp - -Abstract: - - This module contains the implementation of the Driver DLL entry point. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#include "internal.h" -#include "dllsup.tmh" - -// -// TODO - define a new GUID here -// This GUID goes in the inf file in the DriverCLSID value for the service binary -// {F1CB3C15-A916-47bc-BEA1-D5D4163BC6AE} -// -const CLSID CLSID_BiometricUsbSample = -{ 0xf1cb3c15, 0xa916, 0x47bc, { 0xbe, 0xa1, 0xd5, 0xd4, 0x16, 0x3b, 0xc6, 0xae } }; - - - -HINSTANCE g_hInstance = NULL; - -class CBiometricDriverModule : - public CAtlDllModuleT< CBiometricDriverModule > -{ -}; - -CBiometricDriverModule _AtlModule; - -// -// DLL Entry Point -// - -extern "C" -BOOL -WINAPI -DllMain( - HINSTANCE hInstance, - DWORD dwReason, - LPVOID lpReserved - ) -{ - if (dwReason == DLL_PROCESS_ATTACH) { - WPP_INIT_TRACING(MYDRIVER_TRACING_ID); - - g_hInstance = hInstance; - DisableThreadLibraryCalls(hInstance); - - } else if (dwReason == DLL_PROCESS_DETACH) { - WPP_CLEANUP(); - } - - return _AtlModule.DllMain(dwReason, lpReserved); -} - - -// -// Returns a class factory to create an object of the requested type -// - -STDAPI -DllGetClassObject( - _In_ REFCLSID rclsid, - _In_ REFIID riid, - _Outptr_ LPVOID FAR* ppv - ) -{ - return _AtlModule.DllGetClassObject(rclsid, riid, ppv); -} - - diff --git a/biometrics/driver/exports.def b/biometrics/driver/exports.def deleted file mode 100644 index 37b13622..00000000 --- a/biometrics/driver/exports.def +++ /dev/null @@ -1,10 +0,0 @@ -; Exports.def : Declares the module parameters. - -; -; TODO: Change the library name here to match your binary name. -; - -LIBRARY "WudfBioUsbSample.DLL" - -EXPORTS - DllGetClassObject PRIVATE diff --git a/biometrics/driver/inc/public.h b/biometrics/driver/inc/public.h deleted file mode 100644 index 11a7e8fa..00000000 --- a/biometrics/driver/inc/public.h +++ /dev/null @@ -1,42 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - public.h - -Abstract: - - Public definitions for the Biometric Device. - -Environment: - - User & Kernel mode - ---*/ - -#ifndef _PUBLIC_H -#define _PUBLIC_H - -#include - -// -// INTERRUPT_MESSAGE -// - -typedef struct _INTERRUPT_MESSAGE -{ - - // - // TODO: Fill this in with your device specific fields. - // - -} INTERRUPT_MESSAGE, *PINTERRUPT_MESSAGE; - -#endif diff --git a/biometrics/driver/inc/usb_hw.h b/biometrics/driver/inc/usb_hw.h deleted file mode 100644 index 299e7a02..00000000 --- a/biometrics/driver/inc/usb_hw.h +++ /dev/null @@ -1,238 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Usb.h - -Abstract: - - Contains prototypes for interfacing with a USB connected device. These - are copied from the KMDF WDFUSB.H header file (but with the WDF specific - portions removed) - -Environment: - - kernel mode only - ---*/ - -#pragma once - -typedef enum _WINUSB_BMREQUEST_DIRECTION { - BmRequestHostToDevice = BMREQUEST_HOST_TO_DEVICE, - BmRequestDeviceToHost = BMREQUEST_DEVICE_TO_HOST, -} WINUSB_BMREQUEST_DIRECTION; - -typedef enum _WINUSB_BMREQUEST_TYPE { - BmRequestStandard = BMREQUEST_STANDARD, - BmRequestClass = BMREQUEST_CLASS, - BmRequestVendor = BMREQUEST_VENDOR, -} WINUSB_BMREQUEST_TYPE; - -typedef enum _WINUSB_BMREQUEST_RECIPIENT { - BmRequestToDevice = BMREQUEST_TO_DEVICE, - BmRequestToInterface = BMREQUEST_TO_INTERFACE, - BmRequestToEndpoint = BMREQUEST_TO_ENDPOINT, - BmRequestToOther = BMREQUEST_TO_OTHER, -} WINUSB_BMREQUEST_RECIPIENT; - -typedef enum _WINUSB_DEVICE_TRAITS { - WINUSB_DEVICE_TRAIT_SELF_POWERED = 0x00000001, - WINUSB_DEVICE_TRAIT_REMOTE_WAKE_CAPABLE = 0x00000002, - WINUSB_DEVICE_TRAIT_AT_HIGH_SPEED = 0x00000004, -} WINUSB_DEVICE_TRAITS; - -typedef enum _WdfUsbTargetDeviceSelectInterfaceType { - WdfUsbTargetDeviceSelectInterfaceTypeInterface = 0x10, - WdfUsbTargetDeviceSelectInterfaceTypeUrb = 0x11, -} WdfUsbTargetDeviceSelectInterfaceType; - - - -typedef union _WINUSB_CONTROL_SETUP_PACKET { - struct { - union { - #pragma warning(disable:4214) // bit field types other than int - struct { - // - // Valid values are BMREQUEST_TO_DEVICE, BMREQUEST_TO_INTERFACE, - // BMREQUEST_TO_ENDPOINT, BMREQUEST_TO_OTHER - // - BYTE Recipient:2; - - BYTE Reserved:3; - - // - // Valid values are BMREQUEST_STANDARD, BMREQUEST_CLASS, - // BMREQUEST_VENDOR - // - BYTE Type:2; - - // - // Valid values are BMREQUEST_HOST_TO_DEVICE, - // BMREQUEST_DEVICE_TO_HOST - // - BYTE Dir:1; - } Request; - #pragma warning(default:4214) // bit field types other than int - BYTE Byte; - } bm; - - BYTE bRequest; - - union { - struct { - BYTE LowByte; - BYTE HiByte; - } Bytes; - USHORT Value; - } wValue; - - union { - struct { - BYTE LowByte; - BYTE HiByte; - } Bytes; - USHORT Value; - } wIndex; - - USHORT wLength; - } Packet; - - struct { - BYTE Bytes[8]; - } Generic; - - WINUSB_SETUP_PACKET WinUsb; - -} WINUSB_CONTROL_SETUP_PACKET, *PWINUSB_CONTROL_SETUP_PACKET; - -VOID -FORCEINLINE -WINUSB_CONTROL_SETUP_PACKET_INIT( - PWINUSB_CONTROL_SETUP_PACKET Packet, - WINUSB_BMREQUEST_DIRECTION Direction, - WINUSB_BMREQUEST_RECIPIENT Recipient, - BYTE Request, - USHORT Value, - USHORT Index - ) -{ - RtlZeroMemory(Packet, sizeof(WINUSB_CONTROL_SETUP_PACKET)); - - Packet->Packet.bm.Request.Dir = (BYTE) Direction; - Packet->Packet.bm.Request.Type = (BYTE) BmRequestStandard; - Packet->Packet.bm.Request.Recipient = (BYTE) Recipient; - - Packet->Packet.bRequest = Request; - Packet->Packet.wValue.Value = Value; - Packet->Packet.wIndex.Value = Index; - - // Packet->Packet.wLength will be set by the formatting function -} - -VOID -FORCEINLINE -WINUSB_CONTROL_SETUP_PACKET_INIT_CLASS( - PWINUSB_CONTROL_SETUP_PACKET Packet, - WINUSB_BMREQUEST_DIRECTION Direction, - WINUSB_BMREQUEST_RECIPIENT Recipient, - BYTE Request, - USHORT Value, - USHORT Index - ) -{ - RtlZeroMemory(Packet, sizeof(WINUSB_CONTROL_SETUP_PACKET)); - - Packet->Packet.bm.Request.Dir = (BYTE) Direction; - Packet->Packet.bm.Request.Type = (BYTE) BmRequestClass; - Packet->Packet.bm.Request.Recipient = (BYTE) Recipient; - - Packet->Packet.bRequest = Request; - Packet->Packet.wValue.Value = Value; - Packet->Packet.wIndex.Value = Index; - - // Packet->Packet.wLength will be set by the formatting function -} - -VOID -FORCEINLINE -WINUSB_CONTROL_SETUP_PACKET_INIT_VENDOR( - PWINUSB_CONTROL_SETUP_PACKET Packet, - WINUSB_BMREQUEST_DIRECTION Direction, - WINUSB_BMREQUEST_RECIPIENT Recipient, - BYTE Request, - USHORT Value, - USHORT Index - ) -{ - RtlZeroMemory(Packet, sizeof(WINUSB_CONTROL_SETUP_PACKET)); - - Packet->Packet.bm.Request.Dir = (BYTE) Direction; - Packet->Packet.bm.Request.Type = (BYTE) BmRequestVendor; - Packet->Packet.bm.Request.Recipient = (BYTE) Recipient; - - Packet->Packet.bRequest = Request; - Packet->Packet.wValue.Value = Value; - Packet->Packet.wIndex.Value = Index; - - // Packet->Packet.wLength will be set by the formatting function -} - -VOID -FORCEINLINE -WINUSB_CONTROL_SETUP_PACKET_INIT_FEATURE( - PWINUSB_CONTROL_SETUP_PACKET Packet, - WINUSB_BMREQUEST_RECIPIENT BmRequestRecipient, - USHORT FeatureSelector, - USHORT Index, - BOOLEAN SetFeature - ) -{ - RtlZeroMemory(Packet, sizeof(WINUSB_CONTROL_SETUP_PACKET)); - - Packet->Packet.bm.Request.Dir = (BYTE) BmRequestHostToDevice; - Packet->Packet.bm.Request.Type = (BYTE) BmRequestStandard; - Packet->Packet.bm.Request.Recipient = (BYTE) BmRequestRecipient; - - if (SetFeature) { - Packet->Packet.bRequest = USB_REQUEST_SET_FEATURE; - } - else { - Packet->Packet.bRequest = USB_REQUEST_CLEAR_FEATURE; - } - - Packet->Packet.wValue.Value = FeatureSelector; - Packet->Packet.wIndex.Value = Index; - - // Packet->Packet.wLength will be set by the formatting function -} - -VOID -FORCEINLINE -WINUSB_CONTROL_SETUP_PACKET_INIT_GET_STATUS( - PWINUSB_CONTROL_SETUP_PACKET Packet, - WINUSB_BMREQUEST_RECIPIENT BmRequestRecipient, - USHORT Index - ) -{ - RtlZeroMemory(Packet, sizeof(WINUSB_CONTROL_SETUP_PACKET)); - - Packet->Packet.bm.Request.Dir = (BYTE) BmRequestDeviceToHost; - Packet->Packet.bm.Request.Type = (BYTE) BmRequestStandard; - Packet->Packet.bm.Request.Recipient = (BYTE) BmRequestRecipient; - - Packet->Packet.bRequest = USB_REQUEST_GET_STATUS; - Packet->Packet.wIndex.Value = Index; - Packet->Packet.wValue.Value = 0; - - // Packet->Packet.wLength will be set by the formatting function -} - diff --git a/biometrics/driver/internal.h b/biometrics/driver/internal.h deleted file mode 100644 index bbccbdba..00000000 --- a/biometrics/driver/internal.h +++ /dev/null @@ -1,164 +0,0 @@ -/*++ - - THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF - ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A - PARTICULAR PURPOSE. - - Copyright (c) Microsoft Corporation. All rights reserved - -Module Name: - - Internal.h - -Abstract: - - This module contains necessary include directives, WPP tracing macros, - and string definitions for the Biometric driver sample. - -Environment: - - Windows User-Mode Driver Framework (WUDF) - ---*/ - -#pragma once - -// -// ATL support -// -#include "atlbase.h" -#include "atlcom.h" - -// -// Include the WUDF Headers -// - -#include "wudfddi.h" - -// -// Use specstrings for in/out annotation of function parameters. -// - -#include "specstrings.h" - -// -// Get limits on common data types (ULONG_MAX for example) -// - -#include "limits.h" - -// -// We need usb I/O targets to talk to the USB device. -// - -#include "wudfusb.h" - -// -// WinUsb structures. -// - -#include "usb_hw.h" - -// -// Public definitions. -// -#include "public.h" - -// -// GUID include -// -#include - -// -// Windows IOCTL definitions. -// -#include "winioctl.h" - -// -// WinBio includes -// -#include "winbio_types.h" -#include "winbio_err.h" -#include "winbio_ioctl.h" - -// -// RAII helper class for requests -// -#include "RequestHelper.h" - -// -// Define the tracing flags. -// -// Tracing GUID defined in BioUsbSample.ctl - 864936A6-DB79-451e-B764-E720D61A9361 -// -// TODO: Generate a new tracing GUID for your driver, and replace all -// instances of the GUID above with your new GUID. -// - -#define WPP_CONTROL_GUIDS \ - WPP_DEFINE_CONTROL_GUID( \ - WudfBioUsbSampleTraceGuid, (864936A6,DB79,451e,B764,E720D61A9361), \ - \ - WPP_DEFINE_BIT(MYDRIVER_ALL_INFO) \ - WPP_DEFINE_BIT(BIOMETRIC_TRACE_DRIVER) \ - WPP_DEFINE_BIT(BIOMETRIC_TRACE_DEVICE) \ - WPP_DEFINE_BIT(BIOMETRIC_TRACE_QUEUE) \ - ) - -#define WPP_FLAG_LEVEL_LOGGER(flag, level) \ - WPP_LEVEL_LOGGER(flag) - -#define WPP_FLAG_LEVEL_ENABLED(flag, level) \ - (WPP_LEVEL_ENABLED(flag) && \ - WPP_CONTROL(WPP_BIT_ ## flag).Level >= level) - -#define WPP_LEVEL_FLAGS_LOGGER(lvl,flags) \ - WPP_LEVEL_LOGGER(flags) - -#define WPP_LEVEL_FLAGS_ENABLED(lvl, flags) \ - (WPP_LEVEL_ENABLED(flags) && WPP_CONTROL(WPP_BIT_ ## flags).Level >= lvl) - -// -// This comment block is scanned by the trace preprocessor to define our -// Trace function. -// -// begin_wpp config -// FUNC Trace{FLAG=MYDRIVER_ALL_INFO}(LEVEL, MSG, ...); -// FUNC TraceEvents(LEVEL, FLAGS, MSG, ...); -// end_wpp -// - -// -// Forward definition of queue. -// -typedef class CBiometricIoQueue *PCBiometricIoQueue; - -// -// Include the type specific headers. -// -#include "Driver.h" -#include "Device.h" -#include "IoQueue.h" - -// -// Driver specific #defines -// TODO: Put strings specific to your device here. -// - -#define MYDRIVER_TRACING_ID L"Microsoft\\UMDF\\Biometric USB Sample V1.0" - -#define SAMPLE_MANUFACTURER_NAME L"Biometric Sample Manufacturer" -#define SAMPLE_MODEL_NAME L"Biometric Sample Model" -#define SAMPLE_SERIAL_NUMBER L"000-000-000" - - -template -inline void BiometricSafeRelease(T *&t) -{ - if (t) - { - t->Release(); - } - t = NULL; -} diff --git a/biometrics/driver/resource.h b/biometrics/driver/resource.h deleted file mode 100644 index 09e852e8..00000000 --- a/biometrics/driver/resource.h +++ /dev/null @@ -1,4 +0,0 @@ -// -// Copyright (C) Microsoft. All rights reserved. -// -#define IDR_MYDRIVER_CLASSINFO 101 -- cgit v1.3.1 From 9a4b1a6b217afe449ca35a952099d62ca0dcd19b Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Thu, 15 Feb 2024 13:55:20 -0800 Subject: Upgrade nuget to 26061 (#1115) Update to WDK NuGet 26061 Co-authored-by: Jakob Lichtenberg --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index c279148a..ffbb9b0b 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26052 + $build_number=26061 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index 2aab8266..5a578a7c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 0976b9f0..76552f6d 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From ee0a1ee73dde5be876dbd25ee5ab4b467530a215 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Tue, 20 Feb 2024 23:41:46 -0800 Subject: Build System: Catch Sporadic Failures (#1123) * Build System: Catch Sporadic Failures * Build System: Catch Sporadic Failures --------- Co-authored-by: Jakob Lichtenberg --- Build-Sample.ps1 | 70 ++++++++++++++++++++++++++++++++++++++++++++--------- Build-SampleSet.ps1 | 39 ++++++++++++++++++++++++++--- 2 files changed, 93 insertions(+), 16 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-Sample.ps1 b/Build-Sample.ps1 index 0ef9d051..8c614bd2 100644 --- a/Build-Sample.ps1 +++ b/Build-Sample.ps1 @@ -134,23 +134,60 @@ foreach ($line in Get-Content -Path $solutionFile) if (-not $configurationIsSupported) { Write-Verbose "[$SampleName] `u{23E9} Skipped. Configuration $Configuration|$Platform not supported." - exit 2 + exit 3 } -$errorLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.err" -$warnLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.wrn" -$OutLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.out" - Write-Verbose "Building Sample: $SampleName; Configuration: $Configuration; Platform: $Platform {" -msbuild $solutionFile -clp:Verbosity=m -t:rebuild -property:Configuration=$Configuration -property:Platform=$Platform -p:TargetVersion=Windows10 -p:InfVerif_AdditionalOptions="$InfVerif_AdditionalOptions" -warnaserror -flp1:errorsonly`;logfile=$errorLogFilePath -flp2:WarningsOnly`;logfile=$warnLogFilePath -noLogo > $OutLogFilePath -if ($env:WDS_WipeOutputs -ne $null) -{ - Write-Verbose ("WipeOutputs: "+$Directory+" "+(((Get-Volume ($DriveLetter=(Get-Item ".").PSDrive.Name)).SizeRemaining/1GB))) - Get-ChildItem -path $Directory -Recurse -Include x64|Remove-Item -Recurse - Get-ChildItem -path $Directory -Recurse -Include arm64|Remove-Item -Recurse + +$myexit=0 + +# +# Let us build up to three times (0th, 1st, and 2nd attempt). +# If we succeed at first, then it is a success. +# If we fail at first, but succeed at either of next two attempts, then it is a sporadic failure. +# If we even at third attempt fail, then it is a true failure. +# +for ($i=0; $i -le 2; $i++) { + $errorLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.$i.err" + $warnLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.$i.wrn" + $OutLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.$i.out" + + msbuild $solutionFile -clp:Verbosity=m -t:rebuild -property:Configuration=$Configuration -property:Platform=$Platform -p:TargetVersion=Windows10 -p:InfVerif_AdditionalOptions="$InfVerif_AdditionalOptions" -warnaserror -flp1:errorsonly`;logfile=$errorLogFilePath -flp2:WarningsOnly`;logfile=$warnLogFilePath -noLogo > $OutLogFilePath + if ($env:WDS_WipeOutputs -ne $null) + { + Write-Verbose ("WipeOutputs: "+$Directory+" "+(((Get-Volume ($DriveLetter=(Get-Item ".").PSDrive.Name)).SizeRemaining/1GB))) + Get-ChildItem -path $Directory -Recurse -Include x64|Remove-Item -Recurse + Get-ChildItem -path $Directory -Recurse -Include arm64|Remove-Item -Recurse + } + if ($LASTEXITCODE -eq 0) + { + # We succeeded building. + # If at first attempt, then $myexit=0 + # If at later attempt, then $myexit=2 + if ($i -eq 0) + { + $myexit=0 + } + else + { + $myexit=2 + } + break; + } + else + { + # We failed building. + # Let us sleep for a bit. + # Then let the while loop do its thing and re-run. + sleep 1 + if ($Verbose) + { + Write-Warning "`u{274C} Build failed. Retrying to see if sporadic..." + } + } } -if ($LASTEXITCODE -ne 0) +if ($myexit -eq 1) { if ($Verbose) { @@ -159,4 +196,13 @@ if ($LASTEXITCODE -ne 0) exit 1 } +if ($myexit -eq 2) +{ + if ($Verbose) + { + Write-Warning "`u{274C} Build sporadically failed. Log available at $errorLogFilePath" + } + exit 2 +} + Write-Verbose "Building Sample: $SampleName; Configuration: $Configuration; Platform: $Platform }" diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index ffbb9b0b..a8876d60 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -145,6 +145,7 @@ $jresult = @{ SolutionsExcluded = 0 SolutionsUnsupported = 0 SolutionsFailed = 0 + SolutionsSporadic = 0 Results = @() FailSet = @() lock = [System.Threading.Mutex]::new($false) @@ -174,6 +175,7 @@ Write-Output "S: Built and result was 'Succeeded'" Write-Output "E: Built and result was 'Excluded'" Write-Output "U: Built and result was 'Unsupported' (Platform and Configuration combination)" Write-Output "F: Built and result was 'Failed'" +Write-Output "O: Built and result was 'Sporadic'" Write-Output "" Write-Output "Building all combinations..." @@ -200,10 +202,12 @@ $SampleSet.GetEnumerator() | ForEach-Object -ThrottleLimit $ThrottleLimit -Paral foreach ($platform in $Platforms) { $thisunsupported = 0 $thisfailed = 0 + $thissporadic = 0 $thisexcluded = 0 $thissucceeded = 0 $thisresult = "Not run" $thisfailset = @() + $thissporadicset = @() if ($exclusionConfigurations.ContainsKey($sampleName) -and ($exclusionConfigurations[$sampleName].Split(';') | Where-Object { "$configuration|$platform" -like $_ })) { # Verbose @@ -222,8 +226,13 @@ $SampleSet.GetEnumerator() | ForEach-Object -ThrottleLimit $ThrottleLimit -Paral $thisfailed += 1 $thisresult = "Failed" } + elseif ($LASTEXITCODE -eq 2) { + $thissporadicset += "$sampleName $configuration|$platform" + $thissporadic += 1 + $thisresult = "Sporadic" + } else { - # ($LASTEXITCODE -eq 2) + # ($LASTEXITCODE -eq 3) $thisunsupported += 1 $thisresult = "Unsupported" } @@ -237,7 +246,9 @@ $SampleSet.GetEnumerator() | ForEach-Object -ThrottleLimit $ThrottleLimit -Paral ($using:jresult).SolutionsExcluded += $thisexcluded ($using:jresult).SolutionsUnsupported += $thisunsupported ($using:jresult).SolutionsFailed += $thisfailed + ($using:jresult).SolutionsSporadic += $thissporadic ($using:jresult).FailSet += $thisfailset + ($using:jresult).SporadicSet += $thissporadicset $SolutionsTotal = $using:SolutionsTotal $ThrottleLimit = $using:ThrottleLimit $SolutionsBuilt = ($using:jresult).SolutionsBuilt @@ -246,7 +257,7 @@ $SampleSet.GetEnumerator() | ForEach-Object -ThrottleLimit $ThrottleLimit -Paral $SolutionsPending = if ($SolutionsRemaining -ge $ThrottleLimit) { ($SolutionsRemaining - $ThrottleLimit) } else { 0 } $SolutionsBuiltPercent = [Math]::Round(100 * ($SolutionsBuilt / $using:SolutionsTotal)) $TBRP = "T:" + ($SolutionsTotal) + "; B:" + (($using:jresult).SolutionsBuilt) + "; R:" + ($SolutionsRunning) + "; P:" + ($SolutionsPending) - $rstr = "S:" + (($using:jresult).SolutionsSucceeded) + "; E:" + (($using:jresult).SolutionsExcluded) + "; U:" + (($using:jresult).SolutionsUnsupported) + "; F:" + (($using:jresult).SolutionsFailed) + $rstr = "S:" + (($using:jresult).SolutionsSucceeded) + "; E:" + (($using:jresult).SolutionsExcluded) + "; U:" + (($using:jresult).SolutionsUnsupported) + "; F:" + (($using:jresult).SolutionsFailed) + "; O:" + (($using:jresult).SolutionsSporadic) Write-Progress -Activity "Building combinations" -Status "$SolutionsBuilt of $using:SolutionsTotal combinations built ($SolutionsBuiltPercent%) | $TBRP | $rstr" -PercentComplete $SolutionsBuiltPercent } finally { @@ -265,6 +276,8 @@ $SampleSet.GetEnumerator() | ForEach-Object -ThrottleLimit $ThrottleLimit -Paral $sw.Stop() +Write-Output "" + if ($jresult.FailSet.Count -gt 0) { Write-Output "Some combinations were built with errors:" $jresult.FailSet = $jresult.FailSet | Sort-Object @@ -274,10 +287,27 @@ if ($jresult.FailSet.Count -gt 0) { $failConfiguration = $Matches[2] $failPlatform = $Matches[3] Write-Output "Build errors in Sample $failName; Configuration: $failConfiguration; Platform: $failPlatform {" - Get-Content "$LogFilesDirectory\$failName.$failConfiguration.$failPlatform.err" | Write-Output + Get-Content "$LogFilesDirectory\$failName.$failConfiguration.$failPlatform.0.err" | Write-Output Write-Output "} $failedSample" } Write-Error "Some combinations were built with errors." + Write-Output "" +} + +if ($jresult.SporadicSet.Count -gt 0) { + Write-Output "Some combinations were built with sporadic error:" + $jresult.SporadicSet = $jresult.SporadicSet | Sort-Object + foreach ($sporadicSample in $jresult.SporadicSet) { + $sporadicSample -match "^(.*) (\w*)\|(\w*)$" | Out-Null + $sporadicName = $Matches[1] + $sporadicConfiguration = $Matches[2] + $sporadicPlatform = $Matches[3] + Write-Output "Build sporadic errors in Sample $sporadicName; Configuration: $sporadicConfiguration; Platform: $sporadicPlatform {" + Get-Content "$LogFilesDirectory\$sporadicName.$sporadicConfiguration.$sporadicPlatform.0.err" | Write-Output + Write-Output "} $sporadicSample" + } + Write-Error "Some combinations were built with sporadic errors." + Write-Output "" } # Display timer statistics to host @@ -288,9 +318,9 @@ $SolutionsSucceeded = $jresult.SolutionsSucceeded $SolutionsExcluded = $jresult.SolutionsExcluded $SolutionsUnsupported = $jresult.SolutionsUnsupported $SolutionsFailed = $jresult.SolutionsFailed +$SolutionsSporadic = $jresult.SolutionsSporadic $Results = $jresult.Results -Write-Output "" Write-Output "Built all combinations." Write-Output "" Write-Output "Elapsed time: $min minutes, $seconds seconds." @@ -303,6 +333,7 @@ Write-Output "Succeeded: $SolutionsSucceeded" Write-Output "Excluded: $SolutionsExcluded" Write-Output "Unsupported: $SolutionsUnsupported" Write-Output "Failed: $SolutionsFailed" +Write-Output "Sporadic: $SolutionsSporadic" Write-Output "Log files directory: $LogFilesDirectory" Write-Output "Overview report: $reportFilePath" Write-Output "" -- cgit v1.3.1 From 655b14dd5907237f79edc312988cebe2180fd18b Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Sun, 25 Feb 2024 18:20:47 -0800 Subject: Upgrade nuget to 26066 (#1127) Update to WDK NuGet 26066 Co-authored-by: Jakob Lichtenberg --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index a8876d60..ee08e138 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26061 + $build_number=26066 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index 5a578a7c..8eab6b04 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 76552f6d..533b613a 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From d1c58567a7ff9af51a7688a798a7327ce10b0b0a Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:39:33 -0800 Subject: Update to WDK NuGet 26068 (#1129) Co-authored-by: Jakob Lichtenberg --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index ee08e138..d505f54c 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26066 + $build_number=26068 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index 8eab6b04..8306bb6d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 533b613a..c1fe64d5 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From c7ef047d05ca856a04fe542739ea99d28913ae6e Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Sun, 3 Mar 2024 14:27:50 -0800 Subject: Update to WDK NuGet 26074 (#1133) Co-authored-by: Jakob Lichtenberg --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index d505f54c..b2ed104a 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26068 + $build_number=26074 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index 8306bb6d..eb7e137b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index c1fe64d5..978c36ac 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From e14874699db0ffc6325147a61a4ef3ddae93f037 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Sat, 9 Mar 2024 10:47:17 -0800 Subject: Update to WDK NuGet 26080 (#1139) * Update to WDK NuGet 26080 * Update to WDK NuGet 26080 * Update to WDK NuGet 26080 --------- Co-authored-by: Jakob Lichtenberg --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index b2ed104a..a93548b7 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26074 + $build_number=26080 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index eb7e137b..1f087a50 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 978c36ac..071203ec 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From 443c6c24b0f5949daa31fb537449ac63460d1575 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Sat, 16 Mar 2024 16:36:30 -0700 Subject: Upgrade nuget to 26085 (#1143) * Update to WDK NuGet 26085 * Update to WDK NuGet 26085 --------- Co-authored-by: Jakob Lichtenberg --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index a93548b7..c0c2e5d1 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26080 + $build_number=26085 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index 1f087a50..14afc64c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 071203ec..8ff7eabb 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From 13d4792ee72883cf25ec5ffc2812c9c6d9933ef4 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Mon, 25 Mar 2024 14:56:32 -0700 Subject: Upgrade nuget to 26090 (#1145) * Upgrade NuGet to 26090 * Update Build-SampleSet.ps1 * Update Build-SampleSet.ps1 --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index c0c2e5d1..477b43c7 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26085 + $build_number=26090 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index 14afc64c..94d612ab 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 8ff7eabb..a34b81eb 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From 29274858aa27e24fef094ac381cf55821eedd6b4 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Thu, 18 Apr 2024 14:30:41 -0700 Subject: Upgrade NuGet 26095.2 (#1161) Upgrade NuGet to 26095.2 --- Build-SampleSet.ps1 | 2 +- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index 477b43c7..059dc5b2 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26090 + $build_number=26095 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Directory.Build.props b/Directory.Build.props index 60ca0863..2be5d1c4 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 2f0b5148..3b62f4bb 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From 6edffd4b66aff103080aa1f3148815a8c9d827a9 Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Wed, 22 May 2024 08:56:48 -0700 Subject: Upgrade NuGet to 26100.1 (#1162) * Upgrade NuGet to 10.0.26100.1-preview.ge-release * Upgrade NuGet to 10.0.26100.2 pre * Upgrade NuGet to 10.0.26100 * Upgrade NuGet to 10.0.26100.1 * Update Building-Locally.md * Update Building-Locally.md --- Build-SampleSet.ps1 | 2 +- Building-Locally.md | 17 ++++++++--------- Directory.Build.props | 10 +++++----- packages.config | 10 +++++----- 4 files changed, 19 insertions(+), 20 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index 059dc5b2..b0da097a 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -65,7 +65,7 @@ if (-not $env:GITHUB_REPOSITORY -eq '') { # elseif(Test-Path(".\packages")) { $build_environment=("NuGet") - $build_number=26095 + $build_number=26100 } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. diff --git a/Building-Locally.md b/Building-Locally.md index d9ad76e1..bb9fc610 100644 --- a/Building-Locally.md +++ b/Building-Locally.md @@ -78,9 +78,8 @@ To build the Windows Driver Samples you need a "driver build environment". In e * The Windows Driver Kit. ### Option A: Use WDK NuGet Packages -* Note: This option is only available in pre-release form. * See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to install Visual Studio, but only complete "Step 1". You do not need to install the SDK or the WDK. -* Install the Visual Studio Windows Driver Kit Extension (WDK.vsix). Open Visual Studio -> Extensions -> Manage Extensions... -> Online -> Visual Studio Market Place -> Windows Driver Kit -> 10.0.26090.10 -> Download +* Install the Visual Studio Windows Driver Kit Extension (WDK.vsix). Open Visual Studio -> Extensions -> Manage Extensions... -> Online -> Visual Studio Market Place -> Windows Driver Kit -> 10.0.26100.0 -> Download * Launch a "Developer Command Prompt for VS 2022". * Restore WDK packages from feed : @@ -93,11 +92,11 @@ To build the Windows Driver Samples you need a "driver build environment". In e ``` >cd path\to\your\repos\Windows-driver-samples >dir /b packages -Microsoft.Windows.SDK.CPP.10.0.26095.2-preview.ge-release -Microsoft.Windows.SDK.CPP.x64.10.0.26095.2-preview.ge-release -Microsoft.Windows.SDK.CPP.arm64.10.0.26095.2-preview.ge-release -Microsoft.Windows.WDK.x64.10.0.26095.2-preview.ge-release -Microsoft.Windows.WDK.arm64.10.0.26095.2-preview.ge-release +Microsoft.Windows.SDK.CPP.10.0.26000.1 +Microsoft.Windows.SDK.CPP.x64.10.0.26000.1 +Microsoft.Windows.SDK.CPP.arm64.10.0.26000.1 +Microsoft.Windows.WDK.x64.10.0.26000.1 +Microsoft.Windows.WDK.arm64.10.0.26000.1 ``` ### Option B: Use the Windows Driver Kit * Here you will install each of above prerequisites one at a time. @@ -106,7 +105,7 @@ Microsoft.Windows.WDK.arm64.10.0.26095.2-preview.ge-release ### Option C: Use an Enterprise WDK * You can also simply use the Enterprise WDK (EWDK), a standalone, self-contained command-line environment for building drivers that contains all prerequisites in one combined ISO. -* Download the Windows 11, version 22H2 EWDK ISO image from the [official site](https://learn.microsoft.com/en-us/legal/windows/hardware/enterprise-wdk-license-2022) +* See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to download the EWDK. * Mount ISO image * Open a terminal * `.\LaunchBuildEnv` @@ -145,7 +144,7 @@ Expected output: ``` PS > .\build-AllSamples.ps1 Build Environment: NuGet -Build Number: 26095 +Build Number: 26100 Samples: 132 Configurations: 2 (Debug Release) Platforms: 2 (x64 arm64) diff --git a/Directory.Build.props b/Directory.Build.props index 9f333db0..811c5f30 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/packages.config b/packages.config index 3b62f4bb..257a510d 100644 --- a/packages.config +++ b/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + -- cgit v1.3.1 From 263b19b4347fcda2e236c14a9daf41e7d518625d Mon Sep 17 00:00:00 2001 From: JakobL-MSFT <110699333+JakobL-MSFT@users.noreply.github.com> Date: Fri, 28 Jun 2024 09:56:29 -0700 Subject: RI develop to main (#1189) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Memory leakage in message "sizeof(SCANNER_MESSAGE) * threadCount * requestCount" bytes long memory is allocated but only "sizeof(SCANNER_MESSAGE) * threadCount" bytes long of it is freed. * Handles malloc function fail case * Refactors comment line * Solves the miscalculation of the message index * simbatt: Fix broken registry read-back The GetSimBattStateFromRegistry function is currently using default settings if GetSimBattStateFromRegistry succeeds, whereas settings from registry are only applied if GetSimBattStateFromRegistry fails. This does not make sense to me. Therefore proposing to remove the `!` negation from `if (!NT_SUCCESS(Status)) {` on the line after `Status = GetSimBattStateFromRegistry(Device, RegState);` so that default settings are loaded when registry read-back fails. * Issue of freeing memory without waiting completion of threads accessing it is fixed * Fixes information leakage warning Fixes the issue of possible information leakage from uninitialized padding bytes * Avoids possible multiplication overflow warning * Avoids possible multiplication overflow warning * CI Pipelines build with WDK Nuget Packages (#1179) Integrate nuget into the workflow pipelines * FI from main to develop (#1188) Fix text and minor issues in Winget configuration files Co-authored-by: Adonais Romero Gonzalez * Improve version info, vsix installation, and update building locally readme * Fix printing vsix version * Refactored vsix install and cleaned up build sampleset --------- Co-authored-by: İsa Yurdagül <38290414+isayrdgl@users.noreply.github.com> Co-authored-by: Fredrik Orderud Co-authored-by: Christian Allred <13487734+cgallred@users.noreply.github.com> Co-authored-by: tristanb-ntdev <60945150+tristanb-ntdev@users.noreply.github.com> Co-authored-by: Matt <138825652+middlemose@users.noreply.github.com> Co-authored-by: Adonais Romero Gonzalez --- .github/scripts/Install-Vsix.ps1 | 38 ++++++++++++++++++++ .github/workflows/Code-Scanning.yml | 56 +++++++++++++++--------------- .github/workflows/ci-pr.yml | 10 +++--- .github/workflows/ci.yml | 13 +++---- Build-SampleSet.ps1 | 51 +++++++++++++++++++++------ Building-Locally.md | 6 +++- filesys/miniFilter/scanner/user/scanUser.c | 52 +++++++++++++-------------- simbatt/func/miniclass.c | 2 +- 8 files changed, 151 insertions(+), 77 deletions(-) create mode 100644 .github/scripts/Install-Vsix.ps1 (limited to 'Build-SampleSet.ps1') diff --git a/.github/scripts/Install-Vsix.ps1 b/.github/scripts/Install-Vsix.ps1 new file mode 100644 index 00000000..50ef088b --- /dev/null +++ b/.github/scripts/Install-Vsix.ps1 @@ -0,0 +1,38 @@ +<# + +.SYNOPSIS +Download and install the latest WDK VSIX. + +#> + +# set uri by resolving amd64 vsix +$uri = "https://marketplace.visualstudio.com$((Invoke-WebRequest -Uri "https://marketplace.visualstudio.com/items?itemName=DriverDeveloperKits-WDK.WDKVsix").Links | Where-Object outerHTML -like '*(amd64)*' | select -expand href)" + +# set download version +$uri_version = ([regex]'(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches($uri).Value + +# set msbuild path +$msbuild_path = (Resolve-Path "$env:ProgramFiles\Microsoft Visual Studio\2022\*\MSBuild\") + +# download vsix, expand, and store the downloaded version extracted from the extension manifest +"Downloading WDK VSIX version: $uri_version..." +Invoke-WebRequest -Uri "$uri" -OutFile wdk.zip +"Expanding WDK VSIX archive..." +Expand-Archive ".\wdk.zip" .\ +"Extracting version from manifest..." +$downloaded_version = ([xml](Get-Content .\extension.vsixmanifest)).PackageManifest.Metadata.Identity.Version +"Downloaded WDK VSIX version: $downloaded_version" + +# copy msbuild files, extension manifest, and check installed version from the extension manifest +"Copying WDK extension files to build path..." +cp (".\`$MSBuild\*", ".\extension.vsixmanifest") "$msbuild_path" -Recurse -Force +"Extracting version from copied manifest..." +$installed_version = ([xml](Get-Content ${msbuild_path}\extension.vsixmanifest)).PackageManifest.Metadata.Identity.Version +"Installed WDK VSIX Version: $installed_version" +if (-not ("$downloaded_version" -eq "$installed_version")) { + "WDK VSIX installation failed due to version mismatch" + exit 1 +} + +# set github environment variable for vsix version +"SAMPLES_VSIX_VERSION=$installed_version" | Out-File -FilePath "$env:GITHUB_ENV" -Append diff --git a/.github/workflows/Code-Scanning.yml b/.github/workflows/Code-Scanning.yml index a18bcf95..cd0d8abf 100644 --- a/.github/workflows/Code-Scanning.yml +++ b/.github/workflows/Code-Scanning.yml @@ -32,31 +32,31 @@ jobs: language: [ 'cpp' ] steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - packs: microsoft/windows-drivers - - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@v2 - - - name: Retrieve and build all available solutions - run: | - .\Build-AllSamples.ps1 -Verbose -ThrottleLimit 1 - env: - WDS_Configuration: Debug - WDS_Platform: x64 - WDS_WipeOutputs: ${{ true }} - - - name: Perform CodeQL analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" - - - + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Install WDK VSIX + run: .\.github\scripts\Install-Vsix.ps1 + + - name: Install Nuget Packages + run: nuget restore .\packages.config -PackagesDirectory .\packages\ + + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + packs: microsoft/windows-drivers + + - name: Retrieve and build all available solutions + run: .\Build-AllSamples.ps1 -Verbose -ThrottleLimit 1 + env: + WDS_Configuration: Debug + WDS_Platform: x64 + WDS_WipeOutputs: ${{ true }} + + - name: Perform CodeQL analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml index 7640b966..c04f4adb 100644 --- a/.github/workflows/ci-pr.yml +++ b/.github/workflows/ci-pr.yml @@ -22,8 +22,11 @@ jobs: with: submodules: 'recursive' - - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@v2 + - name: Install WDK VSIX + run: .\.github\scripts\Install-Vsix.ps1 + + - name: Install Nuget Packages + run: nuget restore .\packages.config -PackagesDirectory .\packages\ - name: Get changed files id: get-changed-files @@ -63,8 +66,7 @@ jobs: path: _logs - name: Join and generate global reports - run: | - .\.github\scripts\Join-CsvReports.ps1 + run: .\.github\scripts\Join-CsvReports.ps1 - name: Archive global overview build reports uses: actions/upload-artifact@v3 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad92f83b..c35a81ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,12 +22,14 @@ jobs: with: submodules: 'recursive' - - name: Add MSBuild to PATH - uses: microsoft/setup-msbuild@v2 + - name: Install WDK VSIX + run: .\.github\scripts\Install-Vsix.ps1 + + - name: Install Nuget Packages + run: nuget restore .\packages.config -PackagesDirectory .\packages\ - name: Retrieve and build all available solutions - run: | - .\Build-AllSamples.ps1 -Verbose + run: .\Build-AllSamples.ps1 -Verbose env: WDS_Configuration: ${{ matrix.configuration }} WDS_Platform: ${{ matrix.platform }} @@ -56,8 +58,7 @@ jobs: path: _logs - name: Join and generate global reports - run: | - .\.github\scripts\Join-CsvReports.ps1 + run: .\.github\scripts\Join-CsvReports.ps1 - name: Archive global overview build reports uses: actions/upload-artifact@v3 diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index b0da097a..adae8bb0 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -9,6 +9,14 @@ param( ) $root = Get-Location + +# launch developer powershell (if necessary to prevent multiple developer sessions) +if (-not $env:VSCMD_VER) { + Import-Module (Resolve-Path "$env:ProgramFiles\Microsoft Visual Studio\2022\*\Common7\Tools\Microsoft.VisualStudio.DevShell.dll") + Enter-VsDevShell -VsInstallPath (Resolve-Path "$env:ProgramFiles\Microsoft Visual Studio\2022\*") + cd $root +} + $ThrottleFactor = 5 $LogicalProcessors = (Get-CIMInstance -Class 'CIM_Processor' -Verbose:$false).NumberOfLogicalProcessors @@ -45,27 +53,34 @@ finally { } # -# Determine build environment: 'GitHub', 'NuGet', 'EWDK', or 'WDK'. Only used to determine build number. +# Determine build environment: 'GitHub', 'NuGet', 'EWDK', or 'WDK'. # Determine build number (used for exclusions based on build number). Five digits. Say, '22621'. +# Determine NuGet package version (if applicable). +# Determine WDK vsix version. # $build_environment="" $build_number=0 +$nuget_package_version=0 +$vsix_version="" # -# WDK NuGet will require presence of a folder 'packages' +# In Github we build using NuGet and get the version from packages and vsix version from env var set from the install vsix step. # -# -# Hack: In GitHub we do not have an environment variable where we can see WDK build number, so we have it hard coded. -# -if (-not $env:GITHUB_REPOSITORY -eq '') { +if ($env:GITHUB_REPOSITORY) { $build_environment="GitHub" - $build_number=22621 + $nuget_package_version=([regex]'(?<=x64\.)(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches((Get-Childitem .\packages\*WDK.x64* -Name)).Value + $build_number=$nuget_package_version.split('.')[2] + $vsix_version = $env:SAMPLES_VSIX_VERSION } # -# Hack: If user has hydrated nuget packages, then use those. That will be indicated by presence of a folder named .\packages. +# WDK NuGet will require presence of a folder 'packages'. The version is sourced from repo .\Env-Vars.ps1. +# +# Hack: If user has hydrated nuget packages, then use those. That will be indicated by presence of a folder named '.\packages'. +# Further, we need to test that the directory has been hydrated using '.\packages\*'. # -elseif(Test-Path(".\packages")) { +elseif(Test-Path(".\packages\*")) { $build_environment=("NuGet") - $build_number=26100 + $nuget_package_version=([regex]'(?<=x64\.)(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches((Get-Childitem .\packages\*WDK.x64* -Name)).Value + $build_number=$nuget_package_version.split('.')[2] } # # EWDK sets environment variable BuildLab. For example 'ni_release_svc_prod1.22621.2428'. @@ -91,7 +106,19 @@ else { Write-Error "Could not determine build environment." exit 1 } - +# +# Get the vsix version from packages if not set +if (-not $vsix_version) { + $vsix_version = ls "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select -ExpandProperty Name + if ($vsix_version) { + $vsix_version = $vsix_version.split('=')[1] + } + else { + Write-Error "No version of the WDK VSIX could be found. The WDK VSIX is not installed." + exit 1 + } +} +# # # InfVerif_AdditionalOptions # @@ -155,6 +182,8 @@ $SolutionsTotal = $sampleSet.Count * $Configurations.Count * $Platforms.Count Write-Output ("Build Environment: " + $build_environment) Write-Output ("Build Number: " + $build_number) +if (($build_environment -eq "GitHub") -or ($build_environment -eq "NuGet")) { Write-Output ("Nuget Package Version: " + $nuget_package_version) } +Write-Output ("WDK VSIX Version: " + $vsix_version) Write-Output ("Samples: " + $sampleSet.Count) Write-Output ("Configurations: " + $Configurations.Count + " (" + $Configurations + ")") Write-Output ("Platforms: " + $Platforms.Count + " (" + $Platforms + ")") diff --git a/Building-Locally.md b/Building-Locally.md index bb9fc610..e3db8dde 100644 --- a/Building-Locally.md +++ b/Building-Locally.md @@ -79,7 +79,11 @@ To build the Windows Driver Samples you need a "driver build environment". In e ### Option A: Use WDK NuGet Packages * See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to install Visual Studio, but only complete "Step 1". You do not need to install the SDK or the WDK. -* Install the Visual Studio Windows Driver Kit Extension (WDK.vsix). Open Visual Studio -> Extensions -> Manage Extensions... -> Online -> Visual Studio Market Place -> Windows Driver Kit -> 10.0.26100.0 -> Download +* Install the Visual Studio Windows Driver Kit Extension (WDK.vsix). + * Open Visual Studio -> Extensions -> Manage Extensions... -> Browse. + * In the search bar type: `Windows Driver Kit`. + * Find the `Microsoft` signed extension. + * Click the Install button. * Launch a "Developer Command Prompt for VS 2022". * Restore WDK packages from feed : diff --git a/filesys/miniFilter/scanner/user/scanUser.c b/filesys/miniFilter/scanner/user/scanUser.c index e766261c..08b948b3 100644 --- a/filesys/miniFilter/scanner/user/scanUser.c +++ b/filesys/miniFilter/scanner/user/scanUser.c @@ -254,8 +254,6 @@ Return Value } } - free( message ); - return hr; } @@ -268,13 +266,12 @@ main ( { DWORD requestCount = SCANNER_DEFAULT_REQUEST_COUNT; DWORD threadCount = SCANNER_DEFAULT_THREAD_COUNT; - HANDLE threads[SCANNER_MAX_THREAD_COUNT]; + HANDLE threads[SCANNER_MAX_THREAD_COUNT] = { NULL }; SCANNER_THREAD_CONTEXT context; HANDLE port, completion; - PSCANNER_MESSAGE msg; + PSCANNER_MESSAGE messages; DWORD threadId; HRESULT hr; - DWORD i, j; // // Check how many threads and per thread requests are desired. @@ -343,11 +340,23 @@ main ( context.Completion = completion; // - // Create specified number of threads. + // Allocate messages. // - for (i = 0; i < threadCount; i++) { + messages = calloc(((size_t) threadCount) * requestCount, sizeof(SCANNER_MESSAGE)); + + if (messages == NULL) { + hr = ERROR_NOT_ENOUGH_MEMORY; + goto main_cleanup; + } + + // + // Create specified number of threads. + // + + for (DWORD i = 0; i < threadCount; i++) { + threads[i] = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE) ScannerWorker, @@ -366,20 +375,9 @@ main ( goto main_cleanup; } - for (j = 0; j < requestCount; j++) { - - // - // Allocate the message. - // - -#pragma prefast(suppress:__WARNING_MEMORY_LEAK, "msg will not be leaked because it is freed in ScannerWorker") - msg = malloc( sizeof( SCANNER_MESSAGE ) ); - - if (msg == NULL) { - - hr = ERROR_NOT_ENOUGH_MEMORY; - goto main_cleanup; - } + for (DWORD j = 0; j < requestCount; j++) { + + PSCANNER_MESSAGE msg = &(messages[i * requestCount + j]); memset( &msg->Ovlp, 0, sizeof( OVERLAPPED ) ); @@ -393,24 +391,26 @@ main ( &msg->Ovlp ); if (hr != HRESULT_FROM_WIN32( ERROR_IO_PENDING )) { - - free( msg ); goto main_cleanup; } } } hr = S_OK; - - WaitForMultipleObjectsEx( i, threads, TRUE, INFINITE, FALSE ); - + main_cleanup: + for (INT i = 0; threads[i] != NULL; ++i) { + WaitForSingleObjectEx(threads[i], INFINITE, FALSE); + } + printf( "Scanner: All done. Result = 0x%08x\n", hr ); CloseHandle( port ); CloseHandle( completion ); + free(messages); + return hr; } diff --git a/simbatt/func/miniclass.c b/simbatt/func/miniclass.c index ba2df340..612b4c66 100644 --- a/simbatt/func/miniclass.c +++ b/simbatt/func/miniclass.c @@ -202,7 +202,7 @@ Return Value: } Status = GetSimBattStateFromRegistry(Device, RegState); - if (!NT_SUCCESS(Status)) { + if (NT_SUCCESS(Status)) { RtlZeroMemory(RegState, sizeof(SIMBATT_STATE)); WdfWaitLockAcquire(DevExt->StateLock, NULL); -- cgit v1.3.1 From 5c4ceaef72f0af992966a7d2ac7ac7d897f091d3 Mon Sep 17 00:00:00 2001 From: Matt <138825652+middlemose@users.noreply.github.com> Date: Mon, 23 Sep 2024 19:43:48 -0700 Subject: Deprecate WDK VSIX Install (#1219) * Deprecate WDK vsix install * Fix WDK extension version print * Remove unecessary splitting on version * Minor build info refactor * Fix indentation of output info * Enough messing with volume size output * Cleanup comment for vsix version * More cleanup and doc update * Remove deprecation statement and install vsix script. * Fixes and updates to building locally documentation. * Dont code scan on license or .md files. * Code scanning ignore changes to .md when pull request is made --- .github/scripts/Install-Vsix.ps1 | 38 -------------------- .github/workflows/Code-Scanning.yml | 9 +++-- .github/workflows/ci-pr.yml | 3 -- .github/workflows/ci.yml | 3 -- Build-SampleSet.ps1 | 39 +++++++++------------ Building-Locally.md | 70 +++++++++++++++++++++++-------------- configuration.dsc.yaml | 19 ++-------- configuration_vsonly.dsc.yaml | 3 +- 8 files changed, 71 insertions(+), 113 deletions(-) delete mode 100644 .github/scripts/Install-Vsix.ps1 (limited to 'Build-SampleSet.ps1') diff --git a/.github/scripts/Install-Vsix.ps1 b/.github/scripts/Install-Vsix.ps1 deleted file mode 100644 index 50ef088b..00000000 --- a/.github/scripts/Install-Vsix.ps1 +++ /dev/null @@ -1,38 +0,0 @@ -<# - -.SYNOPSIS -Download and install the latest WDK VSIX. - -#> - -# set uri by resolving amd64 vsix -$uri = "https://marketplace.visualstudio.com$((Invoke-WebRequest -Uri "https://marketplace.visualstudio.com/items?itemName=DriverDeveloperKits-WDK.WDKVsix").Links | Where-Object outerHTML -like '*(amd64)*' | select -expand href)" - -# set download version -$uri_version = ([regex]'(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches($uri).Value - -# set msbuild path -$msbuild_path = (Resolve-Path "$env:ProgramFiles\Microsoft Visual Studio\2022\*\MSBuild\") - -# download vsix, expand, and store the downloaded version extracted from the extension manifest -"Downloading WDK VSIX version: $uri_version..." -Invoke-WebRequest -Uri "$uri" -OutFile wdk.zip -"Expanding WDK VSIX archive..." -Expand-Archive ".\wdk.zip" .\ -"Extracting version from manifest..." -$downloaded_version = ([xml](Get-Content .\extension.vsixmanifest)).PackageManifest.Metadata.Identity.Version -"Downloaded WDK VSIX version: $downloaded_version" - -# copy msbuild files, extension manifest, and check installed version from the extension manifest -"Copying WDK extension files to build path..." -cp (".\`$MSBuild\*", ".\extension.vsixmanifest") "$msbuild_path" -Recurse -Force -"Extracting version from copied manifest..." -$installed_version = ([xml](Get-Content ${msbuild_path}\extension.vsixmanifest)).PackageManifest.Metadata.Identity.Version -"Installed WDK VSIX Version: $installed_version" -if (-not ("$downloaded_version" -eq "$installed_version")) { - "WDK VSIX installation failed due to version mismatch" - exit 1 -} - -# set github environment variable for vsix version -"SAMPLES_VSIX_VERSION=$installed_version" | Out-File -FilePath "$env:GITHUB_ENV" -Append diff --git a/.github/workflows/Code-Scanning.yml b/.github/workflows/Code-Scanning.yml index cd0d8abf..16aaff39 100644 --- a/.github/workflows/Code-Scanning.yml +++ b/.github/workflows/Code-Scanning.yml @@ -8,11 +8,17 @@ on: branches: - main - develop + paths-ignore: + - '**.md' + - 'LICENSE' pull_request: # The branches below must be a subset of the branches above branches: - main - develop + paths-ignore: + - '**.md' + - 'LICENSE' # Allow manual scheduling workflow_dispatch: @@ -37,9 +43,6 @@ jobs: with: submodules: 'recursive' - - name: Install WDK VSIX - run: .\.github\scripts\Install-Vsix.ps1 - - name: Install Nuget Packages run: nuget restore .\packages.config -PackagesDirectory .\packages\ diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml index c04f4adb..72fb176f 100644 --- a/.github/workflows/ci-pr.yml +++ b/.github/workflows/ci-pr.yml @@ -22,9 +22,6 @@ jobs: with: submodules: 'recursive' - - name: Install WDK VSIX - run: .\.github\scripts\Install-Vsix.ps1 - - name: Install Nuget Packages run: nuget restore .\packages.config -PackagesDirectory .\packages\ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c35a81ec..11dee203 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,9 +22,6 @@ jobs: with: submodules: 'recursive' - - name: Install WDK VSIX - run: .\.github\scripts\Install-Vsix.ps1 - - name: Install Nuget Packages run: nuget restore .\packages.config -PackagesDirectory .\packages\ diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index adae8bb0..f6765395 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -56,20 +56,17 @@ finally { # Determine build environment: 'GitHub', 'NuGet', 'EWDK', or 'WDK'. # Determine build number (used for exclusions based on build number). Five digits. Say, '22621'. # Determine NuGet package version (if applicable). -# Determine WDK vsix version. # $build_environment="" $build_number=0 $nuget_package_version=0 -$vsix_version="" # -# In Github we build using NuGet and get the version from packages and vsix version from env var set from the install vsix step. +# In Github we build using NuGet. # if ($env:GITHUB_REPOSITORY) { $build_environment="GitHub" $nuget_package_version=([regex]'(?<=x64\.)(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches((Get-Childitem .\packages\*WDK.x64* -Name)).Value $build_number=$nuget_package_version.split('.')[2] - $vsix_version = $env:SAMPLES_VSIX_VERSION } # # WDK NuGet will require presence of a folder 'packages'. The version is sourced from repo .\Env-Vars.ps1. @@ -107,16 +104,12 @@ else { exit 1 } # -# Get the vsix version from packages if not set -if (-not $vsix_version) { - $vsix_version = ls "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select -ExpandProperty Name - if ($vsix_version) { - $vsix_version = $vsix_version.split('=')[1] - } - else { - Write-Error "No version of the WDK VSIX could be found. The WDK VSIX is not installed." - exit 1 - } +# Get the WDK extension version from installed packages +$wdk_extension_ver = ls "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select -ExpandProperty Name +$wdk_extension_ver = ([regex]'(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches($wdk_extension_ver).Value +if (-not $wdk_extension_ver) { + Write-Error "No version of the WDK Visual Studio Extension could be found. The WDK Extension is not installed." + exit 1 } # # @@ -180,20 +173,22 @@ $jresult = @{ $SolutionsTotal = $sampleSet.Count * $Configurations.Count * $Platforms.Count -Write-Output ("Build Environment: " + $build_environment) -Write-Output ("Build Number: " + $build_number) -if (($build_environment -eq "GitHub") -or ($build_environment -eq "NuGet")) { Write-Output ("Nuget Package Version: " + $nuget_package_version) } -Write-Output ("WDK VSIX Version: " + $vsix_version) -Write-Output ("Samples: " + $sampleSet.Count) -Write-Output ("Configurations: " + $Configurations.Count + " (" + $Configurations + ")") -Write-Output ("Platforms: " + $Platforms.Count + " (" + $Platforms + ")") +Write-Output "WDK Build Environment: $build_environment" +Write-Output "WDK Build Number: $build_number" +if (($build_environment -eq "GitHub") -or ($build_environment -eq "NuGet")) { +Write-Output "WDK Nuget Version: $nuget_package_version" +} +Write-Output "WDK Extension Version: $wdk_extension_ver" +Write-Output "Samples: $($sampleSet.Count)" +Write-Output "Configurations: $($Configurations.Count) ($Configurations)" +Write-Output "Platforms: $($Platforms.Count) ($Platforms)" Write-Output "InfVerif_AdditionalOptions: $InfVerif_AdditionalOptions" Write-Output "Combinations: $SolutionsTotal" Write-Output "LogicalProcessors: $LogicalProcessors" Write-Output "ThrottleFactor: $ThrottleFactor" Write-Output "ThrottleLimit: $ThrottleLimit" Write-Output "WDS_WipeOutputs: $env:WDS_WipeOutputs" -Write-Output ("Disk Remaining (GB): " + (((Get-Volume ($DriveLetter = (Get-Item ".").PSDrive.Name)).SizeRemaining / 1GB))) +Write-Output "Disk Remaining (GB): $(((Get-Volume ((Get-Item ".").PSDrive.Name)).SizeRemaining) / 1GB)" Write-Output "" Write-Output "T: Combinations" Write-Output "B: Built" diff --git a/Building-Locally.md b/Building-Locally.md index e3db8dde..312c5967 100644 --- a/Building-Locally.md +++ b/Building-Locally.md @@ -2,16 +2,19 @@ ## Step 1: Install Tools -``` +```powershell winget install --id Microsoft.Powershell --source winget winget install --id Git.Git --source winget ``` For using WDK NuGet feed based build additionally: -``` + +```powershell winget install --id Microsoft.NuGet --source winget ``` +--- + ## Step 2: Optional: Disable Strong Name Validation When: This step is only required if you will be using pre-release versions of the WDK. @@ -26,16 +29,20 @@ reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\*,31bf3856 reg add HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\*,31bf3856ad364e35 /v TestPublicKey /t REG_SZ /d 00240000048000009400000006020000002400005253413100040000010001003f8c902c8fe7ac83af7401b14c1bd103973b26dfafb2b77eda478a2539b979b56ce47f36336741b4ec52bbc51fecd51ba23810cec47070f3e29a2261a2d1d08e4b2b4b457beaa91460055f78cc89f21cd028377af0cc5e6c04699b6856a1e49d5fad3ef16d3c3d6010f40df0a7d6cc2ee11744b5cfb42e0f19a52b8a29dc31b0 /f ``` +--- + ## Step 3: Optional: Install Microsoft .NET Framework 4.7.2 Targeting Pack and Microsoft .NET Framework 4.8.1 SDK When: This step is only required to build sample usb\usbview . ### Option A: Install VS Components + Easy: If you will install Visual Studio (see later) you may at that point select to add both of following individual components: * .NET Framework 4.7.2 targeting pack * .NET Framework 4.8.1 SDK ### Option B: Use EWDK + Easy: If you use EWDK, then all necessary prequisites are included. ### Option C: Install Developer Pack @@ -52,24 +59,30 @@ This will install following Apps: * Microsoft .NET Framework 4.8.1 Targeting Pack * Microsoft .NET Framework 4.8.1 Targeting Pack (ENU) +--- + ## Step 4: Clone Windows Driver Samples and checkout relevant branch -``` -cd path\to\your\repos -git clone --recurse-submodules https://github.com/microsoft/Windows-driver-samples.git -cd Windows-driver-samples +```powershell +cd "path\to\your\repos" +git clone --recurse-submodules "https://github.com/microsoft/Windows-driver-samples.git" +cd ".\Windows-driver-samples" ``` If you are planning to use in-market WDK, then you would typically want to use the 'main' branch: + ``` git checkout main ``` If you are planning to use a WDK Preview or WDK EEAP release, then you would typically want to use the 'develop' branch: + ``` git checkout develop ``` +--- + ## Step 5: Create a "driver build environment" To build the Windows Driver Samples you need a "driver build environment". In essence an environment that consist of following prerequisites: @@ -78,53 +91,55 @@ To build the Windows Driver Samples you need a "driver build environment". In e * The Windows Driver Kit. ### Option A: Use WDK NuGet Packages -* See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to install Visual Studio, but only complete "Step 1". You do not need to install the SDK or the WDK. -* Install the Visual Studio Windows Driver Kit Extension (WDK.vsix). - * Open Visual Studio -> Extensions -> Manage Extensions... -> Browse. - * In the search bar type: `Windows Driver Kit`. - * Find the `Microsoft` signed extension. - * Click the Install button. + +* See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to install Visual Studio, but only complete `Step 1`. You do not need to install the SDK or the WDK. * Launch a "Developer Command Prompt for VS 2022". * Restore WDK packages from feed : -``` ->cd path\to\your\repos\Windows-driver-samples ->nuget restore -PackagesDirectory .\packages +```powershell +cd "path\to\your\repos\Windows-driver-samples" +nuget restore -PackagesDirectory ".\packages" ``` -* When this is done you should have a .\packages folder that looks exactly as follows: -``` ->cd path\to\your\repos\Windows-driver-samples ->dir /b packages +* When this is done you should have a .\packages folder that looks like example below: + +```powershell +cd "path\to\your\repos\Windows-driver-samples" +dir /b packages Microsoft.Windows.SDK.CPP.10.0.26000.1 Microsoft.Windows.SDK.CPP.x64.10.0.26000.1 Microsoft.Windows.SDK.CPP.arm64.10.0.26000.1 Microsoft.Windows.WDK.x64.10.0.26000.1 Microsoft.Windows.WDK.arm64.10.0.26000.1 ``` + ### Option B: Use the Windows Driver Kit + * Here you will install each of above prerequisites one at a time. * See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to install Visual Studio, SDK, and WDK. * Launch a "Developer Command Prompt for VS 2022". ### Option C: Use an Enterprise WDK + * You can also simply use the Enterprise WDK (EWDK), a standalone, self-contained command-line environment for building drivers that contains all prerequisites in one combined ISO. * See [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk) for instructions on how to download the EWDK. * Mount ISO image * Open a terminal * `.\LaunchBuildEnv` +--- ## Step 6: Check all samples builds with expected results for all flavors -``` +```powershell pwsh .\Build-AllSamples ``` Above builds all samples for all configurations and platforms. You can refine what exact samples to build, what configurations, and platforms to build. build Here are a few examples: -``` + +```powershell # Get Help: Get-Help .\Build-AllSamples @@ -144,9 +159,9 @@ Get-Help .\Build-AllSamples .\Build-AllSamples -Samples '^tools.' -Configurations 'Debug' -Platforms 'x64' ``` -Expected output: +Example of expected output: + ``` -PS > .\build-AllSamples.ps1 Build Environment: NuGet Build Number: 26100 Samples: 132 @@ -190,6 +205,8 @@ Log files directory: .\_logs Overview report: .\_overview.htm ``` +--- + ## 7: NuGet - Additional Notes To restore a specific version of our WDK NuGet packages: @@ -201,12 +218,13 @@ Follow these steps before running "nuget restore" command: * Now you can run "nuget restore" A few examples of how to interact with nuget: -``` + +```powershell # To add an alternative online NuGet source: -nuget sources add -Name "MyNuGetFeed" -Source https://nugetserver.com/_packaging/feedname/nuget/v3/index.json +nuget sources add -Name "MyNuGetFeed" -Source "https://nugetserver.com/_packaging/feedname/nuget/v3/index.json" # To add an alternative local NuGet source: -nuget sources add -Name "MyNuGetFeed" -Source \\path\to\mylocalrepo +nuget sources add -Name "MyNuGetFeed" -Source "\\path\to\mylocalrepo" # To remove an alternative NuGet source: nuget sources remove -Name "MyNuGetFeed" diff --git a/configuration.dsc.yaml b/configuration.dsc.yaml index f8245c08..3d25ff06 100644 --- a/configuration.dsc.yaml +++ b/configuration.dsc.yaml @@ -42,6 +42,7 @@ properties: - Microsoft.VisualStudio.Component.VC.MFC.ARM64 - Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre - Microsoft.VisualStudio.Workload.NativeDesktop + - Component.Microsoft.Windows.DriverKit - resource: Microsoft.WinGet.DSC/WinGetPackage id: sdkPackage directives: @@ -62,20 +63,4 @@ properties: id: Microsoft.WindowsWDK.10.0.26100 source: winget useLatest: true - - resource: PSDscResources/Script - id: wdkVsix - dependsOn: - - wdkPackage - - vsComponents - directives: - description: Install Windows Driver Kit VSIX - settings: - GetScript: | - return & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -version '[17.0,18.0)' -requires Microsoft.Windows.DriverKit -property installationVersion - SetScript: | - $installerPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -latest -products * -property enginePath | Join-Path -ChildPath 'VSIXInstaller.exe' - if (Test-Path $installerPath) { & $installerPath /q "${env:ProgramFiles(x86)}\Windows Kits\10\Vsix\VS2022\10.0.26100.0\${env:PROCESSOR_ARCHITECTURE}\WDK.vsix" } - TestScript: | - $versionString = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -nologo -version '[17.0,18.0)' -requires Microsoft.Windows.DriverKit -property installationVersion - return $versionString -match "^17\." - configurationVersion: 0.2.0 + configurationVersion: 0.2.1 diff --git a/configuration_vsonly.dsc.yaml b/configuration_vsonly.dsc.yaml index 6ce4fc83..9d86a4f7 100644 --- a/configuration_vsonly.dsc.yaml +++ b/configuration_vsonly.dsc.yaml @@ -42,4 +42,5 @@ properties: - Microsoft.VisualStudio.Component.VC.MFC.ARM64 - Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre - Microsoft.VisualStudio.Workload.NativeDesktop - configurationVersion: 0.2.0 + - Component.Microsoft.Windows.DriverKit + configurationVersion: 0.2.1 -- cgit v1.3.1 From 6889bc8ede841fbee442dd668906f2798cd9936d Mon Sep 17 00:00:00 2001 From: Adonais Romero González Date: Tue, 21 Jan 2025 17:33:30 -0800 Subject: Miscellaneous improvements to build scripts (#1240) * Refactor Build-SampleSet to remove warnings & support EWDK * Improved readability and logging on Build-Sample script --- Build-Sample.ps1 | 27 +++++++++++++++------------ Build-SampleSet.ps1 | 18 ++++++++++++------ 2 files changed, 27 insertions(+), 18 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-Sample.ps1 b/Build-Sample.ps1 index 8c614bd2..093ba1ed 100644 --- a/Build-Sample.ps1 +++ b/Build-Sample.ps1 @@ -147,39 +147,42 @@ $myexit=0 # If we fail at first, but succeed at either of next two attempts, then it is a sporadic failure. # If we even at third attempt fail, then it is a true failure. # -for ($i=0; $i -le 2; $i++) { +for ($i = 0; $i -lt 3; $i++) +{ + $binLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.$i.binlog" $errorLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.$i.err" $warnLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.$i.wrn" $OutLogFilePath = "$LogFilesDirectory\$SampleName.$Configuration.$Platform.$i.out" - msbuild $solutionFile -clp:Verbosity=m -t:rebuild -property:Configuration=$Configuration -property:Platform=$Platform -p:TargetVersion=Windows10 -p:InfVerif_AdditionalOptions="$InfVerif_AdditionalOptions" -warnaserror -flp1:errorsonly`;logfile=$errorLogFilePath -flp2:WarningsOnly`;logfile=$warnLogFilePath -noLogo > $OutLogFilePath - if ($env:WDS_WipeOutputs -ne $null) + msbuild $solutionFile -clp:Verbosity=m -t:rebuild -property:Configuration=$Configuration -property:Platform=$Platform -p:TargetVersion=Windows10 -p:InfVerif_AdditionalOptions="$InfVerif_AdditionalOptions" -warnaserror -binaryLogger:LogFile=$binLogFilePath`;ProjectImports=None -flp1:errorsonly`;logfile=$errorLogFilePath -flp2:WarningsOnly`;logfile=$warnLogFilePath -noLogo > $OutLogFilePath + if ($null -ne $env:WDS_WipeOutputs) { - Write-Verbose ("WipeOutputs: "+$Directory+" "+(((Get-Volume ($DriveLetter=(Get-Item ".").PSDrive.Name)).SizeRemaining/1GB))) - Get-ChildItem -path $Directory -Recurse -Include x64|Remove-Item -Recurse - Get-ChildItem -path $Directory -Recurse -Include arm64|Remove-Item -Recurse + Write-Verbose ("WipeOutputs: " + $Directory + " " + (((Get-Volume (Get-Item ".").PSDrive.Name).SizeRemaining / 1GB))) + Get-ChildItem -path $Directory -Recurse -Include x64 | Remove-Item -Recurse + Get-ChildItem -path $Directory -Recurse -Include arm64 | Remove-Item -Recurse } if ($LASTEXITCODE -eq 0) { # We succeeded building. - # If at first attempt, then $myexit=0 - # If at later attempt, then $myexit=2 + # If it was at a later attempt, let the caller know with a different exit code. if ($i -eq 0) { - $myexit=0 + $myexit = 0 } else { - $myexit=2 + $myexit = 2 } - break; + # Remove binlog on success to save space; keep otherwise to diagnose issues. + Remove-Item $binLogFilePath + break; } else { # We failed building. # Let us sleep for a bit. # Then let the while loop do its thing and re-run. - sleep 1 + Start-Sleep 1 if ($Verbose) { Write-Warning "`u{274C} Build failed. Retrying to see if sporadic..." diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index f6765395..270a7eaa 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -14,7 +14,7 @@ $root = Get-Location if (-not $env:VSCMD_VER) { Import-Module (Resolve-Path "$env:ProgramFiles\Microsoft Visual Studio\2022\*\Common7\Tools\Microsoft.VisualStudio.DevShell.dll") Enter-VsDevShell -VsInstallPath (Resolve-Path "$env:ProgramFiles\Microsoft Visual Studio\2022\*") - cd $root + Set-Location $root } $ThrottleFactor = 5 @@ -97,7 +97,7 @@ else { # Dump all environment variables so as to help debug error: Write-Output "Environment variables {" - gci env:* | sort-object name + Get-ChildItem env:* | Sort-Object name Write-Output "Environment variables }" Write-Error "Could not determine build environment." @@ -105,11 +105,17 @@ else { } # # Get the WDK extension version from installed packages -$wdk_extension_ver = ls "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select -ExpandProperty Name +$wdk_extension_ver = Get-ChildItem "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select-Object -ExpandProperty Name $wdk_extension_ver = ([regex]'(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches($wdk_extension_ver).Value if (-not $wdk_extension_ver) { - Write-Error "No version of the WDK Visual Studio Extension could be found. The WDK Extension is not installed." - exit 1 + # Be lenient with EWDK builds that do not include the package information + if ($build_environment -match '^EWDK') { + $wdk_extension_ver = "(package not found)" + } + else { + Write-Error "No version of the WDK Visual Studio Extension could be found. The WDK Extension is not installed." + exit 1 + } } # # @@ -348,7 +354,7 @@ $Results = $jresult.Results Write-Output "Built all combinations." Write-Output "" Write-Output "Elapsed time: $min minutes, $seconds seconds." -Write-Output ("Disk Remaining (GB): " + (((Get-Volume ($DriveLetter = (Get-Item ".").PSDrive.Name)).SizeRemaining / 1GB))) +Write-Output ("Disk Remaining (GB): " + (((Get-Volume (Get-Item ".").PSDrive.Name).SizeRemaining / 1GB))) Write-Output ("Samples: " + $sampleSet.Count) Write-Output ("Configurations: " + $Configurations.Count + " (" + $Configurations + ")") Write-Output ("Platforms: " + $Platforms.Count + " (" + $Platforms + ")") -- cgit v1.3.1 From 121daafe556965527d95284b83dad9d9a8fb99ac Mon Sep 17 00:00:00 2001 From: 5an7y Date: Wed, 30 Jul 2025 13:30:21 -0700 Subject: Fix the wdk version in EWDK --- Build-SampleSet.ps1 | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index 270a7eaa..42ca7b9a 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -104,19 +104,20 @@ else { exit 1 } # -# Get the WDK extension version from installed packages -$wdk_extension_ver = Get-ChildItem "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" | Select-Object -ExpandProperty Name -$wdk_extension_ver = ([regex]'(\d+\.)(\d+\.)(\d+\.)(\d+)').Matches($wdk_extension_ver).Value -if (-not $wdk_extension_ver) { - # Be lenient with EWDK builds that do not include the package information - if ($build_environment -match '^EWDK') { - $wdk_extension_ver = "(package not found)" - } - else { + +# Be lenient with EWDK builds that do not include the package information +if ($build_environment -match '^EWDK') { + $wdk_extension_ver = "(package is not included for EWDK builds)" +} else { + # Get the WDK extension version from installed packages + $wdk_extension_ver = Get-ChildItem "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" -ErrorAction SilentlyContinue + if (-not $wdk_extension_ver) { Write-Error "No version of the WDK Visual Studio Extension could be found. The WDK Extension is not installed." exit 1 } + $wdk_extension_ver = [regex]::Match($wdk_extension_ver.Name, '(\d+\.){3}\d+').Value } + # # # InfVerif_AdditionalOptions -- cgit v1.3.1 From 5c981553b7e6499269ec8d9ce7c1a23185ef1fb5 Mon Sep 17 00:00:00 2001 From: 5an7y Date: Mon, 11 Aug 2025 10:02:39 -0700 Subject: WDK VS component naming convention --- Build-SampleSet.ps1 | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'Build-SampleSet.ps1') diff --git a/Build-SampleSet.ps1 b/Build-SampleSet.ps1 index 42ca7b9a..8638d517 100644 --- a/Build-SampleSet.ps1 +++ b/Build-SampleSet.ps1 @@ -103,19 +103,20 @@ else { Write-Error "Could not determine build environment." exit 1 } -# -# Be lenient with EWDK builds that do not include the package information +# Determine WDK Visual Studio Component version +# +# Be lenient with EWDK builds that do not include the component information if ($build_environment -match '^EWDK') { - $wdk_extension_ver = "(package is not included for EWDK builds)" + $wdk_vs_component_ver = "(WDK Visual Studio Component Version is not included for EWDK builds)" } else { # Get the WDK extension version from installed packages - $wdk_extension_ver = Get-ChildItem "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" -ErrorAction SilentlyContinue - if (-not $wdk_extension_ver) { - Write-Error "No version of the WDK Visual Studio Extension could be found. The WDK Extension is not installed." + $wdk_vs_component_ver = Get-ChildItem "${env:ProgramData}\Microsoft\VisualStudio\Packages\Microsoft.Windows.DriverKit,version=*" -ErrorAction SilentlyContinue + if (-not $wdk_vs_component_ver) { + Write-Error "WDK Visual Studio Component version not found. Please ensure the WDK Component is installed." exit 1 } - $wdk_extension_ver = [regex]::Match($wdk_extension_ver.Name, '(\d+\.){3}\d+').Value + $wdk_vs_component_ver = [regex]::Match($wdk_vs_component_ver.Name, '(\d+\.){3}\d+').Value } # @@ -180,22 +181,22 @@ $jresult = @{ $SolutionsTotal = $sampleSet.Count * $Configurations.Count * $Platforms.Count -Write-Output "WDK Build Environment: $build_environment" -Write-Output "WDK Build Number: $build_number" +Write-Output "WDK Build Environment: $build_environment" +Write-Output "WDK Build Number: $build_number" if (($build_environment -eq "GitHub") -or ($build_environment -eq "NuGet")) { -Write-Output "WDK Nuget Version: $nuget_package_version" +Write-Output "WDK Nuget Version: $nuget_package_version" } -Write-Output "WDK Extension Version: $wdk_extension_ver" -Write-Output "Samples: $($sampleSet.Count)" -Write-Output "Configurations: $($Configurations.Count) ($Configurations)" -Write-Output "Platforms: $($Platforms.Count) ($Platforms)" -Write-Output "InfVerif_AdditionalOptions: $InfVerif_AdditionalOptions" -Write-Output "Combinations: $SolutionsTotal" -Write-Output "LogicalProcessors: $LogicalProcessors" -Write-Output "ThrottleFactor: $ThrottleFactor" -Write-Output "ThrottleLimit: $ThrottleLimit" -Write-Output "WDS_WipeOutputs: $env:WDS_WipeOutputs" -Write-Output "Disk Remaining (GB): $(((Get-Volume ((Get-Item ".").PSDrive.Name)).SizeRemaining) / 1GB)" +Write-Output "WDK Visual Studio Component Version: $wdk_vs_component_ver" +Write-Output "Samples: $($sampleSet.Count)" +Write-Output "Configurations: $($Configurations.Count) ($Configurations)" +Write-Output "Platforms: $($Platforms.Count) ($Platforms)" +Write-Output "InfVerif_AdditionalOptions: $InfVerif_AdditionalOptions" +Write-Output "Combinations: $SolutionsTotal" +Write-Output "LogicalProcessors: $LogicalProcessors" +Write-Output "ThrottleFactor: $ThrottleFactor" +Write-Output "ThrottleLimit: $ThrottleLimit" +Write-Output "WDS_WipeOutputs: $env:WDS_WipeOutputs" +Write-Output "Disk Remaining (GB): $(((Get-Volume ((Get-Item ".").PSDrive.Name)).SizeRemaining) / 1GB)" Write-Output "" Write-Output "T: Combinations" Write-Output "B: Built" -- cgit v1.3.1