Änderungsbenachrichtigungen
Die Änderungsbenachrichtigungen des Basisfiltermoduls (Base Filtering Engine, BFE) folgen dem Veröffentlichungs-/Abonnieren-Muster: Um eine der veröffentlichten Änderungsbenachrichtigungen zu erhalten, muss eine Anwendung sie abonnieren.
Die veröffentlichten BFE-Änderungsbenachrichtigungen sind add and Remove for callouts, filters, provider, provider contexts, and sub-layers.
Um eine der oben genannten Benachrichtigungen zu abonnieren, ruft eine Anwendung die entsprechende Fwpm*SubscribeChanges0 Verwaltungsfunktion auf (z. B. FwpmCalloutSubscribeChanges0). Die Rückruffunktion, die als Argument an Fwpm*SubscribeChanges0 übergeben wird, wird von BFE aufgerufen, wenn die änderung, für die sie abonniert wurde.
Zum Kündigen eines der oben genannten Benachrichtigungen ruft eine Anwendung die entsprechende Fwpm*UnsubscribeChanges0 Verwaltungsfunktion auf (z. B. FwpmCalloutUnsubscribeChanges0).
Um die aktuellen Abonnements für eine der oben genannten Benachrichtigungen anzuzeigen, ruft eine Anwendung die entsprechende Fwpm*SubscriptionsGet0 Verwaltungsfunktion auf (z. B. FwpmCalloutSubscriptionsGet0).
Die vom BFE angebotenen Änderungsbenachrichtigungen sind:
- Asynchron – Der Funktionsaufruf, der eine Benachrichtigung ausgelöst hat, kann zurückgegeben werden, bevor die Benachrichtigung an alle Abonnenten verteilt wurde.
- Unzuverlässig – Keine Garantie dafür, dass Benachrichtigungen erfolgreich übermittelt werden.
Abonnenten erhalten keine Benachrichtigungen für Änderungen, die mit dem Sitzungshandle vorgenommen wurden, das sie zum Abonnieren verwendet haben. Im Allgemeinen müssen Abonnenten nur über die von anderen Personen vorgenommenen Änderungen informiert werden; sie wissen bereits, welche Änderungen selbst vorgenommen wurden.