FWPS_CALLOUT_CLASSIFY_FN3 Rückruffunktion (fwpsk.h)

Version 3 der Rückruffunktion, die während der Klassifizierung aufgerufen wird, wenn ein Popupfilter übereinstimmt. Der Unterschied besteht darin, dass dieser Rückruf eine FWPS_FILTER3 Struktur zurückgibt.

Syntax

FWPS_CALLOUT_CLASSIFY_FN3 FwpsCalloutClassifyFn3;

void FwpsCalloutClassifyFn3(
  const FWPS_INCOMING_VALUES0 *inFixedValues,
  const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  void *layerData,
  const void *classifyContext,
  const FWPS_FILTER3 *filter,
  UINT64 flowContext,
  FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

Parameter

inFixedValues

Ein Zeiger auf eine FWPS_INCOMING_VALUES0 Struktur. Diese Struktur enthält die Werte für jedes datenfeld auf der Ebene, die gefiltert wird.

inMetaValues

Ein Zeiger auf eine FWPS_INCOMING_METADATA_VALUES0 Struktur. Diese Struktur enthält die Werte für jedes Metadatenfeld auf der ebene, die gefiltert wird.

layerData

Ein Zeiger auf eine Struktur, die die Rohdaten auf der gefilterten Ebene beschreibt. Dieser Parameter kann NULL-sein, abhängig von der gefilterten Ebene und den Bedingungen, unter denen die klassifizierenFn3 Popupfunktion aufgerufen wird. Für die Datenstromebene 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.

classifyContext

Ein Zeiger auf Kontextdaten, die dem Legendentreiber durch das Filtermodul zugeordnet sind.

filter

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

flowContext

Eine UINT64-typierte Variable, die den Kontext enthält, der dem Datenfluss zugeordnet ist. Wenn dem Datenfluss kein Kontext zugeordnet ist, ist dieser Parameter null. Wenn die Legende dem Filtermodul auf einer Filterebene hinzugefügt wird, die keine Datenflüsse unterstützt, sollte die klassifizierenFn3 Legendenfunktion diesen Parameter ignorieren.

classifyOut

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

Rückgabewert

Nichts

Bemerkungen

Ein Legendentreiber registriert die Legendenfunktionen einer Legende mit dem Filtermodul, indem die FwpsCalloutRegister2-Funktion aufgerufen wird.

Das Filtermodul ruft die klassifizierenFn3 Legendenfunktion mit Daten auf, die verarbeitet werden sollen, wenn alle Testbedingungen für einen Filter im Filtermodul gelten, der die Legende für die Aktion des Filters angibt.

Die klassifizierenFn1 Popupfunktion einer Legende sollte das FWPS_RIGHT_ACTION_WRITE Flag im Rechte Mitglied der FWPS_CLASSIFY_OUT0 Struktur in einem der folgenden Situationen löschen:

  • Wenn die klassifizierenFn1 Popupfunktion das actionType-Element der FWPS_CLASSIFY_OUT0 Struktur auf FWP_ACTION_BLOCKfestlegt.
  • Wenn die klassifizierenFn1 Legendenfunktion das actionType-Element der FWPS_CLASSIFY_OUT0 Struktur auf FWP_ACTION_PERMIT und das FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT Flag im Flags-Element der FWPS_FILTER3 Struktur festgelegt wird.
  • Wenn eine Legende angegeben hat, dass sie beabsichtigt, die Klon-Netpufferliste zu ändern, indem sie den intendToModify Parameter auf TRUE in einem Aufruf der FwpsReferenceNetBufferList0--Funktion festlegen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Header- fwpsk.h
IRQL- <= DISPATCH_LEVEL

Siehe auch