FWPS_CLASSIFY_OUT0-Struktur (fwpstypes.h)

Die FWPS_CLASSIFY_OUT0-Struktur definiert die Daten, die an den Aufrufer der Legendenfunktion klassifizierenFn zurückgegeben werden.

Beachten SieFWPS_CLASSIFY_OUT0 eine bestimmte Version von FWPS_CLASSIFY_OUT ist. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und Spezifische Windows-Versionen .
 

Syntax

typedef struct FWPS_CLASSIFY_OUT0_ {
  FWP_ACTION_TYPE actionType;
  UINT64          outContext;
  UINT64          filterId;
  UINT32          rights;
  UINT32          flags;
  UINT32          reserved;
} FWPS_CLASSIFY_OUT0;

Member

actionType

Ein FWP_ACTION_TYPE Wert, der die vorgeschlagene Aktion angibt, die ausgeführt werden soll, wie durch die Legendenfunktion klassifizierenFn des Legendentreibers bestimmt. Ein Legendentreiber legt diese Variable auf einen der folgenden Werte fest:

FWP_ACTION_BLOCK

Blockieren sie die Übertragung oder den Empfang der Daten.

FWP_ACTION_CONTINUE

Übergeben Sie die Entscheidung, die Übertragung oder den Empfang der Daten an den nächsten Filter in der Filter-Engine zu blockieren oder zuzulassen.

FWP_ACTION_NONE

Führen Sie keine Aktion für die Daten aus.

FWP_ACTION_NONE_NO_MATCH

Führen Sie keine Aktion für die Daten aus, da sie nicht mit den enumerierten Filterdatentypen übereinstimmen.

FWP_ACTION_PERMIT

Zulassen, dass die Daten übertragen oder empfangen werden.

Der Schreibzugriff auf dieses Member wird durch das FWPS_RIGHT_ACTION_WRITE-Flag im Rechtemember gesteuert. Wenn das flag FWPS_RIGHT_ACTION_WRITE festgelegt ist, kann ein Legendentreiber jeden der oben genannten Werte in diesen Member schreiben. Wenn das FWPS_RIGHT_ACTION_WRITE-Flag nicht festgelegt ist, sollte ein Legendentreiber nicht in dieses Element schreiben, es sei denn, er legt ein Veto gegen eine FWP_ACTION_PERMIT Aktion ein, die zuvor von einem Filter mit höherer Gewichtung in der Filter-Engine zurückgegeben wurde. In einer solchen Situation legt ein Beschriftungstreiber diesen Member auf FWP_ACTION_BLOCK fest.

outContext

Ist für das System reserviert. Legendentreiber dürfen diesen Member nicht verwenden.

filterId

Ist für das System reserviert. Legendentreiber dürfen diesen Member nicht verwenden.

rights

Flags, die den Schreibzugriff auf die anderen Member in dieser Struktur steuern. Mögliche Flags sind:

FWPS_RIGHT_ACTION_WRITE

Wenn dieses Flag festgelegt ist, kann ein Legendentreiber in den actionType-Member dieser Struktur schreiben. Wenn dieses Flag nicht festgelegt ist, kann ein Legendentreiber nur in den actionType-Member dieser Struktur schreiben, wenn er ein Veto gegen eine FWP_ACTION_PERMIT Aktion einnimmt, die zuvor von einem Filter mit höherer Gewichtung in der Filter-Engine zurückgegeben wurde.

flags

Flags, die sich auf die Aktion auswirken, die für die Daten ausgeführt wird. Mögliche Flags sind:

FWPS_CLASSIFY_OUT_FLAG_ABSORB

Die blockierten Daten sollen ohne Ereignisprotokollierung oder Überwachung automatisch gelöscht werden. Dies wird in der Regel für Paketänderungen verwendet, bei denen das ursprüngliche Paket aufgenommen und das geänderte Paket weiter verarbeitet werden soll.

Dieses Flag gilt für die folgenden Ebenen, wenn das actionType-Element auf FWP_ACTION_BLOCK festgelegt ist:

FWPS_LAYER_INBOUND_MAC_FRAME_NATIVE
FWPS_LAYER_OUTBOUND_MAC_FRAME_NATIVE
FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET
FWPS_LAYER_OUTBOUND_MAC_FRAME_ETHERNET
FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
FWPS_LAYER_INBOUND_IPPACKET_V4
FWPS_LAYER_INBOUND_IPPACKET_V6
FWPS_LAYER_OUTBOUND_IPPACKET_V4
FWPS_LAYER_OUTBOUND_IPPACKET_V6
FWPS_LAYER_INBOUND_TRANSPORT_V4
FWPS_LAYER_INBOUND_TRANSPORT_V6
FWPS_LAYER_OUTBOUND_TRANSPORT_V4
FWPS_LAYER_OUTBOUND_TRANSPORT_V6
FWPS_LAYER_INBOUND_ICMP_ERROR_V4
FWPS_LAYER_INBOUND_ICMP_ERROR_V6
FWPS_LAYER_OUTBOUND_ICMP_ERROR_V4
FWPS_LAYER_OUTBOUND_ICMP_ERROR_V6
FWPS_LAYER_DATAGRAM_DATA_V4
FWPS_LAYER_DATAGRAM_DATA_V6
FWPS_LAYER_STREAM_PACKET_V4
FWPS_LAYER_STREAM_PACKET_V6
FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V4
FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V6
FWPS_LAYER_ALE_AUTH_CONNECT_V4
FWPS_LAYER_ALE_AUTH_CONNECT_V6

Es ist auch möglich, dieses Flag auf den ebenen FWPS_LAYER_ALE_FLOW_ESTABLISHED_V4 und FWPS_LAYER_ALE_FLOW_ESTABLISHED_V6 festzulegen. Dies wird jedoch nicht empfohlen, da diese Ebenen für das Zuordnen von Kontext zu Flows vorgesehen sind.

Wenn dieses Flag nicht festgelegt ist, unterliegt eine blockierende Aktion der normalen Ereignisprotokollierung und -überwachung.

FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED

Die Filter-Engine legt dieses Flag fest, wenn der Datenpuffer der Filter-Engine für Streamdaten voll ist. Dies kann auftreten, wenn die Legendenfunktion klassifizierenFn wiederholt weitere Daten anfordert, indem das streamAction-Element der FWPS_STREAM_CALLOUT_IO_PACKET0-Struktur auf FWPS_STREAM_ACTION_NEED_MORE_DATA festgelegt wird, bis die Puffergrenze erreicht ist. Wenn dieses Flag festgelegt ist, muss die Aufruffunktion klassifizierenFn des Legendentreibers alle Datenstromdaten entweder zulassen oder blockieren.

Dieses Flag gilt nur für die Streamebenen.

FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA

Stream Daten wurden angefordert, nachdem die Verbindung mit dem Datenstrom getrennt wurde.

reserved

Ist für das System reserviert. Legendentreiber dürfen diesen Member nicht verwenden.

Hinweise

Die Filter-Engine übergibt einen Zeiger auf eine FWPS_CLASSIFY_OUT0-Struktur an die Legendenfunktion klassifizierenFn einer Legende. Ein Legendentreiber verwendet diese Struktur, um Daten an den Aufrufer zurückzugeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows Vista.
Kopfzeile fwpstypes.h (include Fwpsk.h, Fwpmtypes.h, Fwpmk.h)

Weitere Informationen

FWPS_STREAM_CALLOUT_IO_PACKET0

Laufzeitfilterung von Ebenenbezeichnern

klassifizierenFn