Windows filting platform的demo。
1.环境创建
vs和wdk的安装是必须的,这部分省略。
vs创建一个新项目,选择KMDF空项目
image.png
选择一个目录创建后,添加一个c++新建项目,就可以写代码了。
2.关于头文件的小坑
我们需要头文件#include <fwpsk.h>。但是你会发现,在包含这个文件后,编译时会出现关于这个头文件的错误。解决办法:
#pragma warning(push)
#pragma warning(disable: 4201) // Disable "Nameless struct/union" compiler warning for fwpsk.h only!
#include <fwpsk.h> // Functions and enumerated types used to implement callouts in kernel mode
#pragma warning(pop) // Re-enable "Nameless struct/union" compiler warning
然后加入
在Project Settings -> C/C++ -> Preprocessor -> Preprocessor definitions
加入NDIS_SUPPORT_NDIS6
3.还需要在link时添加一些依赖
连接器->输入->添加依赖项
$(DDK_LIB_PATH)\ndis.lib
$(DDK_LIB_PATH)\wdmsec.lib
$(DDK_LIB_PATH)\fwpkclnt.lib
$(SDK_LIB_PATH)\uuid.lib
4.代码
https://github.com/wangzhangjun/wfpExample
网友评论