Partager via


Fonction FwpsReassembleForwardFragmentGroup0 (fwpsk.h)

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

RemarqueFwpsReassembleForwardFragmentGroup0 est une version spécifique de FwpsReassembleForwardFragmentGroup. Pour plus d’informations , voir 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

L’une des familles d’adresses suivantes :

AF_INET

Famille d’adresses IPv4.

AF_INET6

Famille d’adresses IPv6.

[in, out] fragmentGroupNblChain

Pointeur vers le NET_BUFFER_LIST chaîne 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

Un handle de pool de structure NET_BUFFER_LIST facultatif qui a été précédemment retourné à partir du Fonction NdisAllocateNetBufferListPool . Le membre fAllocateNetBuffer de la structure NET_BUFFER_LIST_POOL_PARAMETERS que l’appelant a passé à NdisAllocateNetBufferListPool doit avoir la valeur TRUE et le membre DataSize défini sur zéro. Si ce paramètre a la valeur 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 uniques réassemblage.

Valeur retournée

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

Code de retour Description
STATUS_SUCCESS
La liste des fragments IP a été correctement réassemblée en une structure NET_BUFFER_LIST unique.
STATUS_FWP_TCPIP_NOT_READY
La pile réseau TCP/IP n’est pas prête à effectuer un réassemblage de paquets. Cette erreur peut se produire si cette fonction est appelée avant le chargement de Tcpip.sys ou après le déchargement de Tcpip.sys.
Autres codes status
Une erreur est survenue.

Remarques

La fonction FwpsReassembleForwardFragmentGroup0 assemble une liste de fragments IP dans le chemin de données de transfert, décrit par une chaîne NET_BUFFER_LIST , en un seul paquet. Le paquet réassembté est une liste de mémoires tampons réseau unique 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 edge pour inspecter les paquets réseau.

La chaîne d’entrée des fragments IP, fragmentGroupNblChain, doit être celle qui est indiquée par la fonction de légende classifyFn à la couche FWPS_LAYER_IPFORWARD_V4 ou FWPS_LAYER_IPFORWARD_V6 lorsque l’indicateur 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 et chaînes MDL associées. 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 « Group Forwarded Fragments » pour le système : netsh interface {ipv4|ipv6} afficher global.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Server 2008.
Plateforme cible Universal
En-tête fwpsk.h (inclure Fwpsk.h)
Bibliothèque Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

FwpsFreeNetBufferList0

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool

classFn