Windows 过滤平台 - 未解析的外部符号
Windows Filtering Platform - Unresolved External Symbols
我正在编写一个 Windows 过滤平台 (WFP) 内核 driver,我正在尝试添加一些标注。
我正在使用一些 FWPM_LAYER
GUID,例如
FWPM_LAYER_OUTBOUND_TRANSPORT_V4
FWPM_LAYER_OUTBOUND_TRANSPORT_V6
FWPM_LAYER_ALE_AUTH_CONNECT_V4
FWPM_LAYER_ALE_AUTH_CONNECT_V6
但是我在使用这些符号时遇到无法解析的外部符号。
Error LNK2001 unresolved external symbol _FWPM_LAYER_OUTBOUND_TRANSPORT_V4
Error LNK2001 unresolved external symbol _FWPM_LAYER_OUTBOUND_TRANSPORT_V6
Error LNK2001 unresolved external symbol _FWPM_LAYER_ALE_AUTH_CONNECT_V4
Error LNK2001 unresolved external symbol _FWPM_LAYER_ALE_AUTH_CONNECT_V6
我正在使用以下 headers
#define NDIS61 1
#include <ntifs.h>
#include <ntddk.h>
#include <wdf.h>
#pragma warning(push)
#pragma warning(disable: 4201)
#include <fwpsk.h>
#pragma warning(pop)
#include <fwpmk.h>
#include <fwpvi.h>
#include <guiddef.h>
#include <initguid.h>
#include <devguid.h>
我正在链接以下附加依赖项。
$(DDK_LIB_PATH)wdmsec.lib
$(DDK_LIB_PATH)fwpkclnt.lib
我无法找到我丢失的东西,这些 GUID 似乎位于 fwmpk.h
中,它位于我正在构建的 Fwpkclnt.lib
库中。
正如 RbMm 在评论中回答的那样,解决方案是将 #include <initguid.h>
语句 移动到 include <fwmpk.h>
语句之前。
#define NDIS61 1
#include <ntifs.h>
#include <ntddk.h>
#include <wdf.h>
#include <guiddef.h>
#include <initguid.h>
#include <devguid.h>
#pragma warning(push)
#pragma warning(disable: 4201)
#include <fwpsk.h>
#pragma warning(pop)
#include <fwpmk.h>
#include <fwpvi.h>
我正在编写一个 Windows 过滤平台 (WFP) 内核 driver,我正在尝试添加一些标注。
我正在使用一些 FWPM_LAYER
GUID,例如
FWPM_LAYER_OUTBOUND_TRANSPORT_V4
FWPM_LAYER_OUTBOUND_TRANSPORT_V6
FWPM_LAYER_ALE_AUTH_CONNECT_V4
FWPM_LAYER_ALE_AUTH_CONNECT_V6
但是我在使用这些符号时遇到无法解析的外部符号。
Error LNK2001 unresolved external symbol _FWPM_LAYER_OUTBOUND_TRANSPORT_V4
Error LNK2001 unresolved external symbol _FWPM_LAYER_OUTBOUND_TRANSPORT_V6
Error LNK2001 unresolved external symbol _FWPM_LAYER_ALE_AUTH_CONNECT_V4
Error LNK2001 unresolved external symbol _FWPM_LAYER_ALE_AUTH_CONNECT_V6
我正在使用以下 headers
#define NDIS61 1
#include <ntifs.h>
#include <ntddk.h>
#include <wdf.h>
#pragma warning(push)
#pragma warning(disable: 4201)
#include <fwpsk.h>
#pragma warning(pop)
#include <fwpmk.h>
#include <fwpvi.h>
#include <guiddef.h>
#include <initguid.h>
#include <devguid.h>
我正在链接以下附加依赖项。
$(DDK_LIB_PATH)wdmsec.lib
$(DDK_LIB_PATH)fwpkclnt.lib
我无法找到我丢失的东西,这些 GUID 似乎位于 fwmpk.h
中,它位于我正在构建的 Fwpkclnt.lib
库中。
正如 RbMm 在评论中回答的那样,解决方案是将 #include <initguid.h>
语句 移动到 include <fwmpk.h>
语句之前。
#define NDIS61 1
#include <ntifs.h>
#include <ntddk.h>
#include <wdf.h>
#include <guiddef.h>
#include <initguid.h>
#include <devguid.h>
#pragma warning(push)
#pragma warning(disable: 4201)
#include <fwpsk.h>
#pragma warning(pop)
#include <fwpmk.h>
#include <fwpvi.h>