NdisRetreatNetBufferDataStart, fonction (ndis/nblapi.h)
Appelez la fonction NdisRetreatNetBufferDataStart pour accéder à davantage d’espace de données utilisé dans la chaîne MDL d’une structure NET_BUFFER.
Syntaxe
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferDataStart(
[in] NET_BUFFER *NetBuffer,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler
);
Paramètres
[in] NetBuffer
Pointeur vers une structure de NET_BUFFER précédemment allouée.
[in] DataOffsetDelta
Quantité d’espace de données utilisé à ajouter. NDIS ajuste le membre DataOffset de la structure NET_BUFFER en conséquence. S’il n’y a pas suffisamment de espace de données inutilisé pour satisfaire la demande, NDIS alloue de la mémoire supplémentaire.
[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.
Valeur de retour
NdisRetreatNetBufferDataStart retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
NdisRetreatNetBufferDataStart correctement alloué espace de données utilisé à l’aide de l’espace de données inutilisé ou en allouant un nouveau stockage. |
|
NdisRetreatNetBufferDataStart a échoué en raison de ressources insuffisantes. |
|
NdisRetreatNetBufferDataStart échoué pour des raisons autres que des ressources insuffisantes. |
Remarques
NdisRetreatNetBufferDataStart tente de satisfaire la requête en réduisant la valeur du membre DataOffset de la structure NET_BUFFER.
S’il n’y a pas suffisamment de espace de données inutilisé, cette fonction alloue une nouvelle mémoire tampon et un MDL pour décrire la nouvelle mémoire tampon et chaîne le nouveau MDL au début de la chaîne MDL. NDIS appelle la fonction NetAllocateMdl spécifiée à AllocateMdl pour allouer la mémoire et mdL. La fonction NetAllocateMdl peut utiliser n’importe quelle méthode d’allocation qui répond aux exigences de conception du pilote.
Appeler le fonction NdisAdvanceNetBufferDataStart pour libérer l’espace de données utilisé qui a été ajouté avec NdisRetreatNetBufferDataStart.
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) |