NdisRetreatNetBufferListDataStart, fonction (ndis/nblapi.h)
Appelez la fonction NdisRetreatNetBufferListDataStart pour augmenter l’espace de données utilisé dans toutes les structures NET_BUFFER dans 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é supplémentaire d’espace de données utilisé dans chaque structure de NET_BUFFER. S’il n’y a pas suffisamment de espace de données inutilisé pour satisfaire 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 une 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 une mémoire.
Valeur de retour
NdisRetreatNetBufferListDataStart retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
NdisRetreatNetBufferListDataStart correctement alloué l’espace de données sur toutes les structures NET_BUFFER en réduisant la valeur du membre DataOffset ou en allouant un nouveau stockage. |
|
NdisRetreatNetBufferListDataStart a échoué en raison de ressources insuffisantes. |
|
NdisRetreatNetBufferListDataStart échoué pour des raisons autres que des ressources insuffisantes. |
Remarques
Appeler NdisRetreatNetBufferListDataStart équivaut à appeler le fonction NdisRetreatNetBufferDataStart pour chaque structure de NET_BUFFER sur la structure NET_BUFFER_LIST. NdisRetreatNetBufferListDataStart tente de satisfaire la requête en réduisant la valeur du membre DataOffset dans chaque structure NET_BUFFER. S’il n’y a pas suffisamment espace de données inutilisé disponible, 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.
Appeler le fonction NdisAdvanceNetBufferListDataStart pour libérer de l’espace de données qui a été revendiqué dans un appel précédent NdisRetreatNetBufferListDataStart. Sinon, le pilote peut appeler le fonction NdisAdvanceNetBufferDataStart pour chaque structure de NET_BUFFER sur la structure NET_BUFFER_LIST. L’appel NdisAdvanceNetBufferListDataStart est plus efficace.
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) |