FwpsReassembleForwardFragmentGroup0-Funktion (fwpsk.h)
Die FwpsReassembleForwardFragmentGroup0-Funktion fasst 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 zusammengefasst werden sollen. Weitere Informationen zur Verwendung dieses Parameters finden Sie in den Hinweisen.
[in, optional] netBufferAndNetBufferListPoolHandle
Optionaler NET_BUFFER_LIST Strukturpoolhandle, der zuvor vom NdisAllocateNetBufferListPool Funktion. Der fAllocateNetBuffer Member der NET_BUFFER_LIST_POOL_PARAMETERS Struktur, die der Aufrufer an NdisAllocateNetBufferListPool übergeben hat, muss auf TRUEfestgelegt sein, und der DataSize Member auf Null festgelegt sein. Wenn dieser Parameter NULL-ist, verwendet NDIS einen internen Pool.
[in] dataBackFill
Wenn die Zuordnung nicht verwendeter Datenspeicher (Rückfüllbereich) erforderlich ist, gibt dieser Parameter die Anzahl der Bytes des nicht verwendeten Datenbereichs an, der zugewiesen werden soll.
[in] flags
Reserviert. Legendentreiber müssen diesen Parameter auf Null festlegen.
[out] reassembledNbl
Ein Zeiger auf einen NET_BUFFER_LIST Zeiger, der die Adresse der neu zusammengesetzten Einzelnen Netzwerkpufferliste 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 neu zusammengefasst. |
|
Der TCP/IP-Netzwerkstapel ist nicht bereit, paketumbauend durchzuführen. Dieser Fehler kann auftreten, wenn diese Funktion aufgerufen wird, bevor Tcpip.sys geladen wird, oder nachdem Tcpip.sys entladen wurde. |
|
Fehler. |
Bemerkungen
Die FwpsReassembleForwardFragmentGroup0-Funktion fasst 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 Netpufferliste, die einen Nettopuffer enthält und auf die Eingabefragmentkette verweist. Diese Funktion wird in der Regel von Edgefirewalls verwendet, um Netzwerkpakete zu prüfen.
Die Eingabekette von IP-Fragmenten, fragmentGroupNblChain, muss eine sein, die durch die klassifizierenFn Legendenfunktion auf die 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 neu zusammengesetztENbl NET_BUFFER_LIST-Struktur und alle zugeordneten NET_BUFFER Strukturen und MDL-Ketten frei zu geben. FwpsFreeNetBufferList0 die ursprüngliche Eingabefragmentkette ableiten.
Mit dem folgenden Befehl können Sie die aktuelle Einstellung "Weitergeleitete Fragmente gruppieren" für das System anzeigen: netsh interface {ipv4|ipv6} zeigen globalean.
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 |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows Server 2008. |
Zielplattform- | Universal |
Header- | fwpsk.h (include Fwpsk.h) |
Library | Fwpkclnt.lib |
IRQL- | <= DISPATCH_LEVEL |
Siehe auch
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool