FwpmCalloutAdd0 函数 (fwpmu.h)

FwpmCalloutAdd0 函数向系统添加新的标注对象。

语法

DWORD FwpmCalloutAdd0(
  [in]            HANDLE               engineHandle,
  [in]            const FWPM_CALLOUT0  *callout,
  [in, optional]  PSECURITY_DESCRIPTOR sd,
  [out, optional] UINT32               *id
);

参数

[in] engineHandle

类型: HANDLE

筛选器引擎的打开会话的句柄。 调用 FwpmEngineOpen0 以打开与筛选器引擎的会话。

[in] callout

类型: FWPM_CALLOUT0*

要添加的标注对象。

[in, optional] sd

类型: PSECURITY_DESCRIPTOR

与标注关联的安全信息。

[out, optional] id

类型: UINT32*

此标注的运行时标识符。

返回值

类型:DWORD

返回代码/值 说明
ERROR_SUCCESS
0
已成功添加标注。
FWP_E_INVALID_PARAMETER
0x80320035
未设置FWPM_TUNNEL_FLAG_POINT_TO_POINT,并且指定了本地/远程地址以外的条件。
FWP_E_* 错误代码
0x80320001— 0x80320039
Windows 筛选平台 (WFP) 特定错误。 有关详细信息 ,请参阅 WFP 错误代码
RPC_* 错误代码
0x80010001 — 0x80010122
无法与远程或本地防火墙引擎通信。

注解

FWPM_CALLOUT0 结构中的某些字段由系统分配,而不是由调用方分配,并在调用 FwpmCalloutAdd0 时被忽略。 如果调用方提供 null 安全描述符,系统将分配默认安全描述符。

不能从只读事务中调用此函数。 它将失败并 FWP_E_INCOMPATIBLE_TXN。 有关事务的详细信息,请参阅 对象管理

调用方需要 FWPM_ACTRL_ADD 对标注容器的访问权限, FWPM_ACTRL_ADD_LINK 访问提供程序 ((如果有任何) ),并 FWPM_ACTRL_ADD_LINK 对适用层的访问。 有关详细信息,请参阅访问控制

若要添加引用标注的筛选器,请按以下顺序调用函数。

  • 调用 Windows 驱动程序工具包 (WDK) ) 中所述的 FwpsCalloutRegister (,以向筛选器引擎注册标注。
  • 调用 FwpmCalloutAdd0 以将标注添加到系统。
  • 调用 FwpmFilterAdd0 以将引用标注的筛选器添加到系统。
默认情况下,引用已添加但尚未注册到筛选器引擎的标注的筛选器被视为块筛选器。

FwpmCalloutAdd0 是 FwpmCalloutAdd 的特定实现。 有关详细信息 ,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 fwpmu.h
Library Fwpuclnt.lib
DLL Fwpuclnt.dll

另请参阅

FWPM_CALLOUT0

内核模式 FwpmCalloutAdd0