summaryrefslogtreecommitdiff
path: root/network/trans/WFPSampler/sys
diff options
context:
space:
mode:
authorDavid Spruill <[email protected]>2026-01-08 17:51:47 -0500
committerGitHub <[email protected]>2026-01-08 17:51:47 -0500
commitc5fc3ca1fd0e00a7e085ef48abfeff9c0c39817e (patch)
tree0e650a0fee8027816bbea82ca1fd9b8e3e6ee24a /network/trans/WFPSampler/sys
parentf88e4fbbd4d2671e5cd77e4f60be7a235326797e (diff)
parented3dbe56378117a15105099870f2397671ad99ab (diff)
Merge branch 'develop' into user/daspr/kmodsamplefix
Diffstat (limited to 'network/trans/WFPSampler/sys')
-rw-r--r--network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp2
-rw-r--r--network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp2
-rw-r--r--network/trans/WFPSampler/sys/CompletionFunctions_FastStreamInjectionCallouts.cpp2
-rw-r--r--network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InXbin8726 -> 3923 bytes
-rw-r--r--network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj102
-rw-r--r--network/trans/WFPSampler/sys/Wfp_Annotations.h213
6 files changed, 277 insertions, 44 deletions
diff --git a/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp b/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp
index 64c0b401..cef0b6df 100644
--- a/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp
+++ b/network/trans/WFPSampler/sys/ClassifyFunctions_BasicPacketExaminationCallouts.cpp
@@ -4199,7 +4199,7 @@ VOID PerformBasicPacketExaminationAtDiscard(_In_ CLASSIFY_DATA* pClassifyData)
break;
}
- case IpDiscardIPSNPIDrop:
+ case IpDiscardIpsnpiClientDrop:
{
pDiscardReason = "IPSNPI Drop";
diff --git a/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp b/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp
index 34dcc81d..7b074c5c 100644
--- a/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp
+++ b/network/trans/WFPSampler/sys/CompletionFunctions_BasicStreamInjectionCallouts.cpp
@@ -138,8 +138,6 @@ VOID NTAPI CompleteBasicStreamInjection(_In_ VOID* pContext,
NT_ASSERT(pContext);
NT_ASSERT(pNetBufferList);
- NT_ASSERT(NT_SUCCESS(pNetBufferList->Status) ||
- pNetBufferList->Status == STATUS_CONNECTION_ABORTED);
if(pNetBufferList->Status != STATUS_SUCCESS)
DbgPrintEx(DPFLTR_IHVNETWORK_ID,
diff --git a/network/trans/WFPSampler/sys/CompletionFunctions_FastStreamInjectionCallouts.cpp b/network/trans/WFPSampler/sys/CompletionFunctions_FastStreamInjectionCallouts.cpp
index 8dec0b9a..9437f586 100644
--- a/network/trans/WFPSampler/sys/CompletionFunctions_FastStreamInjectionCallouts.cpp
+++ b/network/trans/WFPSampler/sys/CompletionFunctions_FastStreamInjectionCallouts.cpp
@@ -60,8 +60,6 @@ VOID NTAPI CompleteFastStreamInjection(_In_ VOID* pContext,
UNREFERENCED_PARAMETER(pContext);
UNREFERENCED_PARAMETER(dispatchLevel);
- NT_ASSERT(NT_SUCCESS(pNetBufferList->Status));
-
FwpsFreeCloneNetBufferList(pNetBufferList,
0);
diff --git a/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InX b/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.InX
index fdd4f950..c6aad050 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..af141891 100644
--- a/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj
+++ b/network/trans/WFPSampler/sys/WFPSamplerCalloutDriver.vcxproj
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
+ <ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
+ <Platform>ARM64</Platform>
</ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
+ <ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
- <Platform>Win32</Platform>
+ <Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
@@ -22,9 +22,9 @@
<ProjectGuid>{909C6B51-0D92-440A-9FEB-B7A2715D8EDE}</ProjectGuid>
<RootNamespace>$(MSBuildProjectName)</RootNamespace>
<KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
- <KMDF_VERSION_MINOR>11</KMDF_VERSION_MINOR>
+ <KMDF_VERSION_MINOR>15</KMDF_VERSION_MINOR>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
- <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+ <Platform Condition="'$(Platform)' == ''">x64</Platform>
<SampleGuid>{0AEE6AAB-0332-4F13-9D87-16C8FE0B32F8}</SampleGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -36,23 +36,23 @@
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
</PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>True</UseDebugLibraries>
+ <UseDebugLibraries>False</UseDebugLibraries>
<DriverTargetPlatform>Universal</DriverTargetPlatform>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
</PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetVersion>Windows10</TargetVersion>
- <UseDebugLibraries>False</UseDebugLibraries>
+ <UseDebugLibraries>True</UseDebugLibraries>
<DriverTargetPlatform>Universal</DriverTargetPlatform>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
</PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>True</UseDebugLibraries>
<DriverTargetPlatform>Universal</DriverTargetPlatform>
@@ -67,13 +67,13 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<ItemGroup Label="WrappedTaskItems">
@@ -108,13 +108,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<TargetName>WFPSamplerCalloutDriver</TargetName>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<TargetName>WFPSamplerCalloutDriver</TargetName>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetName>WFPSamplerCalloutDriver</TargetName>
</PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<TargetName>WFPSamplerCalloutDriver</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -122,75 +122,75 @@
<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;UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<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;UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<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;UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<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;UUID.lib;.\..\syslib\$(IntDir)\WFPSampler.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
@@ -204,8 +204,14 @@
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
+ <Link>
+ <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ </Link>
+ <Link>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ </Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<ExceptionHandling>
</ExceptionHandling>
@@ -213,8 +219,14 @@
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
+ <Link>
+ <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ </Link>
+ <Link>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ </Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<ExceptionHandling>
</ExceptionHandling>
@@ -222,8 +234,14 @@
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
+ <Link>
+ <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ </Link>
+ <Link>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ </Link>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<ExceptionHandling>
</ExceptionHandling>
@@ -231,6 +249,12 @@
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
+ <Link>
+ <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ </Link>
+ <Link>
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+ </Link>
</ItemDefinitionGroup>
<ItemGroup>
<ResourceCompile Include="Framework_WFPSamplerCalloutDriver.rc" />
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
+