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.
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 |
---|---|
|
La liste des fragments IP a été correctement réassemblée en une structure NET_BUFFER_LIST unique. |
|
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. |
|
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
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool