FWPS_FILTER1-Struktur (fwpstypes.h)

Die FWPS_FILTER1-Struktur definiert einen Laufzeitfilter in der Filter-Engine. FWPS_FILTER0 ist verfügbar.

Syntax

typedef struct FWPS_FILTER1_ {
  UINT64                 filterId;
  FWP_VALUE0             weight;
  UINT16                 subLayerWeight;
  UINT16                 flags;
  UINT32                 numFilterConditions;
  FWPS_FILTER_CONDITION0 *filterCondition;
  FWPS_ACTION0           action;
  UINT64                 context;
  FWPM_PROVIDER_CONTEXT1 *providerContext;
} FWPS_FILTER1;

Member

filterId

Ein Laufzeitbezeichner, der den Filter in der Filter-Engine identifiziert.

weight

Eine FWP_VALUE0 Struktur, die einen Wert enthält, der die Wichtigkeit 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 Wichtigkeit 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 Legendenfunktion klassifizierenFn1 bei der Verarbeitung von Netzwerkdaten ausführen sollen. Mögliche Flags sind:

Wert Bedeutung
FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT Dieses Flag gibt für die Legendenfunktion klassifizierenFn1 einer Legende an, dass das flag FWPS_RIGHT_ACTION_WRITE 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 klassifizierenFn1 einer Legende das flag FWPS_RIGHT_ACTION_WRITE nur 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 Beschriftungsfunktion klassifizierenFn1 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 das der filterCondition-Member verweist. Dieser Member kann 0 (null) 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 null 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 true sind.

context

Ein Kontextwert, der dem Filter zugeordnet ist. Eine Legende kann festlegen, dass dieser Member auf eine vom Legendentreiber bereitgestellte Kontextstruktur innerhalb der LegendeFn1-Beschriftungsfunktion 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 Legendenfunktion klassifizierenFn1 des Legendentreibers verwendet werden, um alle treiberspezifischen Daten oder Zustandsinformationen zwischen Aufrufen der Filter-Engine an die Legendenfunktion klassifizierenFn1 des Callout-Treibers beizubehalten.

providerContext

Ein Zeiger auf den Anbieterkontext, der als FWPM_PROVIDER_CONTEXT1-Struktur formatiert ist. Wenn der Filter eine Legende verwendet und für die Legende das flag FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT 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_FILTER1-Struktur an die Legendenfunktionen notifyFn1 und klassifizierenFn1 einer Legende.

Die Aktion eines Filters wird nur ausgeführt, wenn alle Filterbedingungen des Filters true sind. Wenn im Filter keine Filterbedingungen angegeben sind, wird die angegebene Aktion immer ausgeführt.

Das ProviderContext-Element stellt einen Mechanismus für einen Legendentreiber zum Abrufen von Anbieterkontexten bereit, ohne die Basisfilter-Engine (BFE) aufzurufen.

Anforderungen

   
Unterstützte Mindestversion (Client) Verfügbar ab Windows 7.
Kopfzeile fwpstypes.h (include Fwpsk.h)

Weitere Informationen

FWPM_CALLOUT0

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT1

FWPS_ACTION0

FWPS_FILTER0

FWPS_FILTER2

FWPS_FILTER_CONDITION0

FWP_VALUE0

klassifizierenFn1

notifyFn1