Partager via


Fonction FwpsAllocateNetBufferAndNetBufferList0 (fwpsk.h)

La fonction FwpsAllocateNetBufferAndNetBufferList0 alloue une nouvelle structure NET_BUFFER_LIST .

RemarqueFwpsAllocateNetBufferAndNetBufferList0 est une version spécifique de FwpsAllocateNetBufferAndNetBufferList. Pour plus d’informations , consultez WFP Version-Independent Names and Targeting Specific Versions of Windows .
 

Syntaxe

NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
  [in]           NDIS_HANDLE     poolHandle,
  [in]           USHORT          contextSize,
  [in]           USHORT          contextBackFill,
  [in, optional] MDL             *mdlChain,
  [in]           ULONG           dataOffset,
  [in]           SIZE_T          dataLength,
  [out]          NET_BUFFER_LIST **netBufferList
);

Paramètres

[in] poolHandle

Un NET_BUFFER_LIST handle de pool obtenu à partir d’un appel précédent à la fonction NdisAllocateNetBufferListPool .

[in] contextSize

Taille, en octets, de l’espace de données utilisé dans la structure NET_BUFFER_LIST_CONTEXT à réserver pour le pilote de légende. La valeur de ce paramètre doit être un multiple de la valeur définie par MEMORY_ALLOCATION_ALIGNMENT.

[in] contextBackFill

Taille, en octets, de l’espace de données inutilisé (espace de remplissage) requis par le pilote de légende. La fonction FwpsAllocateNetBufferAndNetBufferList0 ajoute cette valeur à la valeur spécifiée dans le paramètre ContextSize et alloue de l’espace supplémentaire. La valeur de ce paramètre doit être un multiple de la valeur définie par MEMORY_ALLOCATION_ALIGNMENT.

[in, optional] mdlChain

Pointeur vers une chaîne MDL utilisée pour initialiser la structure de NET_BUFFER préallouée. Ce paramètre est facultatif et peut être NULL.

[in] dataOffset

Décalage initial, en octets, entre le début de la mémoire tampon et le début de l’espace de données utilisé dans la chaîne MDL. L’espace de données avant ce décalage est un espace de données inutilisé. Par conséquent, cette valeur représente également la quantité initiale d’espace de remplissage disponible dans la chaîne MDL.

[in] dataLength

Longueur, en octets, de l’espace de données utilisé dans la chaîne MDL.

[out] netBufferList

Pointeur vers une variable qui reçoit un pointeur vers la nouvelle structure NET_BUFFER_LIST .

Valeur retournée

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

Code de retour Description
STATUS_SUCCESS
La nouvelle structure NET_BUFFER_LIST a été correctement allouée.
Autres codes status
Une erreur est survenue.

Remarques

Un pilote de légende appelle la fonction FwpsAllocateNetBufferAndNetBufferList0 pour allouer une nouvelle structure NET_BUFFER_LIST .

Cette fonction est un wrapper autour du Fonction NdisAllocateNetBufferAndNetBufferList , mais elle est spécialisée pour une utilisation par les fonctions d’injection de paquets PAM.

Une fois que les données décrites par la nouvelle structure NET_BUFFER_LIST ont été correctement injectées dans la pile réseau, le pilote de légende libère la nouvelle structure NET_BUFFER_LIST en appelant le Fonction FwpsFreeNetBufferList0 .

Configuration requise

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

Voir aussi

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

Fonctions d’injection de paquets