Fonction NdisRetreatNetBufferListDataStart (ndis/nblapi.h)
Appelez la fonction NdisRetreatNetBufferListDataStart pour augmenter l’espace de données utilisé dans toutes les structures NET_BUFFER d’une structure NET_BUFFER_LIST .
Syntaxe
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferListDataStart(
[in] NET_BUFFER_LIST *NetBufferList,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler,
[in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);
Paramètres
[in] NetBufferList
Pointeur vers une structure de NET_BUFFER_LIST précédemment allouée.
[in] DataOffsetDelta
Quantité d’espace de données supplémentaire utilisé dans chaque structure NET_BUFFER. S’il n’y a pas assez d’espace de données inutilisé pour répondre à la demande, NDIS alloue plus de mémoire.
[in] DataBackFill
Si NDIS doit allouer de la mémoire, ce paramètre spécifie la quantité d’espace de données en plus de la valeur du paramètre DataOffsetDelta à allouer.
[in, optional] AllocateMdlHandler
Point d’entrée facultatif pour une fonction NetAllocateMdl . Si l’appelant spécifie un point d’entrée pour la fonction NetAllocateMdl , NDIS appelle NetAllocateMdl pour allouer un MDL et de la mémoire.
[in, optional] FreeMdlHandler
Point d’entrée facultatif pour une fonction NetFreeMdl . Si l’appelant spécifie un point d’entrée pour la fonction NetFreeMdl , NDIS appelle NetFreeMdl pour libérer un MDL et de la mémoire.
Valeur retournée
NdisRetreatNetBufferListDataStart retourne l’un des éléments suivants :
Code de retour | Description |
---|---|
|
NdisRetreatNetBufferListDataStart a correctement alloué l’espace de données sur toutes les structures NET_BUFFER, soit en réduisant la valeur du membre DataOffset , soit en allouant un nouveau stockage. |
|
NdisRetreatNetBufferListDataStart a échoué en raison de ressources insuffisantes. |
|
NdisRetreatNetBufferListDataStart a échoué pour des raisons autres que des ressources insuffisantes. |
Remarques
Appeler NdisRetreatNetBufferListDataStart équivaut à appeler le Fonction NdisRetreatNetBufferDataStart pour chaque structure NET_BUFFER sur la structure NET_BUFFER_LIST . NdisRetreatNetBufferListDataStart tente de satisfaire la demande en réduisant la valeur du membre DataOffset dans chaque structure NET_BUFFER. Si l’espace de données inutilisé n’est pas suffisant, cette fonction alloue une nouvelle mémoire tampon et MDL, puis chaîne le nouveau MDL au début de la chaîne MDL sur la structure NET_BUFFER.
Appelez le Fonction NdisAdvanceNetBufferListDataStart pour libérer l’espace de données qui a été revendiqué dans un appel NdisRetreatNetBufferListDataStart précédent. Le pilote peut également appeler le Fonction NdisAdvanceNetBufferDataStart pour chaque structure NET_BUFFER sur la structure NET_BUFFER_LIST. L’appel de NdisAdvanceNetBufferListDataStart est plus efficace.
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) |