Freigeben über


FWPS_STREAM_CALLOUT_IO_PACKET0-Struktur (fwpsk.h)

Die FWPS_STREAM_CALLOUT_IO_PACKET0-Struktur beschreibt die Daten, die vom Filtermodul an die Legendenfunktion klassifizierenFn beim Filtern eines Datenstroms übergeben werden.

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

Syntax

typedef struct FWPS_STREAM_CALLOUT_IO_PACKET0_ {
  FWPS_STREAM_DATA0       *streamData;
  SIZE_T                  missedBytes;
  UINT32                  countBytesRequired;
  SIZE_T                  countBytesEnforced;
  FWPS_STREAM_ACTION_TYPE streamAction;
} FWPS_STREAM_CALLOUT_IO_PACKET0;

Member

streamData

Ein Zeiger auf eine FWPS_STREAM_DATA0-Struktur , die den Teil des Datenstroms beschreibt, der für die Verarbeitung der Aufruffunktion klassifizierenFn des Legendentreibers verfügbar ist.

missedBytes

Die Anzahl der Bytes im Datenstrom, die seit dem letzten Aufruf der Callout-Funktion "classifyFn " des Legendentreibers fehlen. Dieser Member ist ungleich null, wenn ein Filter mit höherer Gewichtung in der Filter-Engine verhindert hat, dass die Aufruffunktion klassifizierenFn des Callout-Treibers einen Teil des Datenstroms verarbeitet.

countBytesRequired

Ein Wert, der durch die Beschriftungsfunktion klassifizierenFn festgelegt wird. Dieser Wert gibt an, wie viele zusätzliche Bytes an Datenstromdaten von der Legendenfunktion benötigt werden, wenn sie den streamAction-Memberauf FWPS_STREAM_ACTION_NEED_MORE_DATA festlegt. Die Filter-Engine wartet, bis sie mindestens so viele zusätzliche Bytes an Datenstromdaten empfängt, bevor die Aufruffunktion klassifizierenFn des Callout-Treibers erneut aufgerufen wird.

Wenn die Beschriftungsfunktion klassifizierenFn eines Legendes den streamAction-Member auf einen anderen Wert als FWPS_STREAM_ACTION_NEED_MORE_DATA festlegt, sollte dieser Member auf 0 festgelegt werden.

countBytesEnforced

Ein Wert, der durch die Beschriftungsfunktion klassifizierenFn festgelegt wird. Dieser Wert gibt die Anzahl der führenden Bytes von Daten im Teil des verarbeiteten Datenstroms an, auf den die vom streamAction-Member oder von der von der Legendenfunktion zurückgegebene Aktion angewendet wird. Alle verbleibenden Daten im Streampuffer werden erneut an den Legendentreiber übergeben, wenn die Filter-Engine das nächste Mal die Aufruffunktion klassifizierenFn des Callout-Treibers aufruft.

streamAction

Ein FWPS_STREAM_ACTION_TYPE Wert, der durch die Beschriftungsfunktion klassifizierenFn einer Legende festgelegt wird, die die Aktion angibt, die auf den Datenstrom angewendet werden soll. Diese Aktion ist unabhängig von der Aktion, die von der Legendenfunktion zurückgegeben wird. Die Beschriftungsfunktion klassifizierenFn einer Legende legt diesen Member auf einen der folgenden Elemente fest:

FWPS_STREAM_ACTION_NONE

Es ist keine streamspezifische Aktion erforderlich.

FWPS_STREAM_ACTION_ALLOW_CONNECTION

Gibt an, dass alle zukünftigen Datensegmente, die zu einem Flow gehören, zulässig sind. In diesem Fall beendet WFP die Klassifizierung aller Datensegmente in der Legende und versucht, den Flow auf die Hardware auszulagern, sodass kein weiterer Prüfaufwand entsteht.

FWPS_STREAM_ACTION_NEED_MORE_DATA

Weitere Datenstromdaten sind für die Legendenfunktion erforderlich.

FWPS_STREAM_ACTION_DROP_CONNECTION

Die Streamverbindung sollte gelöscht werden. Die Beschriftungsfunktion "classifyFn " einer Legende sollte den streamAction-Member nur dann auf diesen Wert festlegen, wenn der action.type-Member der FWPS_FILTER0 Struktur, die die Filter-Engine an die Legendenfunktion klassifizierenFn des Callout-Treibers übergeben hat, den Wert FWP_ACTION_CALLOUT_UNKNOWN enthält. Wenn die Beschriftungsfunktion "classifyFn" einer Legende den streamAction-Member auf diesen Wert festlegt, wenn der action.type-Member der FWPS_FILTER0-Struktur den Wert FWP_ACTION_CALLOUT_INSPECTION enthält, wird die Verbindung nicht gelöscht.

FWPS_STREAM_ACTION_DEFER

Die Verarbeitung der Datenstromdaten wird verzögert, bis der Legendentreiber die Funktion FwpsStreamContinue0 aufruft. Diese Aktion kann nur für einen eingehenden Datenstrom festgelegt werden.

Das Zurückstellen eines eingehenden Datenstroms führt dazu, dass der Netzwerkstapel die vom Absender empfangenen Daten nicht mehr bestätigt. Dies führt zu einer Verringerung der Größe des gleitenden TCP-Fensters. Ein Legendentreiber kann dieses Verhalten verwenden, um die Flusssteuerung zu implementieren, um die eingehende Datenrate zu verlangsamen.

Der FWPS_STREAM_ACTION_TYPE_MAX Wert ist ein Maximalwert für Testzwecke.

Wenn die Legendenfunktion klassifizierenFn dieses Element auf einen anderen Wert als FWPS_STREAM_ACTION_NONE festlegt, wird die von der Legendenfunktion zurückgegebene Aktion von der Filter-Engine ignoriert.

Hinweise

Die Filter-Engine übergibt einen Zeiger auf eine FWPS_STREAM_CALLOUT_IO_PACKET0-Struktur an die Legendenfunktion klassifizierenFn als layerData-Parameter beim Filtern eines Datenstroms.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows Vista.
Kopfzeile fwpsk.h (include Fwpsk.h)

Weitere Informationen

FWPS_STREAM_DATA0

FwpsStreamContinue0

Typen von Legenden

klassifizierenFn