FwpmBfeStateSubscribeChanges0-Funktion (fwpmk.h)
Die Funktion FwpmBfeStateSubscribeChanges0 registriert eine Rückruffunktion, die aufgerufen wird, wenn sich der Status der Filter-Engine ändert.
Warnung
Rufen Sie FwpmBfeStateUnsubscribeChanges0 nicht über die Rückruffunktion auf, die Sie im Rückrufparameter übergeben haben. Dies kann zu einem Deadlock führen.
Syntax
NTSTATUS FwpmBfeStateSubscribeChanges0(
[in, out] void *deviceObject,
[in] FWPM_SERVICE_STATE_CHANGE_CALLBACK0 callback,
[in, optional] void *context,
[out] HANDLE *changeHandle
);
Parameter
[in, out] deviceObject
Ein Zeiger auf ein Geräteobjekt, das zuvor vom Legendentreiber erstellt wurde. Weitere Informationen dazu, wie ein Legendentreiber ein Geräteobjekt erstellt, finden Sie unter Erstellen eines Geräteobjekts.
[in] callback
Ein Zeiger auf eine vom Treiber bereitgestellte Rückruffunktion zum Ändern des Dienstzustands. Die Filter-Engine ruft diese Funktion auf, wenn sich der Status der Filter-Engine ändert.
Eine Rückruffunktion des Dienstzustands wird wie folgt deklariert.
VOID NTAPI
callback(
IN OUT void *context,
IN FWPM_SERVICE_STATE newState
);
Kontext
Der Zeiger, der im Context-Parameter übergeben wurde, als der Legendentreiber die Funktion FwpmBfeStateSubscribeChanges0 aufgerufen hat.
newState
Der neue Zustand der Filter-Engine. Dieser Parameter enthält einen der folgenden Werte:
FWPM_SERVICE_STOPPED
Die Filter-Engine wird nicht ausgeführt.
FWPM_SERVICE_START_PENDING
Die Filter-Engine wird gestartet.
FWPM_SERVICE_STOP_PENDING
Die Filter-Engine wird beendet.
FWPM_SERVICE_RUNNING
Die Filter-Engine wird ausgeführt.
[in, optional] context
Ein Zeiger auf einen vom Legendentreiber bereitgestellten Kontext, der an die im Rückrufparameter angegebene Rückruffunktion übergeben wird.
[out] changeHandle
Ein Zeiger auf eine Variable, die ein Handle empfängt, das der Registrierung der Rückruffunktion zugeordnet ist. Ein Legendentreiber übergibt dieses Handle an die Funktion FwpmBfeStateUnsubscribeChanges0 , um die Registrierung der Rückruffunktion aufzuheben.
Rückgabewert
Die FwpmBfeStateSubscribeChanges0-Funktion gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
|
Die Rückruffunktion wurde erfolgreich registriert. |
|
Ein Fehler ist aufgetreten. |
Hinweise
Ein Legendentreiber ruft die FwpmBfeStateSubscribeChanges0-Funktion auf, um eine Rückruffunktion zu registrieren, die aufgerufen wird, wenn sich der Zustand des Filtermoduls ändert.
Beispielsweise kann ein Legendentreiber keine Sitzung für das Filtermodul öffnen, indem er die Funktion FwpmEngineOpen0 aufruft , es sei denn, die Filter-Engine wird derzeit ausgeführt. Ein Legendentreiber kann die FWPM_SERVICE_RUNNING Benachrichtigung verwenden, um eine Sitzung für die Filter-Engine zu öffnen, sodass er Aufrufe an die anderen Verwaltungsfunktionen der Windows-Filterplattform tätigen kann. Auf ähnliche Weise kann ein Legendentreiber die FWPM_SERVICE_STOP_PENDING Benachrichtigung verwenden, um eine Bereinigung durchzuführen, bevor das Filtermodul beendet wird.
Ein Legendentreiber muss FwpmBfeStateSubscribeChanges0 aufrufen, bevor die Funktion FwpmBfeStateGet0 aufgerufen wird, um den aktuellen Zustand der Filter-Engine abzurufen. Nachdem der Aufruf von FwpmBfeStateSubscribeChanges0 zurückgegeben wurde, kann der Legendentreiber fwpmBfeStateGet0 jederzeit aufrufen.
Ein Legendentreiber muss die Registrierung der Rückruffunktion aufheben, indem er die fwpmBfeStateUnsubscribeChanges0-Funktion , bevor der Legendentreiber entladen werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows Vista. |
Zielplattform | Universell |
Header | fwpmk.h (einschließlich Fwpmk.h) |
Bibliothek | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |
Weitere Informationen
FwpmBfeStateUnsubscribeChanges0Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für