FwpsCalloutUnregisterByKey0 函数 (fwpsk.h)

FwpsCalloutUnregisterByKey0 函数从筛选器引擎取消注册标注。

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

语法

NTSTATUS FwpsCalloutUnregisterByKey0(
  [in] const GUID *calloutKey
);

参数

[in] calloutKey

指向 GUID 的指针,该 GUID 唯一标识从筛选器引擎取消注册的标注。 这必须是指向在标注驱动程序调用 FwpsCalloutRegister0FwpsCalloutRegister1 函数以向筛选器引擎注册标注时指定的同一 GUID 的指针。

返回值

FwpsCalloutUnregisterByKey0 函数返回以下 NTSTATUS 代码之一。

返回代码 说明
STATUS_SUCCESS
已成功从筛选器引擎中注销标注。
STATUS_DEVICE_BUSY
标注正在处理一个或多个数据流,这些数据流具有与数据流关联的未完成上下文。 标注驱动程序必须为其中每个数据流调用 FwpsFlowRemoveContext0 函数,以删除关联的上下文。 从每个数据流成功删除上下文后,标注驱动程序必须再次调用 FwpsCalloutUnregisterByKey0 函数,以完成从筛选器引擎取消注册标注的操作。
STATUS_FWP_CALLOUT_NOT_FOUND
没有向筛选器引擎注册的与 calloutKey 参数中指定的 GUID 匹配的标注。
STATUS_FWP_IN_USE
标注已在另一个线程中注册或注销。
其他状态代码
出现了错误。

注解

标注驱动程序调用 FwpsCalloutUnregisterByKey0 函数以从筛选器引擎取消注册标注,并使用 GUID 键标识要注销的标注。 即使筛选器引擎中存在指定筛选器操作标注的筛选器,此函数也会成功。 在这种情况下,操作类型 为 FWP_ACTION_CALLOUT_TERMINATINGFWP_ACTION_CALLOUT_UNKNOWN 的筛选器被视为 FWP_ACTION_BLOCK,操作类型为 FWP_ACTION_CALLOUT_INSPECTION 的筛选器在从筛选器引擎中注销标注后将被忽略。

在成功注销以前注册到筛选器引擎的所有标注之前,无法卸载标注驱动程序。

要求

要求
最低受支持的客户端 从 Windows Vista 开始可用。
目标平台 通用
标头 fwpsk.h (包括 Fwpsk.h)
Library Fwpkclnt.lib
IRQL PASSIVE_LEVEL

另请参阅

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutUnregisterById0

FwpsFlowRemoveContext0

标注类型