FWPS_CALLOUT_CLASSIFY_FN2 Rückruffunktion (fwpsk.h)

Die Filter-Engine ruft die Beschriftungsfunktion klassifizierenFn2 einer Legende auf, wenn Daten vorhanden sind, die von der Legende verarbeitet werden sollen.

Beachten Sie, dass klassifizierenFn2 die spezifische Version von klassifizierenFn ist, 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 klassifizierenFn1 verfügbar. Für Windows Vista ist klassifizierenFn0 verfügbar.

 

Syntax

FWPS_CALLOUT_CLASSIFY_FN2 FwpsCalloutClassifyFn2;

void FwpsCalloutClassifyFn2(
  [in]                const FWPS_INCOMING_VALUES0 *inFixedValues,
  [in]                const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  [in, out, optional] void *layerData,
  [in, optional]      const void *classifyContext,
  [in]                const FWPS_FILTER2 *filter,
  [in]                UINT64 flowContext,
  [in, out]           FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

Parameter

[in] inFixedValues

Ein Zeiger auf eine FWPS_INCOMING_VALUES0-Struktur . Diese Struktur enthält die Werte für die einzelnen Datenfelder in der zu filternden Ebene.

[in] inMetaValues

Ein Zeiger auf einen FWPS_INCOMING_METADATA_VALUES0 Struktur. Diese Struktur enthält die Werte für jedes Metadatenfeld in der zu filternden Ebene.

[in, out, optional] layerData

Ein Zeiger auf eine Struktur, die die Rohdaten in der zu filternden Ebene beschreibt. Dieser Parameter kann NULL sein, abhängig von der zu filternden Ebene und den Bedingungen, unter denen die KlassifizierungFn2-Legendenfunktion aufgerufen wird. Für die Streamebene verweist dieser Parameter auf eine FWPS_STREAM_CALLOUT_IO_PACKET0 Struktur. Für alle anderen Ebenen zeigt dieser Parameter auf eine NET_BUFFER_LIST-Struktur , wenn er nicht NULL ist.

[in, optional] classifyContext

Ein Zeiger auf Kontextdaten, die dem Legendentreiber durch die Filter-Engine zugeordnet sind.

[in] filter

Ein Zeiger auf eine FWPS_FILTER2-Struktur . Diese Struktur beschreibt den Filter, der die Beschriftung für die Aktion des Filters angibt.

[in] flowContext

Eine UINT64-typisierte Variable, die den kontext enthält, der dem Datenfluss zugeordnet ist. Wenn dem Datenfluss kein Kontext zugeordnet ist, ist dieser Parameter 0. Wenn die Legende der Filter-Engine auf einer Filterebene hinzugefügt wird, die keine Datenflüsse unterstützt, sollte die Legendenfunktion klassifizierenFn2 diesen Parameter ignorieren.

[in, out] classifyOut

Ein Zeiger auf eine FWPS_CLASSIFY_OUT0-Struktur , die alle Daten empfängt, die die Legendenfunktion klassifizierenFn2 an den Aufrufer zurückgibt.

Rückgabewert

Keine

Bemerkungen

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

Die Filter-Engine ruft die Beschriftungsfunktion klassifizierenFn2 einer Legende mit Daten auf, die verarbeitet werden sollen, wenn alle Testbedingungen für einen Filter in der Filter-Engine erfüllt sind, die die Legende für die Aktion des Filters angibt.

Die Legendenfunktion klassifizierenFn2 einer Legende sollte in einer der folgenden Situationen das FWPS_RIGHT_ACTION_WRITE-Flag im Rechtemember der FWPS_CLASSIFY_OUT0-Struktur löschen:

  • Wenn die KlassifizierungFn2-Beschriftungsfunktion das actionType-Element der FWPS_CLASSIFY_OUT0-Struktur auf FWP_ACTION_BLOCK festlegt.
  • Wenn die KlassifizierungFn2-Calloutfunktion das actionType-Element der FWPS_CLASSIFY_OUT0-Struktur auf FWP_ACTION_PERMIT festlegt, und das FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT-Flag im Flags-Member der FWPS_FILTER2-Struktur festgelegt wird.
  • Wenn eine Legende angegeben hat, dass sie die Liste des Klonens des Net-Puffers ändern möchte, indem sie den parameter intendToModify in einem Aufruf des FwpsReferenceNetBufferList0-Funktion .

    Diese Funktion ist im Wesentlichen mit der vorherigen Version klassifizierenFn1 identisch. Der Filterparameter weist jedoch auf die aktualisierte FWPS_FILTER2-Struktur hin, und der layerData-Parameter ist optional.

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

Zuordnen von Kontext zu einem Datenfluss

Legendentreiber-Legendenfunktionen

Datenprotokollierung

FWPS_CLASSIFY_OUT0

FWPS_FILTER2

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister2

FwpsReferenceNetBufferList0

NET_BUFFER_LIST

Beispiele für Paketänderungen

Registrieren von Legenden bei der Filter-Engine

Verwenden einer Legende für die ausführliche Überprüfung von Stream Daten

Verwenden einer Legende für eine ausführliche Überprüfung

klassifizierenFn

klassifizierenFn0

klassifizierenFn1