我是Windows过滤平台的新手。我正在尝试学习这个...我开始使用msdn网站的代码..作为here。我试图编译代码,我得到13个错误,这些错误在头文件“fwptypes.h”中。 我不知道如何解决这个问题..任何建议.. 这是错误IMG
答案 0 :(得分:2)
为消除第一个错误(预编译头),有三种方法:
或2.将演示代码复制到头文件而不是cpp文件。
或3.在演示代码前添加“stdafx.h”。
对于其他编译错误,请尝试此操作(此解决方案来自http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/8fd93a3d-a794-4233-9ff7-09b89eed6b1f,我测试过,它有效):
标头文件中有一个错误(额外的行空格)。您可以直接修改副本:
FwpTypes.h @第275行:
#define FWP_ACTION_BLOCK \
(0x00000001 | FWP_ACTION_FLAG_TERMINATING)
#define FWP_ACTION_PERMIT \
(0x00000002 | FWP_ACTION_FLAG_TERMINATING)
#define FWP_ACTION_CALLOUT_TERMINATING \
(0x00000003 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_TERMINATING)
#define FWP_ACTION_CALLOUT_INSPECTION \
(0x00000004 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_NON_TERMINATING)
#define FWP_ACTION_CALLOUT_UNKNOWN \
(0x00000005 | FWP_ACTION_FLAG_CALLOUT)
#define FWP_ACTION_CONTINUE \
(0x00000006 | FWP_ACTION_FLAG_NON_TERMINATING)
#define FWP_ACTION_NONE \
(0x00000007)
#define FWP_ACTION_NONE_NO_MATCH \
(0x00000008)
FwpTypes.h @ line 343
#define FWP_FILTER_ENUM_VALID_FLAGS \
(FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH | \
FWP_FILTER_ENUM_FLAG_SORTED)
IkeTypes.h @ line 367
#define IKEEXT_ERROR_CODE_COUNT \
(ERROR_IPSEC_IKE_NEG_STATUS_END - ERROR_IPSEC_IKE_NEG_STATUS_BEGIN)
答案 1 :(得分:0)
您可以使用WinDivert开源WFP标注驱动程序。
WinDivert实质上将数据包传递给基础Windows过滤平台(WFP)数据包注入功能。
查看此链接以获取更多信息.. http://reqrypt.org/windivert.html