FwpmProviderSubscribeChanges0 函数 (fwpmu.h)

FwpmProviderSubscribeChanges0 函数用于请求传递有关特定提供程序中更改的通知。

语法

DWORD FwpmProviderSubscribeChanges0(
  [in]           HANDLE                            engineHandle,
  [in, optional] const FWPM_PROVIDER_SUBSCRIPTION0 *subscription,
  [in]           FWPM_PROVIDER_CHANGE_CALLBACK0    callback,
  [in, optional] void                              *context,
  [out]          HANDLE                            *changeHandle
);

参数

[in] engineHandle

类型: 句柄

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

[in, optional] subscription

类型: FWPM_PROVIDER_SUBSCRIPTION0*

要传递的通知。

[in] callback

类型: FWPM_PROVIDER_CHANGE_CALLBACK0

通知准备好传递时将调用的函数指针。

[in, optional] context

类型: void*

可选上下文指针。 此指针将连同更改的详细信息一起传递给 回调 函数。

[out] changeHandle

类型: HANDLE*

新创建的订阅的句柄。

返回值

类型:DWORD

返回代码/值 说明
ERROR_SUCCESS
0
已成功创建订阅。
FWP_E_* 错误代码
0x80320001 — 0x80320039
Windows 筛选平台 (WFP) 特定错误。 有关详细信息 ,请参阅 WFP 错误代码
RPC_* 错误代码
0x80010001 — 0x80010122
无法与远程或本地防火墙引擎通信。

注解

订阅者不会收到有关使用用于订阅的相同会话句柄进行的更改的通知。 这是因为订阅者只需查看其他人所做的更改,因为他们已经知道自己进行了哪些更改。

不能从事务内部调用此函数。 它将失败并 出现FWP_E_TXN_IN_PROGRESS。 有关事务的详细信息,请参阅 对象管理

调用方需要 FWPM_ACTRL_SUBSCRIBE 访问提供程序的容器, 并FWPM_ACTRL_READ 访问提供程序。 订阅者将仅收到其 FWPM_ACTRL_READ 访问权限的提供程序的通知。 有关详细信息,请参阅访问控制

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

要求

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

另请参阅

FWPM_PROVIDER_CHANGE_CALLBACK0

FWPM_PROVIDER_SUBSCRIPTION0