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

FWPM_CALLOUT0

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT0

FWPS_ACTION0

FWPS_FILTER1

FWPS_FILTER2

FWPS_FILTER_CONDITION0

FWP_VALUE0

klassifizierenFn0

notifyFn0