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.
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
FWPS_INCOMING_METADATA_VALUES0Registrieren 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