FWPS_CALLOUT_CLASSIFY_FN0 Rückruffunktion (fwpsk.h)

Die Filter-Engine ruft die Legendenfunktion klassifizierenFn0 einer Legende auf, wenn daten vorhanden sind, die von der Legende verarbeitet werden sollen.

Beachten Sie, dass klassifizierenFn0 die spezifische Version von klassifizierenFn ist, die in Windows Vista und höher verwendet wird. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und Spezifische Windows-Versionen . Für Windows 8 ist klassifizierenFn2 verfügbar. Für Windows 7 ist klassifizierenFn1 verfügbar.
 

Syntax

FWPS_CALLOUT_CLASSIFY_FN0 FwpsCalloutClassifyFn0;

void FwpsCalloutClassifyFn0(
  [in]      const FWPS_INCOMING_VALUES0 *inFixedValues,
  [in]      const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  [in, out] void *layerData,
  [in]      const FWPS_FILTER0 *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 auf der zu filternden Ebene.

[in] inMetaValues

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

[in, out] layerData

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

[in] filter

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

[in] flowContext

Eine Variable vom Typ UINT64, die den Kontext enthält, der dem Datenfluss zugeordnet ist. Wenn dem Datenfluss kein Kontext zugeordnet ist, ist dieser Parameter null. Wenn die Legende der Filter-Engine auf einer Filterebene hinzugefügt wird, die keine Datenflüsse unterstützt, sollte die Beschriftungsfunktion klassifizierenFn0 diesen Parameter ignorieren.

[in, out] classifyOut

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

Rückgabewert

Keine

Bemerkungen

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

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

Die Legendenfunktion "klassifizierenFn0 " einer Legende sollte das flag FWPS_RIGHT_ACTION_WRITE im Rights-Member der FWPS_CLASSIFY_OUT0-Struktur in einer der folgenden Situationen löschen:

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

Anforderungen

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

Weitere Informationen

Zuordnen von Kontext zu einem Datenfluss

Beschriftungsfunktionen für Den Legendentreiber

Datenprotokollierung

FWPS_CALLOUT0

FWPS_CLASSIFY_OUT0

FWPS_FILTER0

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsReferenceNetBufferList0

NET_BUFFER_LIST

Beispiele für Paketänderungen

Registrieren von Legenden mit der Filter-Engine

Verwenden einer Beschriftung für eine umfassende Überprüfung von Stream Daten

Verwenden eines Beschriftungstexts für eine umfassende Überprüfung

klassifizierenFn

klassifizierenFn1

klassifizierenFn2