更改通知
基本筛选引擎 (BFE) 更改通知遵循发布/订阅模式:若要接收其中一个已发布的更改通知,应用程序必须订阅它。
已发布的 BFE 更改通知是添加和删除 标注、筛选器、提供程序、提供程序上下文以及 子层。
若要订阅上述通知之一,应用程序调用相应的 Fwpm*SubscribeChanges0 管理功能(例如,FwpmCalloutSubscribeChanges0)。 在发生对其订阅的更改时,BFE 将调用作为参数传递给 Fwpm*SubscribeChanges0 的回调函数。
若要取消订阅上述通知之一,应用程序将调用相应的 Fwpm*UnsubscribeChanges0 管理功能(例如,FwpmCalloutUnsubscribeChanges0)。
若要查看上述通知之一的当前订阅,应用程序调用相应的 Fwpm*SubscriptionsGet0 管理功能(例如 FwpmCalloutSubscriptionsGet0)。
BFE 提供的更改通知包括:
- 异步 — 触发通知的函数调用可能会在通知调度到所有订阅者之前返回。
- 不可靠 - 无法保证通知将成功传递。
订阅者不会收到与用于订阅的会话句柄所做的更改的通知。 通常,订阅者只需通知其他人所做的更改;他们已经知道自己做了哪些更改。