NdisAllocateNetBufferListContext, fonction (ndis/nblapi.h)
Appelez la fonction NdisAllocateNetBufferListContext pour allouer davantage d’espace de contexte dans la structure NET_BUFFER_LIST_CONTEXT d’un
structure NET_BUFFER_LIST.
Syntaxe
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisAllocateNetBufferListContext(
[in] NET_BUFFER_LIST *NetBufferList,
[in] USHORT ContextSize,
[in] USHORT ContextBackFill,
[in] ULONG PoolTag
);
Paramètres
[in] NetBufferList
Pointeur vers une structure de NET_BUFFER_LIST précédemment allouée.
[in] ContextSize
Quantité d’espace de contexte à allouer dans la structure NET_BUFFER_LIST_CONTEXT. Cette quantité doit être un multiple de la valeur définie par sizeof(void*)
.
[in] ContextBackFill
Quantité de mémoire, en plus de la valeur de ContextSize, pour allouer si NDIS doit allouer de la mémoire pour répondre à la demande. Cette quantité doit être un multiple de la valeur définie par sizeof(void*)
.
[in] PoolTag
Balise de pool de noyau utilisée par NDIS pour allouer la mémoire pour la structure NET_BUFFER_LIST_CONTEXT, si l’allocation est nécessaire. La balise est une chaîne, délimitée par des guillemets simples, avec jusqu’à quatre caractères, généralement spécifiés dans l’ordre inverse. La balise de pool de noyau aide NDIS à identifier le propriétaire de la mémoire.
Valeur de retour
NdisAllocateNetBufferListContext retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
NdisAllocateNetBufferListContext espace de contexte alloué avec succès en réduisant la valeur du membre de la structure NET_BUFFER_LIST_CONTEXT ou en allouant une nouvelle mémoire. |
|
NdisAllocateNetBufferListContext a échoué en raison de ressources insuffisantes. |
|
NdisAllocateNetBufferListContext a échoué pour des raisons autres que des ressources insuffisantes. |
Remarques
S’il existe suffisamment d’espace de contexte inutilisé disponible dans la structure NET_BUFFER_LIST_CONTEXT pour satisfaire la demande, NdisAllocateNetBufferListContext réduit simplement la valeur du membre Offset dans la structure NET_BUFFER_LIST_CONTEXT. Sinon, NDIS alloue une nouvelle mémoire pour l’espace de contexte. Vous pouvez spécifier ContextBackFill pour allouer de la mémoire supplémentaire afin que l’appel suivant à NdisAllocateNetBufferListContext n’ait pas besoin d’allouer de mémoire.
Appeler le fonction NdisFreeNetBufferListContext pour libérer l’espace de contexte dans la structure NET_BUFFER_LIST_CONTEXT qui a été allouée avec NdisAllocateNetBufferListContext.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge dans NDIS 6.0 et versions ultérieures. |
plateforme cible | Universel |
d’en-tête | ndis/nblapi.h (include ndis.h) |
bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
règles de conformité DDI | Irql_NetBuffer_Function(ndis) |