Fonction FwpsAllocateNetBufferAndNetBufferList0 (fwpsk.h)
La fonction FwpsAllocateNetBufferAndNetBufferList0 alloue une nouvelle structure NET_BUFFER_LIST .
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 |
---|---|
|
La nouvelle structure NET_BUFFER_LIST a été correctement allouée. |
|
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 |