FwpsReassembleForwardFragmentGroup0-Funktion (fwpsk.h)
Die FwpsReassembleForwardFragmentGroup0-Funktion stellt eine Liste von IP-Fragmenten im Weiterleitungsdatenpfad in einem einzelnen Paket zusammen.
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 |
---|---|
|
Die Liste der IP-Fragmente wurde erfolgreich in einer einzelnen NET_BUFFER_LIST-Struktur zusammengefasst. |
|
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. |
|
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
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool