Partager via


FwpsReassembleForwardFragmentGroup0, fonction (fwpsk.h)

La fonction FwpsReassembleForwardFragmentGroup0 assemble une liste de fragments IP dans le chemin de données de transfert en un seul paquet.

RemarqueFwpsReassembleForwardFragmentGroup0 est une version spécifique de FwpsReassembleForwardFragmentGroup. Pour plus d’informations, consultez PAM Version-Independent noms et ciblage de versions spécifiques de Windows.
 

Syntaxe

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

Paramètres

[in] addressFamily

Une des familles d’adresses suivantes :

AF_INET

Famille d’adresses IPv4.

AF_INET6

Famille d’adresses IPv6.

[in, out] fragmentGroupNblChain

Pointeur vers la chaîne NET_BUFFER_LIST de fragments IP à réassembler en un seul paquet. Pour plus d’informations sur l’utilisation de ce paramètre, consultez Remarques.

[in, optional] netBufferAndNetBufferListPoolHandle

Handle de pool de structures NET_BUFFER_LIST facultatif qui a été retourné précédemment à partir du fonction NdisAllocateNetBufferListPool. Le membre fAllocateNetBuffer de la structure NET_BUFFER_LIST_POOL_PARAMETERS que l’appelant a passée à NdisAllocateNetBufferListPool doit avoir été défini sur TRUE, et le membre DataSize défini sur zéro. Si ce paramètre est NULL, NDIS utilise un pool interne.

[in] dataBackFill

Si l’allocation d’espace de données inutilisé (espace de remplissage) est requise, ce paramètre spécifie le nombre d’octets d’espace de données inutilisé à allouer.

[in] flags

Réservé. Les pilotes de légende doivent définir ce paramètre sur zéro.

[out] reassembledNbl

Pointeur vers un pointeur NET_BUFFER_LIST qui reçoit l’adresse de la liste de mémoires tampons réseau reassembées.

Valeur de retour

La fonction FwpsReassembleForwardFragmentGroup0 retourne l’un des codes NTSTATUS suivants.

Retourner le code Description
STATUS_SUCCESS
La liste des fragments IP a été réassemblage en une seule structure de NET_BUFFER_LIST.
STATUS_FWP_TCPIP_NOT_READY
La pile réseau TCP/IP n’est pas prête à effectuer une réassemblage de paquets. Cette erreur peut se produire si cette fonction est appelée avant Tcpip.sys est chargée, ou après Tcpip.sys a été déchargée.
Autres codes d’état
Une erreur s’est produite.

Remarques

La fonction FwpsReassembleForwardFragmentGroup0 assemble une liste de fragments IP dans le chemin de données de transfert, décrite par une chaîne de NET_BUFFER_LIST, en un seul paquet. Le paquet réassembled est une seule liste de mémoires tampons nettes qui contient une mémoire tampon nette et fait référence à la chaîne de fragments d’entrée. Cette fonction est généralement utilisée par les pare-feu de périphérie pour inspecter les paquets réseau.

La chaîne d’entrée de fragments IP, fragmentGroupNblChain, doit être celle indiquée par la fonction de légende classifierFn sur la couche FWPS_LAYER_IPFORWARD_V4 ou FWPS_LAYER_IPFORWARD_V6 lorsque l’indicateur de FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP est défini. Si ce n’est pas le cas, le comportement de FwpsReassembleForwardFragmentGroup0 n’est pas défini.

Appelez la fonction FwpsFreeNetBufferList0 pour libérer la structure réassembledNbl NET_BUFFER_LIST et toutes les structures NET_BUFFER associées et chaînes MDL. FwpsFreeNetBufferList0 déréférence la chaîne de fragments d’entrée d’origine.

Vous pouvez utiliser la commande suivante pour afficher le paramètre actuel « Fragments transférés de groupe » pour le système : interface netsh {ipv4|ipv6} affiche lesglobales.

Étant donné que FwpsReassembleForwardFragmentGroup0 fait référence à la chaîne de fragments d’entrée, il n’est pas nécessaire que les légendes référencent ou clonent la chaîne avant d’appeler cette fonction.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Server 2008.
plateforme cible Universel
d’en-tête fwpsk.h (include Fwpsk.h)
bibliothèque Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

FwpsFreeNetBufferList0

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool

classifierFn