FwpsCalloutRegister0-Funktion (fwpsk.h)

Die Funktion fwpsCalloutRegister0 registriert eine Legende bei der Filter-Engine.

HinweisFwpsCalloutRegister0 ist die spezifische Version von FwpsCalloutRegister , die in Windows Vista und höher verwendet wird. Weitere Informationen finden Sie unter WFP Version-Independent Namen und Zielgruppenspezifische Windows-Versionen . Für Windows 8 ist FwpsCalloutRegister2 verfügbar. Für Windows 7 ist FwpsCalloutRegister1 verfügbar.
 

Syntax

NTSTATUS FwpsCalloutRegister0(
  [in, out]       void                *deviceObject,
  [in]            const FWPS_CALLOUT0 *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_CALLOUT0 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 FwpsCalloutRegister0-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Legende wurde erfolgreich bei der Filter-Engine registriert.
STATUS_FWP_ALREADY_EXISTS
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 member calloutKey der FWPS_CALLOUT0 Struktur angegeben ist, auf die der Legendenparameter verweist.
Andere status Codes
Ein Fehler ist aufgetreten.

Hinweise

Ein Legendentreiber ruft die Funktion FwpsCalloutRegister0 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 Vista.
Zielplattform Universell
Header fwpsk.h (include fwpsk.h)
Bibliothek Fwpkclnt.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

Erstellen eines Geräteobjekts

FWPS_CALLOUT0

FwpsCalloutRegister1

FwpsCalloutRegister2

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

Typen von Legenden

flowDeleteFn