Freigeben über


FWPS_CALLOUT_CLASSIFY_FN3 Rückruffunktion (fwpsu.h)

Version 3 der Rückruffunktion, die während der Klassifizierung aufgerufen wird, wenn ein Legendenfilter übereinstimmt. Der Unterschied ist, 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 zu filternden Ebene.

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.

layerData

Ein Zeiger auf eine Struktur, die die Rohdaten auf der gefilterten Ebene beschreibt. Dieser Parameter kann NULL sein, abhängig von der zu filternden Ebene und den Bedingungen, unter denen die Calloutfunktion klassifizierenFn3 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.

classifyContext

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

filter

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

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 klassifizierenFn3 diesen Parameter ignorieren.

classifyOut

Ein Zeiger auf eine FWPS_CLASSIFY_OUT0-Struktur , die alle Daten empfängt, die die Legendenfunktion klassifizierenFn3 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 Legendenfunktion klassifizierenFn3 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 klassifizierenFn1 einer Legende sollte in einer der folgenden Situationen das flag FWPS_RIGHT_ACTION_WRITE im Rechtemember der FWPS_CLASSIFY_OUT0-Struktur löschen:

  • Wenn die Funktion klassifizierenFn1 das actionType-Element der FWPS_CLASSIFY_OUT0-Struktur auf FWP_ACTION_BLOCK festlegt.
  • Wenn die Funktion klassifizierenFn1 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_FILTER3-Struktur festgelegt wird.
  • Wenn eine Legende angegeben hat, dass sie die Klonen-Netzpufferliste ändern möchte, indem der parameter intendToModify in einem Aufruf der Funktion FwpsReferenceNetBufferList0 auf TRUE festgelegt wird.

Anforderungen

Anforderung Wert
Header fwpsu.h