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.
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) |