summaryrefslogtreecommitdiff
path: root/network/trans/WFPSampler
diff options
context:
space:
mode:
authorElaine Houha <[email protected]>2024-02-05 10:25:29 -0800
committerGitHub <[email protected]>2024-02-05 10:25:29 -0800
commit220545ea6e98af9259b66ea3983b51dbf3b2bf1e (patch)
tree4e99ba9e0da4caec420e4f0941df6864589767dd /network/trans/WFPSampler
parent4757e838c7703d4a5edc1eed6a80b916dc40461d (diff)
Updating the Windows Filtering Platform Samples to compile correctly on VS2022 (#1089)
* ddproxy compiles on VS2022 * inspect compiles on VS2022 * stmEdit compiles on VS2022 * sampler compiles on VS2022 * changes some encodings and updates the stmedit version * restores the vcxproj * more vcxproj fixes * ddproxy inf * stmedit vcxproj pt2 * stmd sln * Update exclusions.csv * all but one flavor compiles on NI EWDK * found a bug in an assert * Builds clean for all drivers except WfpSampler on both WDK 17.1.5 and 17.8.2, WFPSampler changes get it to build on WDK 17.1.5 but there are still issues with 17.8.2 --------- Co-authored-by: Elaine Houha <[email protected]> Co-authored-by: JakobL-MSFT <[email protected]>
Diffstat (limited to 'network/trans/WFPSampler')
-rw-r--r--network/trans/WFPSampler/exe/WFPSampler.vcxproj4
-rw-r--r--network/trans/WFPSampler/exe/WFPSampler.vcxproj.Filters53
-rw-r--r--network/trans/WFPSampler/lib/WFPSampler.vcxproj2
-rw-r--r--network/trans/WFPSampler/svc/WFPSamplerService.vcxproj12
-rw-r--r--network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp6
-rw-r--r--network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp4
-rw-r--r--network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InXbin7082 -> 3438 bytes
-rw-r--r--network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj40
-rw-r--r--network/trans/WFPSampler/sys/Wfp_Annotations.h213
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.cpp2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.h4
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.cpp2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.h2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.cpp2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.h2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.cpp4
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.h4
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.cpp2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.h2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_PendData.cpp2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_PendData.h2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp2
-rw-r--r--network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.h2
-rw-r--r--network/trans/WFPSampler/syslib/WFPSampler.vcxproj2
24 files changed, 325 insertions, 45 deletions
diff --git a/network/trans/WFPSampler/exe/WFPSampler.vcxproj b/network/trans/WFPSampler/exe/WFPSampler.vcxproj
index 34c79187..c1f469c6 100644
--- a/network/trans/WFPSampler/exe/WFPSampler.vcxproj
+++ b/network/trans/WFPSampler/exe/WFPSampler.vcxproj
@@ -37,7 +37,7 @@
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>True</UseDebugLibraries>
- <DriverTargetPlatform>Desktop</DriverTargetPlatform>
+ <DriverTargetPlatform>Universal</DriverTargetPlatform>
<DriverType />
<PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
<ConfigurationType>Application</ConfigurationType>
@@ -106,6 +106,7 @@
<Link>
<AdditionalOptions>%(AdditionalOptions) /integritycheck</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;fwpuclnt.lib;ws2_32.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -127,6 +128,7 @@
<Link>
<AdditionalOptions>%(AdditionalOptions) /integritycheck</AdditionalOptions>
<AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;fwpuclnt.lib;ws2_32.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
diff --git a/network/trans/WFPSampler/exe/WFPSampler.vcxproj.Filters b/network/trans/WFPSampler/exe/WFPSampler.vcxproj.Filters
index 53a436b8..490ff8d2 100644
--- a/network/trans/WFPSampler/exe/WFPSampler.vcxproj.Filters
+++ b/network/trans/WFPSampler/exe/WFPSampler.vcxproj.Filters
@@ -64,4 +64,57 @@
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="*.h;*.hpp;*.hxx;*.hm;*.inl;*.xsd">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/network/trans/WFPSampler/lib/WFPSampler.vcxproj b/network/trans/WFPSampler/lib/WFPSampler.vcxproj
index 713e363f..0db02cd7 100644
--- a/network/trans/WFPSampler/lib/WFPSampler.vcxproj
+++ b/network/trans/WFPSampler/lib/WFPSampler.vcxproj
@@ -38,7 +38,7 @@
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>True</UseDebugLibraries>
- <DriverTargetPlatform>Desktop</DriverTargetPlatform>
+ <DriverTargetPlatform>Universal</DriverTargetPlatform>
<DriverType />
<PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
<ConfigurationType>StaticLibrary</ConfigurationType>
diff --git a/network/trans/WFPSampler/svc/WFPSamplerService.vcxproj b/network/trans/WFPSampler/svc/WFPSamplerService.vcxproj
index 94eb7ad7..ec614826 100644
--- a/network/trans/WFPSampler/svc/WFPSamplerService.vcxproj
+++ b/network/trans/WFPSampler/svc/WFPSamplerService.vcxproj
@@ -105,7 +105,9 @@
</ResourceCompile>
<Link>
<AdditionalOptions>%(AdditionalOptions) /integritycheck</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;api-ms-win-net-isolation-l1-1-0.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;OneCoreUap.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <IgnoreSpecificDefaultLibraries>msvcrt.lib;libcmtd.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -126,7 +128,9 @@
</ResourceCompile>
<Link>
<AdditionalOptions>%(AdditionalOptions) /integritycheck</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;api-ms-win-net-isolation-l1-1-0.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;OneCoreUap.lib;.\..\lib\$(IntDir)WFPSampler.lib</AdditionalDependencies>
+ <IgnoreSpecificDefaultLibraries>msvcrt.lib;libcmtd.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -147,7 +151,7 @@
</ResourceCompile>
<Link>
<AdditionalOptions>%(AdditionalOptions) /integritycheck</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;api-ms-win-net-isolation-l1-1-0.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;OneCoreUap.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -168,7 +172,7 @@
</ResourceCompile>
<Link>
<AdditionalOptions>%(AdditionalOptions) /integritycheck</AdditionalOptions>
- <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;api-ms-win-net-isolation-l1-1-0.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies);advapi32.lib;comctl32.lib;kernel32.lib;netapi32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;ntdll.lib;kernel32.lib;setupapi.lib;rpcrt4.lib;rpcns4.lib;fwpuclnt.lib;ws2_32.lib;OneCoreUap.lib;.\..\lib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
diff --git a/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp b/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp
index 64c0b401..0c42a94e 100644
--- a/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp
+++ b/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp
@@ -4199,12 +4199,6 @@ VOID PerformBasicPacketExaminationAtDiscard(_In_ CLASSIFY_DATA* pClassifyData)
break;
}
- case IpDiscardIPSNPIDrop:
- {
- pDiscardReason = "IPSNPI Drop";
-
- break;
- }
}
break;
diff --git a/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp b/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp
index 34dcc81d..7145b5ed 100644
--- a/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp
+++ b/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp
@@ -139,7 +139,9 @@ VOID NTAPI CompleteBasicStreamInjection(_In_ VOID* pContext,
NT_ASSERT(pContext);
NT_ASSERT(pNetBufferList);
NT_ASSERT(NT_SUCCESS(pNetBufferList->Status) ||
- pNetBufferList->Status == STATUS_CONNECTION_ABORTED);
+ pNetBufferList->Status == STATUS_CONNECTION_ABORTED ||
+ pNetBufferList->Status == STATUS_CONNECTION_RESET ||
+ pNetBufferList->Status == STATUS_INVALID_DEVICE_STATE);
if(pNetBufferList->Status != STATUS_SUCCESS)
DbgPrintEx(DPFLTR_IHVNETWORK_ID,
diff --git a/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InX b/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InX
index 8ffd6f06..bb55b7ad 100644
--- a/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InX
+++ b/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InX
Binary files differ
diff --git a/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj b/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj
index 672d5a8f..6df169be 100644
--- a/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj
+++ b/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj
@@ -39,7 +39,7 @@
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>True</UseDebugLibraries>
- <DriverTargetPlatform>Universal</DriverTargetPlatform>
+ <DriverTargetPlatform>Windows Driver</DriverTargetPlatform>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
@@ -122,15 +122,15 @@
<TreatWarningAsError>true</TreatWarningAsError>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ClCompile>
<Midl>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies);$(DDK_LIB_PATH)\NTOSKrnl.lib;$(DDK_LIB_PATH)\FwpKClnt.lib;$(DDK_LIB_PATH)\NetIO.lib;$(DDK_LIB_PATH)\NDIS.lib;$(DDK_LIB_PATH)\WDMSec.lib;$(SDK_LIB_PATH)\UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
@@ -141,18 +141,18 @@
<TreatWarningAsError>true</TreatWarningAsError>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ClCompile>
<Midl>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
- <AdditionalDependencies>%(AdditionalDependencies);$(DDK_LIB_PATH)\NTOSKrnl.lib;$(DDK_LIB_PATH)\FwpKClnt.lib;$(DDK_LIB_PATH)\NetIO.lib;$(DDK_LIB_PATH)\NDIS.lib;$(DDK_LIB_PATH)\WDMSec.lib;$(SDK_LIB_PATH)\UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
+ <AdditionalDependencies>%(AdditionalDependencies);$(DDK_LIB_PATH)\NTOSKrnl.lib;$(DDK_LIB_PATH)\FwpKClnt.lib;$(DDK_LIB_PATH)\NetIO.lib;$(DDK_LIB_PATH)\NDIS.lib;$(DDK_LIB_PATH)\WDMSec.lib;$(SDK_LIB_PATH)\UUID.lib;.\..\syslib\$(IntDir)WFPSampler.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -160,15 +160,15 @@
<TreatWarningAsError>true</TreatWarningAsError>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ClCompile>
<Midl>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies);$(DDK_LIB_PATH)\NTOSKrnl.lib;$(DDK_LIB_PATH)\FwpKClnt.lib;$(DDK_LIB_PATH)\NetIO.lib;$(DDK_LIB_PATH)\NDIS.lib;$(DDK_LIB_PATH)\WDMSec.lib;$(SDK_LIB_PATH)\UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
@@ -179,15 +179,15 @@
<TreatWarningAsError>true</TreatWarningAsError>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ClCompile>
<Midl>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;UNICODE;_UNICODE;NDIS630</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc;.\..\syslib;$(DDK_INC_PATH)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies);$(DDK_LIB_PATH)\NTOSKrnl.lib;$(DDK_LIB_PATH)\FwpKClnt.lib;$(DDK_LIB_PATH)\NetIO.lib;$(DDK_LIB_PATH)\NDIS.lib;$(DDK_LIB_PATH)\WDMSec.lib;$(SDK_LIB_PATH)\UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
@@ -204,6 +204,12 @@
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
+ <Link>
+ <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ </Link>
+ <Link>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ </Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
@@ -213,6 +219,12 @@
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
+ <Link>
+ <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ </Link>
+ <Link>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ </Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
diff --git a/network/trans/WFPSampler/sys/Wfp_Annotations.h b/network/trans/WFPSampler/sys/Wfp_Annotations.h
new file mode 100644
index 00000000..3bfd56c6
--- /dev/null
+++ b/network/trans/WFPSampler/sys/Wfp_Annotations.h
@@ -0,0 +1,213 @@
+#pragma once
+/*****************************************************************************\
+* *
+* DriverSpecs.h - markers for documenting the semantics of WFP callout driver *
+* APIs *
+* *
+* Version 1.0.0 *
+* *
+* Copyright (c) Microsoft Corporation. All rights reserved. *
+* *
+\*****************************************************************************/
+
+/*****************************************************************************\
+* NOTE *
+* NOTE *
+* NOTE *
+* The macro bodies in this file are subject to change without notice. *
+* Attempting to use the annotations in the macro bodies directly is not *
+* supported. *
+* NOTE *
+* NOTE *
+* NOTE *
+\*****************************************************************************/
+
+/*****************************************************************************\
+* The annotations described by wfp_annotations.h are used to annotate drivers.
+*
+* Wfp_annotations.h contains those annotations which are appropriate to userspace
+* code, or which might appear in headers that are shared between user space
+* and kernel space.
+*
+* Many annotations are context dependent. They only apply to certain versions
+* of Windows, or only to certain classes of driver. These rules can be written
+* using something like __drv_when(NTDDI_VERSION >= NTDDI_WINXP, ...)
+* which causes the rule only to apply to Windows XP and later. Many of these
+* symbols are already defined in various Windows headers.
+*
+* To facilitate using this sort of conditional rule, we collect here the
+* various known symbols that are (or reasonably might) be used in such
+* a conditional annotation. Some are speculative in that the symbol has
+* not yet been defined because there are no known uses of it yet.
+// @@BEGIN_DDKSPLIT
+* It is expected that the first user of that symbol will add it to the
+* appropriate system header AND update this comment to reflect that.
+* Adding additional similar comments is encouraged.
+// @@END_DDKSPLIT
+*
+* Where the symbol already exists its relevant header is
+* noted below (excluding the "really well known" ones).
+*
+* Each symbol is listed with the currently known possible values.
+*
+* Some symbols are marked as #define symbols -- they are used with #ifdef
+* operators only. To use them in __drv_when, use something like
+* __drv_when(__drv_defined(NT), ...).
+*
+* WDK Version (copied for convenience from sdkddkver.h)
+* NTDDI_VERSION: NTDDI_WIN2K NTDDI_WIN2KSP1 NTDDI_WIN2KSP2 NTDDI_WIN2KSP3
+* NTDDI_WIN2KSP4 NTDDI_WINXP NTDDI_WINXPSP1 NTDDI_WINXPSP2
+* NTDDI_WS03 NTDDI_WS03SP1 NTDDI_VISTA
+* The WDK version is taken as the WDM version as well.
+*
+* OS Version: (copied for convenience from sdkddkver.h)
+* _WIN32_WINNT: _WIN32_WINNT_NT4 _WIN32_WINNT_WIN2K _WIN32_WINNT_WINXP
+* _WIN32_WINNT_WS03 _WIN32_WINNT_LONGHORN
+* WINVER: 0x030B 0x0400 0x0500 0x0600
+* NT (#define symbol)
+* (sdkddkver.h also defines symbols for IE versions should they be needed.)
+*
+* Compiler Version:
+* _MSC_VER: too many to list.
+* _MSC_FULL_VER: too many to list.
+*
+* KMDF Version: (Currently defined/used only in makefiles.)
+* KMDF_VERSION: 1
+*
+* UMDF Version: (Currently defined/used only in makefiles.)
+* UMDF_VERSION: 1
+*
+* Architecture kinds:
+* __WIN64 (#define symbols)
+* _X86_
+* _AMD64_
+* _IA64_
+*
+* Machine Architectures:
+* _M_IX86
+* _M_AMD64
+* _M_IA64
+*
+* Driver Kind (NYI: "not yet implemented")
+* Typically these will be defined in the most-common header for a
+* particular driver (or in individual source files if appropriate).
+* These are not intended to necessarily be orthogonal: more than one might
+* apply to a particular driver.
+* _DRIVER_TYPE_BUS: 1 // NYI
+* _DRIVER_TYPE_FUNCTIONAL: 1 // NYI
+* _DRIVER_TYPE_MINIPORT: 1 // NYI
+* _DRIVER_TYPE_STORAGE: 1 // NYI
+* _DRIVER_TYPE_DISPLAY: 1 // NYI
+* _DRIVER_TYPE_FILESYSTEM: 1
+* _DRIVER_TYPE_FILESYSTEM_FILTER: 1
+*
+* NDIS driver version: (see ndis.h for much more detail.)
+* These can be used to both identify an NDIS driver and to check the version.
+* NDIS40 NDIS50 NDIS51 NDIS60 (#defined symbols)
+* NDIS_PROTOCOL_MAJOR_VERSION.NDIS_PROTOCOL_MINOR_VERSION: 4.0 5.0 5.1 6.0
+* And many others in ndis.h (including MINIPORT)
+*
+\*****************************************************************************/
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define _Wfp_Annotation_ __declspec("_Wfp_Annotation_")
+#define _Wfp_stream_injection_classify_ __declspec("_Wfp_stream_injection_classify_")
+#define _Wfp_stream_inspection_classify_ __declspec("_Wfp_stream_inspection_classify_")
+#define _Wfp_stream_inspection_notify_ __declspec("_Wfp_stream_inspection_notify_")
+#define _Wfp_flow_inspection_notify_ __declspec("_Wfp_flow_inspection_notify_")
+#define _Wfp_flow_inspection_classify_ __declspec("_Wfp_flow_inspection_classify_")
+#define _Wfp_flow_injection_classify_ __declspec("_Wfp_flow_injection_classify_")
+#define _Wfp_Transport_inspection_classify_ __declspec("_Wfp_Transport_inspection_classify_")
+#define _Wfp_transport_injection_classify_ __declspec("_Wfp_transport_injection_classify_")
+#define _Wfp_transport_injection_classify_inline_ __declspec("_Wfp_transport_injection_classify_inline_")
+#define _Wfp_ale_inspection_notify_ __declspec("_Wfp_ale_inspection_notify_")
+#define _Wfp_ale_inspection_classify_ __declspec("_Wfp_ale_inspection_classify_")
+#define _Wfp_connect_redirect_inline_classify_ __declspec("_Wfp_connect_redirect_inline_classify_")
+#define _Wfp_connect_redirect_classify_ __declspec("_Wfp_connect_redirect_classify_")
+//
+//
+//
+//#define __drv_declspec(x) __declspec(x)
+//#define __$drv_group(annotes) \
+// __drv_declspec("SAL_begin") annotes __drv_declspec("SAL_end")
+//#define __drv_nop(x) x
+//
+// /****************************************************************************\
+// Callout Classify Annotions
+// /****************************************************************************/
+//
+// //_Wfp_Annotation_
+// __ANNOTATION(SAL_wfpAnnotation(void);)
+//#define _Wfp_Annotation_ \
+// _SAL2_Source_(_Wfp_Annotation_, (), _Post_ _SA_annotes0(SAL_wfpAnnotation))
+//
+//// Stream Injection
+// __ANNOTATION(SAL_wfpStreamInjection(void);)
+//#define _Wfp_stream_injection_classify_ \
+// _SAL2_Source_(_Wfp_stream_injection_classify_, (), _Post_ _SA_annotes0(SAL_wfpStreamInjection))
+//
+//// Stream Inspection
+// __ANNOTATION(SAL_wfpStreamInspection(void);)
+//#define _Wfp_stream_inspection_classify_ \
+// _SAL2_Source_(_Wfp_stream_inspection_classify_, (), _Post_ _SA_annotes0(SAL_wfpStreamInspection))
+//
+//__ANNOTATION(SAL_wfpStreamInspectionNotify(void);)
+//#define _Wfp_stream_inspection_notify_ \
+// _SAL2_Source_(_Wfp_stream_inspection_notify_, (), _Post_ _SA_annotes0(SAL_wfpStreamInspectionNotify))
+//
+//// Flow Inspections
+//__ANNOTATION(SAL_wfpFlowInspectionNotify(void);)
+//#define _Wfp_flow_inspection_notify_ \
+// _SAL2_Source_(_Wfp_flow_inspection_notify_, (), _Post_ _SA_annotes0(SAL_wfpFlowInspectionNotify))
+//
+//__ANNOTATION(SAL_wfpFlowInspectionClassify(void);)
+//#define _Wfp_flow_inspection_classify_ \
+// _SAL2_Source_(_Wfp_flow_inspection_classify_, (), _Post_ _SA_annotes0(SAL_wfpFlowInspectionClassify))
+//
+//__ANNOTATION(SAL_wfpFlowInjectionClassify(void);)
+//#define _Wfp_flow_injection_classify_ \
+// _SAL2_Source_(_Wfp_flow_injection_classify_, (), _Post_ _SA_annotes0(SAL_wfpFlowInjectionClassify))
+//
+//// Transport Injection/Inspection
+//
+//__ANNOTATION(SAL_wfpTransportInspection(void);)
+//#define _Wfp_Transport_inspection_classify_ \
+// _SAL2_Source_(_Wfp_Transport_inspection_classify_, (), _Post_ _SA_annotes0(SAL_wfpTransportInspection)) \
+//
+//__ANNOTATION(SAL_wfpTransportInjection(void);)
+//#define _Wfp_transport_injection_classify_ \
+// _SAL2_Source_(_Wfp_transport_injection_classify_, (), _Post_ _SA_annotes0(SAL_wfpTransportInjection)) \
+//
+//__ANNOTATION(SAL_wfpTransportInjectionInline(void);)
+//#define _Wfp_transport_injection_classify_inline_ \
+// _SAL2_Source_(_Wfp_transport_injection_classify_inline_, (), _Post_ _SA_annotes0(SAL_wfpTransportInjectionInline)) \
+//
+//
+//
+//// ALE Inspection Notify and Classify
+//__ANNOTATION(SAL_wfpAleInspectionNotify(void);)
+//#define _Wfp_ale_inspection_notify_ \
+// _SAL2_Source_(_Wfp_ale_inspection_notify_, (), _Post_ _SA_annotes0(SAL_wfpAleInspectionNotify)) \
+//
+//__ANNOTATION(SAL_wfpAleInspectionClassify(void);)
+//#define _Wfp_ale_inspection_classify_ \
+// _SAL2_Source_(_Wfp_ale_inspection_classify_, (), _Post_ _SA_annotes0(SAL_wfpAleInspectionClassify)) \
+//
+//// Connection Redirection Classify
+//__ANNOTATION(SAL_wfpConnectRedirectInlineClassify(void);)
+//#define _Wfp_connect_redirect_inline_classify_ \
+// _SAL2_Source_(_Wfp_connect_redirect_inline_classify_, (), _Post_ _SA_annotes0(SAL_wfpConnectRedirectInlineClassify)) \
+//
+//__ANNOTATION(SAL_wfpConnectRedirectClassify(void);)
+//#define _Wfp_connect_redirect_classify_ \
+// _SAL2_Source_(_Wfp_connect_redirect_classify_, (), _Post_ _SA_annotes0(SAL_wfpConnectRedirectClassify)) \
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.cpp
index fa2d4103..78db3cdb 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.cpp
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.cpp
@@ -179,7 +179,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppClassifyData == 0)
-inline VOID KrnlHlprClassifyDataDestroyLocalCopy(_Inout_ CLASSIFY_DATA** ppClassifyData)
+VOID KrnlHlprClassifyDataDestroyLocalCopy(_Inout_ CLASSIFY_DATA** ppClassifyData)
{
#if DBG
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.h b/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.h
index 6aa6e838..65ead66b 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.h
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_ClassifyData.h
@@ -44,7 +44,7 @@ typedef struct CLASSIFY_DATA_
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
-inline VOID KrnlHlprClassifyDataReleaseLocalCopy(_Inout_ CLASSIFY_DATA* pClassifyData);
+ VOID KrnlHlprClassifyDataReleaseLocalCopy(_Inout_ CLASSIFY_DATA* pClassifyData);
_At_(*ppClassifyData, _Pre_ _Notnull_)
_At_(*ppClassifyData, _Post_ _Null_ __drv_freesMem(Pool))
@@ -52,7 +52,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppClassifyData == 0)
-inline VOID KrnlHlprClassifyDataDestroyLocalCopy(_Inout_ CLASSIFY_DATA** ppClassifyData);
+VOID KrnlHlprClassifyDataDestroyLocalCopy(_Inout_ CLASSIFY_DATA** ppClassifyData);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.cpp
index 071c43f4..96fb3190 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.cpp
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.cpp
@@ -111,7 +111,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppDPCData == 0)
-inline VOID KrnlHlprDPCDataDestroy(_Inout_ DPC_DATA** ppDPCData)
+VOID KrnlHlprDPCDataDestroy(_Inout_ DPC_DATA** ppDPCData)
{
#if DBG
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.h b/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.h
index 4de525e9..5770d1ea 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.h
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_DeferredProcedureCalls.h
@@ -52,7 +52,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppDPCData == 0)
-inline VOID KrnlHlprDPCDataDestroy(_Inout_ DPC_DATA** ppDPCData);
+VOID KrnlHlprDPCDataDestroy(_Inout_ DPC_DATA** ppDPCData);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.cpp
index b6d561d6..a21dcf8a 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.cpp
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.cpp
@@ -105,7 +105,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(return == STATUS_SUCCESS && *ppFlowContext == 0)
-inline NTSTATUS KrnlHlprFlowContextDestroy(_Inout_ FLOW_CONTEXT** ppFlowContext)
+NTSTATUS KrnlHlprFlowContextDestroy(_Inout_ FLOW_CONTEXT** ppFlowContext)
{
#if DBG
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.h b/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.h
index 72689de5..6e180e7a 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.h
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_FlowContext.h
@@ -113,7 +113,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(return == STATUS_SUCCESS && *ppFlowContext == 0)
-inline NTSTATUS KrnlHlprFlowContextDestroy(_Inout_ FLOW_CONTEXT** ppFlowContext);
+NTSTATUS KrnlHlprFlowContextDestroy(_Inout_ FLOW_CONTEXT** ppFlowContext);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.cpp
index cc9a0646..f792472a 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.cpp
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.cpp
@@ -6331,7 +6331,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppMetadata == 0)
-inline VOID KrnlHlprFwpsIncomingMetadataValuesDestroyLocalCopy(_Inout_ FWPS_INCOMING_METADATA_VALUES** ppMetadata)
+VOID KrnlHlprFwpsIncomingMetadataValuesDestroyLocalCopy(_Inout_ FWPS_INCOMING_METADATA_VALUES** ppMetadata)
{
#if DBG
@@ -7169,7 +7169,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppIOPacket == 0)
-inline VOID KrnlHlprFwpsStreamCalloutIOPacketDestroyLocalCopy(_Inout_ FWPS_STREAM_CALLOUT_IO_PACKET** ppIOPacket)
+VOID KrnlHlprFwpsStreamCalloutIOPacketDestroyLocalCopy(_Inout_ FWPS_STREAM_CALLOUT_IO_PACKET** ppIOPacket)
{
#if DBG
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.h b/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.h
index 39f69f54..19dff1e6 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.h
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_FwpObjects.h
@@ -461,7 +461,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppMetadata == 0)
-inline VOID KrnlHlprFwpsIncomingMetadataValuesDestroyLocalCopy(_Inout_ FWPS_INCOMING_METADATA_VALUES** ppMetadata);
+VOID KrnlHlprFwpsIncomingMetadataValuesDestroyLocalCopy(_Inout_ FWPS_INCOMING_METADATA_VALUES** ppMetadata);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
@@ -548,7 +548,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppIOPacket == 0)
-inline VOID KrnlHlprFwpsStreamCalloutIOPacketDestroyLocalCopy(_Inout_ FWPS_STREAM_CALLOUT_IO_PACKET** ppIOPacket);
+VOID KrnlHlprFwpsStreamCalloutIOPacketDestroyLocalCopy(_Inout_ FWPS_STREAM_CALLOUT_IO_PACKET** ppIOPacket);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.cpp
index 663f7c60..a9014ed0 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.cpp
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.cpp
@@ -118,7 +118,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppInjectionData == 0)
-inline VOID KrnlHlprInjectionDataDestroy(_Inout_ INJECTION_DATA** ppInjectionData)
+VOID KrnlHlprInjectionDataDestroy(_Inout_ INJECTION_DATA** ppInjectionData)
{
#if DBG
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.h b/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.h
index d3d5d795..1e8619c7 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.h
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_InjectionData.h
@@ -57,7 +57,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppInjectionData == 0)
-inline VOID KrnlHlprInjectionDataDestroy(_Inout_ INJECTION_DATA** ppInjectionData);
+VOID KrnlHlprInjectionDataDestroy(_Inout_ INJECTION_DATA** ppInjectionData);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_PendData.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_PendData.cpp
index 1ad4338f..bc2528a0 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_PendData.cpp
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_PendData.cpp
@@ -142,7 +142,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppPendData == 0)
-inline VOID KrnlHlprPendDataDestroy(_Inout_ PEND_DATA** ppPendData)
+VOID KrnlHlprPendDataDestroy(_Inout_ PEND_DATA** ppPendData)
{
#if DBG
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_PendData.h b/network/trans/WFPSampler/syslib/HelperFunctions_PendData.h
index 17174e32..12e06b41 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_PendData.h
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_PendData.h
@@ -51,7 +51,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppPendData == 0)
-inline VOID KrnlHlprPendDataDestroy(_Inout_ PEND_DATA** ppPendData);
+VOID KrnlHlprPendDataDestroy(_Inout_ PEND_DATA** ppPendData);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp b/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp
index 23f4a6df..dd8b050e 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.cpp
@@ -112,7 +112,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppWorkItemData == 0)
-inline VOID KrnlHlprWorkItemDataDestroy(_Inout_ WORKITEM_DATA** ppWorkItemData)
+VOID KrnlHlprWorkItemDataDestroy(_Inout_ WORKITEM_DATA** ppWorkItemData)
{
#if DBG
diff --git a/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.h b/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.h
index cbbc77bc..5a715b68 100644
--- a/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.h
+++ b/network/trans/WFPSampler/syslib/HelperFunctions_WorkItems.h
@@ -52,7 +52,7 @@ _IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
_IRQL_requires_same_
_Success_(*ppWorkItemData == 0)
-inline VOID KrnlHlprWorkItemDataDestroy(_Inout_ WORKITEM_DATA** ppWorkItemData);
+VOID KrnlHlprWorkItemDataDestroy(_Inout_ WORKITEM_DATA** ppWorkItemData);
_IRQL_requires_min_(PASSIVE_LEVEL)
_IRQL_requires_max_(DISPATCH_LEVEL)
diff --git a/network/trans/WFPSampler/syslib/WFPSampler.vcxproj b/network/trans/WFPSampler/syslib/WFPSampler.vcxproj
index dd6c1a42..186ad19a 100644
--- a/network/trans/WFPSampler/syslib/WFPSampler.vcxproj
+++ b/network/trans/WFPSampler/syslib/WFPSampler.vcxproj
@@ -40,7 +40,7 @@
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>True</UseDebugLibraries>
- <DriverTargetPlatform>Desktop</DriverTargetPlatform>
+ <DriverTargetPlatform>Universal</DriverTargetPlatform>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>StaticLibrary</ConfigurationType>