NdisAllocateNetBufferListContext, fonction (ndis/nblapi.h)
Appelez la fonction NdisAllocateNetBufferListContext pour allouer plus d’espace de contexte dans la structure NET_BUFFER_LIST_CONTEXT d’un
NET_BUFFER_LIST structure.
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 NET_BUFFER_LIST précédemment allouée.
[in] ContextSize
Quantité d’espace de contexte à allouer dans la structure NET_BUFFER_LIST_CONTEXT. Ce montant 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, à allouer si NDIS doit allouer de la mémoire pour répondre à la demande. Ce montant doit être un multiple de la valeur définie par sizeof(void*)
.
[in] PoolTag
Balise de pool de noyau que NDIS utilise pour allouer la mémoire à 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 retournée
NdisAllocateNetBufferListContext retourne l’un des éléments suivants :
Code de retour | Description |
---|---|
|
NdisAllocateNetBufferListContext a correctement alloué l’espace de contexte en réduisant la valeur du membre Offset de la structure NET_BUFFER_LIST_CONTEXT ou en allouant une nouvelle mémoire. |
|
NdisAllocateNetBufferListContext a échoué en raison de ressources insuffisantes. |
|
Échec de NdisAllocateNetBufferListContext pour des raisons autres que des ressources insuffisantes. |
Remarques
Si l’espace de contexte inutilisé disponible dans la structure NET_BUFFER_LIST_CONTEXT est suffisant 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 contextuel. Vous pouvez spécifier ContextBackFill pour allouer de la mémoire supplémentaire afin que l’appel suivant à NdisAllocateNetBufferListContext n’ait pas à allouer de mémoire.
Appelez le Fonction NdisFreeNetBufferListContext pour libérer l’espace de contexte dans la structure NET_BUFFER_LIST_CONTEXT qui a été allouée avec NdisAllocateNetBufferListContext.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Universal |
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) |