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