Freigeben über


FWPS_CALLOUT_NOTIFY_FN2 Rückruffunktion (fwpsk.h)

Das Filtermodul ruft die Calloutfunktion notifyFn2 einer Legende auf, um den Legendentreiber über Ereignisse zu benachrichtigen, die der Legende zugeordnet sind.

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

 

Syntax

FWPS_CALLOUT_NOTIFY_FN2 FwpsCalloutNotifyFn2;

NTSTATUS FwpsCalloutNotifyFn2(
  [in]      FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  [in]      const GUID *filterKey,
  [in, out] FWPS_FILTER2 *filter
)
{...}

Parameter

[in] notifyType

Ein Wert, der den Typ der Benachrichtigung angibt, die das Filtermodul an die Legende sendet. Gültige Parameterwerte:

FWPS_CALLOUT_NOTIFY_ADD_FILTER

Der Filter-Engine wird ein Filter hinzugefügt, der die Beschriftung für die Aktion des Filters angibt.

FWPS_CALLOUT_NOTIFY_DELETE_FILTER

Ein Filter wird aus der Filter-Engine gelöscht, die die Beschriftung für die Aktion des Filters angibt.

FWPS_CALLOUT_NOTIFY_TYPE_MAX

Ein Maximalwert für Testzwecke.

[in] filterKey

Ein Zeiger auf den Verwaltungsbezeichner für den Filter, wie von der Anwendung oder dem Treiber angegeben, der den Filter hinzufügt oder löscht. Muss NULL sein, wenn der notifyType-Parameter auf FWPS_CALLOUT_NOTIFY_DELETE_FILTER festgelegt ist. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[in, out] filter

Ein Zeiger auf eine FWPS_FILTER2-Struktur . Diese Struktur beschreibt den Filter, der der Filter-Engine hinzugefügt oder gelöscht wird.

Die NotifyFn2-Funktion eines Legendentreibers kann festlegen , dass das Context-Element dieser Struktur auf eine vom Legendentreiber bereitgestellte Kontextstruktur verweist, wenn der Filter der Filter-Engine hinzugefügt wird. Diese Kontextstruktur ist für die Filter-Engine undurchsichtig und kann von der Callout-Treiberfunktion klassifizierenFn2 verwendet werden, um alle treiberspezifischen Daten oder Zustandsinformationen zwischen Aufrufen der Filter-Engine an die Legende des Legendentreibers beizubehalten.
klassifizierenFn2-Legendenfunktion .

Die Funktion notifyFn2 eines Legendentreibers kann jeden kontext, der dem Filter zugeordnet ist, sauber, wenn der Filter aus der Filter-Engine gelöscht wird.

Rückgabewert

Die Funktion notifyFn2 einer Legende gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Der Legendentreiber akzeptiert die Benachrichtigung vom Filtermodul.
Andere status Codes
Ein Fehler ist aufgetreten. Wenn der notifyType-Parameter FWPS_CALLOUT_NOTIFY_ADD_FILTER ist, wird der Filter nicht zur Filter-Engine hinzugefügt. Wenn der notifyType-Parameter FWPS_CALLOUT_NOTIFY_DELETE_FILTER ist, wird der Filter weiterhin aus der Filter-Engine gelöscht.

Hinweise

Ein Legendentreiber registriert die Legendenfunktionen einer Legende bei der Filter-Engine, indem er die Funktion FwpsCalloutRegister2 aufruft.

Das Filtermodul ruft die Funktion notifyFn2 eines Legendentreibers auf, um den Legendentreiber über Ereignisse zu benachrichtigen, die der Legende zugeordnet sind. Wenn die Funktion notifyFn2 des Legendentreibers den Benachrichtigungstyp, der im notifyType-Parameter übergeben wird, nicht erkennt, sollte sie die Benachrichtigung ignorieren und STATUS_SUCCESS zurückgeben.

Wenn ein Legendentreiber eine Legende bei der Filter-Engine registriert, nachdem Filter, die die Legende für die Filteraktion angeben, bereits zur Filter-Engine hinzugefügt wurden, ruft das Filtermodul die Funktion notifyFn2 des Legendentreibers nicht auf, um die Legende über einen der vorhandenen Filter zu benachrichtigen. Die Filter-Engine ruft die Funktion notifyFn2 des Legendentreibers auf, um die Legende zu benachrichtigen, wenn der Filter-Engine neue Filter hinzugefügt werden, die die Legende für die Aktion des Filters angeben. In diesem Fall wird die funktion notifyFn2 einer Legende möglicherweise nicht für jeden Filter in der Filter-Engine aufgerufen, der die Legende für die Aktion des Filters angibt. Wenn ein Legendentreiber eine Legende registriert, nachdem die Filter-Engine gestartet wurde und die Legende über jeden Filter in der Filter-Engine wissen muss, der die Legende für die Aktion des Filters angibt, muss der Legendentreiber die entsprechenden Verwaltungsfunktionen aufrufen, um alle Filter in der Filter-Engine aufzulisten und die resultierende Liste der Filter zu sortieren, um diejenigen zu finden, die die Legende für die Aktion des Filters angeben. Weitere Informationen zum Aufrufen dieser Funktionen finden Sie unter Aufrufen anderer Windows-Filterplattformfunktionen .

Wenn ein Filter, der eine Beschriftung für die Aktion des Filters angibt, aus der Filter-Engine gelöscht wird, ruft die Filter-Engine die Funktion notifyFn2 des Legendentreibers auf und übergibt FWP_CALLOUT_NOTIFY_DELETE_FILTER im parameter notifyType und NULL im filterKey-Parameter . Weitere Informationen finden Sie unter Verarbeiten von Benachrichtigungs-Legenden.

Diese Funktion ist im Wesentlichen mit der vorherigen Version notifyFn1 identisch. Der einzige Unterschied besteht in der aktualisierten FWPS_FILTER2 Struktur, auf die der Filterparameter verweist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Windows
Kopfzeile fwpsk.h (include fwpsk.h)
IRQL <= DISPATCH_LEVEL

Weitere Informationen

Legendentreiber-Legendenfunktionen

FWPS_FILTER2

FwpsCalloutRegister2

notifyFn

notifyFn0

notifyFn1