FwpsReassembleForwardFragmentGroup0-Funktion (fwpsk.h)

Die FwpsReassembleForwardFragmentGroup0-Funktion stellt eine Liste von IP-Fragmenten im Weiterleitungsdatenpfad in einem einzelnen Paket zusammen.

HinweisFwpsReassembleForwardFragmentGroup0 ist eine bestimmte Version von FwpsReassembleForwardFragmentGroup. Weitere Informationen finden Sie unter WFP-Version-Independent Namen und Spezifische Windows-Versionen .
 

Syntax

NTSTATUS FwpsReassembleForwardFragmentGroup0(
  [in]           ADDRESS_FAMILY  addressFamily,
  [in, out]      NET_BUFFER_LIST *fragmentGroupNblChain,
  [in, optional] NDIS_HANDLE     netBufferAndNetBufferListPoolHandle,
  [in]           ULONG           dataBackFill,
  [in]           ULONG           flags,
  [out]          NET_BUFFER_LIST **reassembledNbl
);

Parameter

[in] addressFamily

Eine der folgenden Adressfamilien:

AF_INET

Die IPv4-Adressfamilie.

AF_INET6

Die IPv6-Adressfamilie.

[in, out] fragmentGroupNblChain

Ein Zeiger auf die NET_BUFFER_LIST Kette von IP-Fragmenten, die in einem einzelnen Paket neu zusammengesetzt werden sollen. Weitere Informationen zur Verwendung dieses Parameters finden Sie unter Hinweise.

[in, optional] netBufferAndNetBufferListPoolHandle

Ein optionales NET_BUFFER_LIST-Strukturpoolhandle, das zuvor vom NdisAllocateNetBufferListPool-Funktion . Der fAllocateNetBuffer-Member der NET_BUFFER_LIST_POOL_PARAMETERS Struktur, die der Aufrufer an NdisAllocateNetBufferListPool übergeben hat, muss auf TRUE und das DataSize-Element auf Null festgelegt sein. Wenn dieser Parameter NULL ist, verwendet NDIS einen internen Pool.

[in] dataBackFill

Wenn die Zuordnung des nicht verwendeten Datenspeicherplatzes (Ausfüllbereich) erforderlich ist, gibt dieser Parameter die Anzahl der Bytes des zuzuordnenden nicht verwendeten Datenspeicherplatzes an.

[in] flags

Reserviert. Legendentreiber müssen diesen Parameter auf 0 (null) festlegen.

[out] reassembledNbl

Ein Zeiger auf einen NET_BUFFER_LIST Zeiger, der die Adresse der neu zusammengesetzten Einzelnetzwerkpufferliste empfängt.

Rückgabewert

Die FwpsReassembleForwardFragmentGroup0-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Liste der IP-Fragmente wurde erfolgreich in einer einzelnen NET_BUFFER_LIST-Struktur zusammengefasst.
STATUS_FWP_TCPIP_NOT_READY
Der TCP/IP-Netzwerkstapel ist nicht bereit für die erneute Paketassembly. Dieser Fehler kann auftreten, wenn diese Funktion aufgerufen wird, bevor Tcpip.sys geladen wird oder nachdem Tcpip.sys entladen wurde.
Andere status Codes
Ein Fehler ist aufgetreten.

Hinweise

Die Funktion FwpsReassembleForwardFragmentGroup0 stellt eine Liste von IP-Fragmenten im Weiterleitungsdatenpfad zusammen, die durch eine NET_BUFFER_LIST kette beschrieben wird, in einem einzelnen Paket. Das neu zusammengesetzte Paket ist eine einzelne Netzpufferliste, die einen Nettopuffer enthält und auf die Eingabefragmentkette verweist. Diese Funktion wird in der Regel von Edgefirewalls verwendet, um Netzwerkpakete zu untersuchen.

Die Eingabekette von IP-Fragmenten,fragmentGroupNblChain, muss eine sein, die durch die KlassifizierungFn-Legende zur FWPS_LAYER_IPFORWARD_V4- oder FWPS_LAYER_IPFORWARD_V6-Ebene angegeben wird, wenn das FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP-Flag festgelegt ist. Wenn dies nicht der Fall ist, ist das Verhalten von FwpsReassembleForwardFragmentGroup0 nicht definiert.

Rufen Sie die FwpsFreeNetBufferList0-Funktion auf, um die struktur reassembledNbl NET_BUFFER_LIST und alle zugeordneten NET_BUFFER-Strukturen und MDL-Ketten frei zu geben. FwpsFreeNetBufferList0 dereferenziert die ursprüngliche Eingabefragmentkette.

Sie können den folgenden Befehl verwenden, um die aktuelle Einstellung "Weitergeleitete Fragmente gruppieren" für das System anzuzeigen: netsh-Schnittstelle {ipv4|ipv6} global anzeigen.

Da FwpsReassembleForwardFragmentGroup0 auf die Eingabefragmentkette verweist, ist es nicht erforderlich, dass Legenden vor dem Aufrufen dieser Funktion auf die Kette verweisen oder klonen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows Server 2008.
Zielplattform Universell
Header fwpsk.h (include Fwpsk.h)
Bibliothek Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Weitere Informationen

FwpsFreeNetBufferList0

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool

klassifizierenFn