FWPS_CALLOUT_NOTIFY_FN1 Rückruffunktion (fwpsu.h)
Die Filter-Engine ruft die Beschriftungsfunktion notifyFn1 einer Legende auf, um den Legendentreiber über Ereignisse zu benachrichtigen, die der Legende zugeordnet sind.
Hinweis
notifyFn1 ist die spezifische Version von notifyFn , die in Windows 7 und höher verwendet wird. Weitere Informationen finden Sie unter Versionsunabhängige WFP-Namen und bestimmte Versionen von Windows. Für Windows 8 ist notifyFn2 verfügbar. Für Windows Vista ist notifyFn0 verfügbar.
Syntax
FWPS_CALLOUT_NOTIFY_FN1 FwpsCalloutNotifyFn1;
NTSTATUS FwpsCalloutNotifyFn1(
FWPS_CALLOUT_NOTIFY_TYPE notifyType,
const GUID *filterKey,
FWPS_FILTER1 *filter
)
{...}
Parameter
notifyType
Ein -Wert, der den Typ der Benachrichtigung angibt, die die Filter-Engine 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, der die Legende für die Aktion des Filters angibt.
FWPS_CALLOUT_NOTIFY_TYPE_MAX. Ein Maximalwert für Testzwecke.
filterKey
Ein Zeiger auf den Verwaltungsbezeichner für den Filter, der von der Anwendung oder dem Treiber angegeben wird, 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 in den Hinweisen.
filter
Ein Zeiger auf eine FWPS_FILTER1-Struktur . Diese Struktur beschreibt den Filter, der der Filter-Engine hinzugefügt oder daraus gelöscht wird.
Die Beschriftungsfunktion notifyFn1 einer Legende kann festlegen, dass der Kontextmember 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 Legendenfunktion klassifizierenFn1 des Legendentreibers verwendet werden, um alle treiberspezifischen Daten oder Zustandsinformationen zwischen Aufrufen der Filter-Engine an die Legendenfunktion "klassifizierenFn1 " des Legendentreibers beizubehalten.
Die Beschriftungsfunktion notifyFn1 einer Legende kann jeden kontext bereinigen, der dem Filter zugeordnet ist, wenn der Filter aus der Filter-Engine gelöscht wird.
Rückgabewert
Die notifyFn1-Funktion einer Legende gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
STATUS_SUCCESS | Der Legendentreiber akzeptiert die Benachrichtigung von der Filter-Engine. |
Andere Statuscodes | Ein Fehler ist aufgetreten. Wenn der notifyType-ParameterFWPS_CALLOUT_NOTIFY_ADD_FILTER ist, wird der Filter nicht zur Filter-Engine hinzugefügt. Wenn der notifyType-ParameterFWPS_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 FwpsCalloutRegister1 aufruft.
Die Filter-Engine ruft die Beschriftungsfunktion notifyFn1 einer Legende auf, um den Legendentreiber über Ereignisse zu benachrichtigen, die der Legende zugeordnet sind. Wenn die Beschriftungsfunktion notifyFn1 des Legendentreibers den Typ der Benachrichtigung, die im notifyType-Parameter übergeben wird, nicht erkennt, ignoriert sie die Benachrichtigung und gibt STATUS_SUCCESS zurück.
Wenn ein Legendentreiber eine Legende bei der Filter-Engine registriert, nachdem Filter, die die Beschriftung für die Aktion des Filters angeben, bereits zur Filter-Engine hinzugefügt wurden, ruft die Filter-Engine die Beschriftungsfunktion notifyFn1 des Legendentreibers nicht auf, um die Legende über einen der vorhandenen Filter zu benachrichtigen. Die Filter-Engine ruft die Beschriftungsfunktion notifyFn1 des Legendentreibers auf, um die Legende zu benachrichtigen, wenn der Filter-Engine neue Filter hinzugefügt werden, die die Legende für die Filteraktion angeben. In diesem Fall wird die Beschriftungsfunktion notifyFn1 einer Legende möglicherweise nicht für jeden Filter in der Filter-Engine aufgerufen, die die Legende für die Aktion des Filters angibt. Wenn ein Legendentreiber eine Legende registriert, nachdem die Filter-Engine gestartet wurde und die Legende jeden Filter in der Filter-Engine kennen muss, der die Beschriftung 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 Legende für die Aktion des Filters angibt, aus der Filter-Engine gelöscht wird, ruft die Filter-Engine die Beschriftungsfunktion notifyFn1 des Legendentreibers auf und übergibt FWP_CALLOUT_NOTIFY_DELETE_FILTER im notifyType-Parameter und NULL im filterKey-Parameter. Weitere Informationen finden Sie unter Verarbeiten von Benachrichtigungs-Beschriftungen.
Anforderungen
Anforderung | Wert |
---|---|
Header | fwpsu.h |