FWPS_FILTER0-Struktur (fwpstypes.h)
Die FWPS_FILTER0-Struktur definiert einen Laufzeitfilter in der Filter-Engine. FWPS_FILTER2 ist verfügbar. Für Windows 7 ist FWPS_FILTER1 verfügbar.
Syntax
typedef struct FWPS_FILTER0_ {
UINT64 filterId;
FWP_VALUE0 weight;
UINT16 subLayerWeight;
UINT16 flags;
UINT32 numFilterConditions;
FWPS_FILTER_CONDITION0 *filterCondition;
FWPS_ACTION0 action;
UINT64 context;
FWPM_PROVIDER_CONTEXT0 *providerContext;
} FWPS_FILTER0;
Member
filterId
Ein Laufzeitbezeichner, der den Filter in der Filter-Engine identifiziert.
weight
Eine FWP_VALUE0-Struktur , die einen Wert enthält, der die Bedeutung des Filters im Verhältnis zu anderen Filtern in der Filter-Engine angibt. Filter mit einem höheren Gewichtungswert werden zuerst aufgerufen. Der in der FWP_VALUE0-Struktur angegebene Datentyp ist entweder FWP_UINT64 oder FWP_EMPTY. Wenn der in der FWP_VALUE0-Struktur angegebene Datentyp FWP_EMPTY ist, weist die Filter-Engine dem Filter automatisch eine Gewichtung zu, basierend darauf, wie spezifisch der Filter die Daten im Vergleich zu den anderen Filtern in der Filter-Engine testet.
subLayerWeight
Ein Wert, der die Bedeutung der Unterschicht des Filters im Verhältnis zu den anderen Unterschichten in der Filter-Engine angibt. Filter, die sich in einer Unterschicht mit einem höheren subLayerWeight-Wert befinden, werden zuerst aufgerufen.
flags
Flags, die Aktionen angeben, die die Calloutfunktion klassifizierenFn0 bei der Verarbeitung von Netzwerkdaten ausführen soll. Mögliche Flags sind:
Wert | Bedeutung |
---|---|
FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT | Dieses Flag gibt für die Beschriftungsfunktion klassifizierenFn0 einer Legende an, dass das FWPS_RIGHT_ACTION_WRITE-Flag immer gelöscht werden soll, wenn es entweder FWP_ACTION_BLOCK oder FWP_ACTION_PERMIT für die vorgeschlagene Aktion zurückgibt. Wenn dieses Flag nicht festgelegt ist, sollte die Legendenfunktion klassifizierenFn0 nur das FWPS_RIGHT_ACTION_WRITE-Flag löschen, wenn sie FWP_ACTION_BLOCK für die vorgeschlagene Aktion zurückgibt. |
FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED | Dieses Flag gibt für die Legendenfunktion klassifizierenFn0 einer Legende an, dass die Legende als Genehmigungsfilter behandelt werden soll, wenn die Legende nicht registriert ist. |
numFilterConditions
Die Anzahl der FWPS_FILTER_CONDITION0 Strukturen im Array, auf die vom element filterCondition verwiesen wird. Dieser Member kann 0 sein.
filterCondition
Ein Zeiger auf ein Array von FWPS_FILTER_CONDITION0 Strukturen. Diese Strukturen definieren die Laufzeitfilterbedingungen für den Filter. Wenn der numFilterConditions-Member 0 ist, ist dieser Zeiger NULL.
action
Eine FWPS_ACTION0-Struktur , die die Aktion angibt, die der Filter ausführen soll, wenn alle Filterbedingungen des Filters wahr sind.
context
Ein Kontextwert, der dem Filter zugeordnet ist. Eine Legende kann festlegen, dass dieser Member auf eine vom Legendentreiber bereitgestellte Kontextstruktur aus der Callout-Funktion notifyFn0 des Legendentreibers verweist, wenn der Filter der Filter-Engine hinzugefügt wird. Diese Kontextstruktur, die für die Filter-Engine undurchsichtig ist, kann von der Callout-Treiberfunktion klassifizierenFn0 verwendet werden, um alle treiberspezifischen Daten oder Zustandsinformationen zwischen Aufrufen der Filter-Engine für die Legendenfunktion klassifizierenFn0 des Legendentreibers beizubehalten.
providerContext
Ein Zeiger auf den Anbieterkontext, der als FWPM_PROVIDER_CONTEXT0-Struktur formatiert ist. Wenn der Filter eine Legende verwendet und für die Legende das FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT-Flag festgelegt ist, enthält dieses Element den Anbieterkontext aus der entsprechenden FWPM_FILTER0-Struktur . Andernfalls ist dieser Parameter NULL.
Hinweise
Die Filter-Engine übergibt einen Zeiger auf eine FWPS_FILTER0-Struktur an die Calloutfunktionen notifyFn0 und klassifizierenFn0 .
Die Aktion eines Filters wird nur ausgeführt, wenn alle Filterbedingungen des Filters wahr sind. Wenn im Filter keine Filterbedingungen angegeben sind, wird die angegebene Aktion immer ausgeführt.
Das ProviderContext-Member stellt einen Mechanismus für einen Callouttreiber bereit, um Anbieterkontexte abzurufen, ohne die Basisfilter-Engine (BFE) aufzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows Vista. |
Kopfzeile | fwpstypes.h (include fwpsk.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für