Partager via


FwpsAllocateNetBufferAndNetBufferList0, fonction (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 PAM Version-Independent noms et ciblage de versions spécifiques de 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

Handle de pool NET_BUFFER_LIST 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 NET_BUFFER préallouée. Ce paramètre est facultatif et peut être NULL.

[in] dataOffset

Décalage initial, en octets, du début de la mémoire tampon au début de l’espace de données utilisé dans la chaîne MDL. L’espace de données à l’avance de 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 de retour

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

Retourner le code Description
STATUS_SUCCESS
La nouvelle structure de NET_BUFFER_LIST a été correctement allouée.
Autres codes d’état
Une erreur s’est produite.

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 le PAM fonctions d’injection de paquets.

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

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista.
plateforme cible Universel
d’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