FwpsCalloutRegister1-Funktion (fwpsk.h)
Die Funktion fwpsCalloutRegister1 registriert eine Legende bei der Filter-Engine.
Syntax
NTSTATUS FwpsCalloutRegister1(
[in, out] void *deviceObject,
[in] const FWPS_CALLOUT1 *callout,
[out, optional] UINT32 *calloutId
);
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] callout
Ein Zeiger auf eine Konstante FWPS_CALLOUT1 Struktur, die die Daten enthält, die zum Registrieren der Legende bei der Filter-Engine erforderlich sind.
[out, optional] calloutId
Ein Zeiger auf eine Variable mit UINT32-Typ, die einen Laufzeitbezeichner empfängt, der die Legende in der Filter-Engine identifiziert. Der Legendentreiber übergibt diesen Bezeichner an die Funktion FwpsCalloutUnregisterById0 , wenn die Registrierung der Legende aus der Filter-Engine aufgehoben wird. Wenn ein Legendentreiber einen Datenfluss filtert, übergibt er diesen Bezeichner auch an die Funktionen FwpsFlowAssociateContext0 und FwpsFlowRemoveContext0 . Wenn ein Legendentreiber Daten in Datenströme einschleust, übergibt er diesen Bezeichner auch an die Funktion FwpsStreamInjectAsync0 . Das Filtermodul übergibt diesen Bezeichner auch an die callout-Treiberfunktion flowDeleteFn . Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
Die FwpsCalloutRegister1-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Die Legende wurde erfolgreich bei der Filter-Engine registriert. |
|
Die Legende konnte nicht bei der Filter-Engine registriert werden. Eine Legende ist bereits in der Filter-Engine registriert, deren Bezeichner mit der GUID identisch ist, die im calloutKey-Member der FWPS_CALLOUT1 Struktur angegeben ist, auf die der Legendenparameter verweist. |
|
Ein Fehler ist aufgetreten. |
Hinweise
Ein Legendentreiber ruft die Funktion FwpsCalloutRegister1 auf, um eine Legende beim Filtermodul zu registrieren. Ein Legendentreiber kann eine Legende jederzeit bei der Filter-Engine registrieren, auch wenn das Filtermodul derzeit nicht ausgeführt wird.
Eine Legende und Filter, die die Beschriftung für die Aktion des Filters angeben, können der Filter-Engine hinzugefügt werden, bevor ein Legendentreiber die Legende bei der Filter-Engine registriert. In dieser Situation werden Filter mit einem Aktionstyp von FWP_ACTION_CALLOUT_TERMINATING oder FWP_ACTION_CALLOUT_UNKNOWN als FWP_ACTION_BLOCK behandelt, und Filter mit einem Aktionstyp von FWP_ACTION_CALLOUT_INSPECTION werden ignoriert, bis die Legende beim Filtermodul registriert ist.
Ein Legendentreiber hebt die Registrierung einer Legende aus dem Filtermodul auf, indem er entweder die FwpsCalloutUnregisterById0-Funktion oder die FwpsCalloutUnregisterByKey0-Funktion . Ein Legendentreiber kann erst entladen werden, wenn alle Legenden, die zuvor beim Filtermodul registriert wurden, die Registrierung erfolgreich aufgehoben wurden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 7. |
Zielplattform | Universell |
Header | fwpsk.h (include fwpsk.h) |
Bibliothek | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |