変更通知
基本フィルター エンジン (BFE) の変更通知は、発行/サブスクライブ パターンに従います。発行された変更通知のいずれかを受信するには、アプリケーションがそれにサブスクライブする必要があります。
公開された BFE 変更通知は、 吹き出し、 フィルター、 プロバイダー、 プロバイダー コンテキスト、 サブレイヤーの追加と削除です。
上記のいずれかの通知をサブスクライブするために、アプリケーションは対応する Fwpm*SubscribeChanges0 管理機能 ( FwpmCalloutSubscribeChanges0 など) を呼び出します。 Fwpm*SubscribeChanges0 に引数として渡されるコールバック関数は、サブスクライブ先の変更が発生したときに BFE によって呼び出されます。
上記のいずれかの通知をサブスクライブ解除するために、アプリケーションは対応する Fwpm*UnsubscribeChanges0 管理機能 ( FwpmCalloutUnsubscribeChanges0 など) を呼び出します。
上記のいずれかの通知の現在のサブスクリプションを表示するために、アプリケーションは対応する Fwpm*SubscriptionsGet0 管理機能 ( FwpmCalloutSubscriptionsGet0 など) を呼び出します。
BFE によって提供される変更通知は次のとおりです。
- 非同期 — 通知をトリガーした関数呼び出しは、通知がすべてのサブスクライバーにディスパッチされる前に返される場合があります。
- 信頼できない — 通知が正常に配信される保証はありません。
サブスクライバーは、サブスクライブに使用したセッション ハンドルで行われた変更に関する通知を受け取りません。 一般に、サブスクライバーには、他のユーザーが行った変更についてのみ通知する必要があります。どの変更が自分で行われたかは既にわかっています。