FwpmBfeStateSubscribeChanges0-Funktion (fwpmk.h)
Die FwpmBfeStateSubscribeChanges0-Funktion registriert eine Rückruffunktion, die aufgerufen wird, wenn eine Änderung am Status des Filtermoduls erfolgt.
Warnung
Rufen Sie nicht FwpmBfeStateUnsubscribeChanges0 aus der Rückruffunktion auf, die Sie im -Parameter ü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 Popuptreiber erstellt wurde. Weitere Informationen dazu, wie ein Popuptreiber ein Geräteobjekt erstellt, finden Sie unter Erstellen eines Geräteobjekts.
[in] callback
Ein Zeiger auf eine vom Beschriftungstreiber bereitgestellte Dienststatusänderungsrückruffunktion. Das Filtermodul ruft diese Funktion auf, wenn sich der Status des Filtermoduls ändert.
Eine Rückruffunktion für dienststatusänderungen wird wie folgt deklariert.
VOID NTAPI
callback(
IN OUT void *context,
IN FWPM_SERVICE_STATE newState
);
Zusammenhang
Der Zeiger, der im parameter Context übergeben wurde, als der Legendentreiber die funktion FwpmBfeStateSubscribeChanges0 aufgerufen hat.
newState
Der neue Status des Filtermoduls. Dieser Parameter enthält einen der folgenden Werte:
FWPM_SERVICE_STOPPED
Das Filtermodul wird nicht ausgeführt.
FWPM_SERVICE_START_PENDING
Das Filtermodul wird gestartet.
FWPM_SERVICE_STOP_PENDING
Das Filtermodul wird beendet.
FWPM_SERVICE_RUNNING
Das Filtermodul wird ausgeführt.
[in, optional] context
Ein Zeiger auf einen vom Beschriftungstreiber bereitgestellten Kontext, der an die im Callback Parameter 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 Popuptreiber übergibt dieses Handle an die FwpmBfeStateUnsubscribeChanges0--Funktion, um die Registrierung der Rückruffunktion aufzurufen.
Rückgabewert
Die FwpmBfeStateSubscribeChanges0-Funktion gibt einen der folgenden NTSTATUS-Codes zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_SUCCESS | Die Rückruffunktion wurde erfolgreich registriert. |
Andere NTSTATUS-Codes | Fehler. |
Bemerkungen
Ein Popuptreiber ruft die FwpmBfeStateSubscribeChanges0-Funktion auf, um eine Rückruffunktion zu registrieren, die aufgerufen wird, wenn eine Änderung am Status des Filtermoduls erfolgt.
Ein Popuptreiber kann z. B. keine Sitzung mit dem Filtermodul öffnen, indem die FwpmEngineOpen0- funktion aufgerufen wird, es sei denn, das Filtermodul wird derzeit ausgeführt. Ein Popuptreiber kann die FWPM_SERVICE_RUNNING-Benachrichtigung verwenden, um eine Sitzung mit dem Filtermodul zu öffnen, sodass es Aufrufe an die anderen Windows-Filterplattform-Verwaltungsfunktionen. Ebenso kann ein Popuptreiber die FWPM_SERVICE_STOP_PENDING Benachrichtigung verwenden, um eine Bereinigung durchzuführen, bevor das Filtermodul beendet wird.
Ein Popuptreiber muss FwpmBfeStateSubscribeChanges0 aufrufen, bevor die FwpmBfeStateGet0--Funktion aufgerufen wird, um den aktuellen Status des Filtermoduls abzurufen. Nachdem der Aufruf von FwpmBfeStateSubscribeChanges0 zurückgegeben wurde, kann der Popuptreiber jederzeit FwpmBfeStateGet0 aufrufen.
Ein Popuptreiber muss die Rückruffunktion deregistern, indem die FwpmBfeStateUnsubscribeChanges0-Funktion aufgerufen wird, bevor der Popuptreiber entladen werden kann.
FwpmBfeStateSubscribeChanges0 ist eine bestimmte Version von FwpmBfeStateSubscribeChanges. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und zielspezifische Versionen von Windows.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows Vista. |
Zielplattform- | Universal |
Header- | fwpmk.h (include Fwpmk.h) |
Library | Fwpkclnt.lib |
IRQL- | PASSIVE_LEVEL |