FWPS_CALLOUT_CLASSIFY_FN1 Rückruffunktion (fwpsk.h)
Die Filter-Engine ruft die Beschriftungsfunktion klassifizierenFn1 einer Legende auf, wenn daten vorhanden sind, die von der Legende verarbeitet werden sollen.
Syntax
FWPS_CALLOUT_CLASSIFY_FN1 FwpsCalloutClassifyFn1;
void FwpsCalloutClassifyFn1(
[in] const FWPS_INCOMING_VALUES0 *inFixedValues,
[in] const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
[in, out] void *layerData,
[in, optional] const void *classifyContext,
[in] const FWPS_FILTER1 *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] 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 Legendenfunktion klassifizierenFn1 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_FILTER1 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 klassifizierenFn1 diesen Parameter ignorieren.
[in, out] classifyOut
Ein Zeiger auf eine FWPS_CLASSIFY_OUT0-Struktur , die alle Daten empfängt, die die Legendenfunktion klassifizierenFn1 an den Aufrufer zurückgibt.
Rückgabewert
Keine
Bemerkungen
Ein Legendentreiber registriert die Legendenfunktionen einer Legende bei der Filter-Engine, indem er die Funktion FwpsCalloutRegister1 aufruft.
Die Filter-Engine ruft die Beschriftungsfunktion klassifizierenFn1 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 Beschriftung für die Aktion des Filters angibt.
Die Legendenfunktion klassifizierenFn1 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 Funktion klassifizierenFn1 das actionType-Element der FWPS_CLASSIFY_OUT0-Struktur auf FWP_ACTION_BLOCK festlegt.
- Wenn die KlassifizierungFn1-Legendenfunktion das actionType-Element der FWPS_CLASSIFY_OUT0-Struktur auf FWP_ACTION_PERMIT festlegt, und das FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT-Flag im Flags-Element der FWPS_FILTER1-Struktur festgelegt wird.
- Wenn eine Legende angegeben hat, dass sie die Liste des Klonens des Net-Puffers ändern möchte, indem sie denparameter intendToModify in einem Aufruf des FwpsReferenceNetBufferList0-Funktion .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 7. |
Zielplattform | Windows |
Kopfzeile | fwpsk.h (include fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
Weitere Informationen
Zuordnen von Kontext zu einem Datenfluss
Legendentreiber-Legendenfunktionen
FWPS_INCOMING_METADATA_VALUES0Registrieren von Legenden bei der Filter-Engine
Verwenden einer Legende für die ausführliche Überprüfung von Stream Daten