FwpmCalloutAdd0 函数 (fwpmk.h)

FwpmCalloutAdd0 函数向筛选器引擎添加标注。

语法

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

参数

[in] engineHandle

对筛选器引擎打开的会话的句柄。 标注驱动程序调用 FwpmEngineOpen0 函数以打开对筛选器引擎的会话。

[in] callout

指向常量 FWPM_CALLOUT0 结构的指针,该结构包含向筛选器引擎添加标注所需的数据。

[in, optional] sd

指向常量 SECURITY_DESCRIPTOR 结构的指针,该结构描述要添加到筛选器引擎的标注的安全描述符。 此参数是可选的,可以 NULL

[out, optional] id

指向 UINT32 类型的变量的指针,该变量接收标识筛选器引擎中的标注的运行时标识符。 这是在标注驱动程序向筛选器引擎注册标注驱动程序标注函数时返回的相同标识符。 标注驱动程序在从筛选器引擎中删除标注时,将此标识符传递给 FwpmCalloutDeleteById0 函数。 此参数是可选的,可以 NULL

返回值

FwpmCalloutAdd0 函数返回以下 NTSTATUS 代码之一:

返回代码 描述
STATUS_SUCCESS 标注已成功添加到筛选器引擎。
STATUS_FWP_ALREADY_EXISTS 无法将标注添加到筛选器引擎。 筛选器引擎中已存在标注,其标识符与 calloutKey 中指定的 GUID 相同,标注 参数指向的 FWPM_CALLOUT0 结构的成员
其他 NTSTATUS 代码 发生错误。

言论

标注驱动程序调用 FwpmCalloutAdd0 函数,以便向筛选器引擎添加标注。

标注驱动程序通常不会将其标注添加到筛选器引擎。 在大多数情况下,这由用户模式 Windows 筛选平台管理应用程序处理。

在标注驱动程序向筛选器引擎注册标注之前,可以将为筛选器操作指定标注的标注和筛选器添加到筛选器引擎。 在这种情况下,操作类型为 FWP_ACTION_CALLOUT_TERMINATINGFWP_ACTION_CALLOUT_UNKNOWN 的筛选器被视为 FWP_ACTION_BLOCK,在向筛选器引擎注册标注之前,将忽略具有 FWP_ACTION_CALLOUT_INSPECTION 操作类型的筛选器。

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

要求

要求 价值
最低支持的客户端 从 Windows Vista 开始可用。
目标平台 普遍
标头 fwpmk.h (包括 Fwpmk.h)
Fwpkclnt.lib
IRQL PASSIVE_LEVEL

另请参阅