NdisAdvanceNetBufferDataStart, fonction (ndis/nblapi.h)
Appelez la fonction NdisAdvanceNetBufferDataStart pour libérer l’espace de données utilisé utilisé qui a été ajouté avec le NdisRetreatNetBufferDataStart fonction.
Syntaxe
NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferDataStart(
[in] NET_BUFFER *NetBuffer,
[in] ULONG DataOffsetDelta,
[in] BOOLEAN FreeMdl,
[in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);
Paramètres
[in] NetBuffer
Pointeur vers une structure de NET_BUFFER précédemment allouée.
[in] DataOffsetDelta
Quantité de espace de données utilisé à libérer. NDIS ajuste la valeur du membre DataOffset de la structure NET_BUFFER en conséquence.
[in] FreeMdl
Valeur BOOLEAN qui, si TRUE, demande à NDIS de libérer les MDL qui ne sont pas utilisés dans l’opération d’avance. Si FreeMdl est FALSE, NDIS conserve les MDL inutilisés à utiliser dans les opérations de retraite suivantes.
[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
Aucun
Remarques
Si la mémoire allouée par NDIS pour satisfaire un appel correspondant au fonction NdisRetreatNetBufferDataStart, puis NdisAdvanceNetBufferDataStart libère la mémoire qui NdisRetreatNetBufferDataStart allouée. Sinon, la mémoire reste dans le MDL et seule la valeur de la DataOffset membre de la structure NET_BUFFER est modifiée.
NDIS appelle la fonction NetFreeMdl spécifiée à FreeMdl si NdisAdvanceNetBufferDataStart doit libérer de la mémoire. NDIS appelle NetFreeMdl uniquement pour libérer les MDL et la mémoire allouées par le pilote dans la fonction NetAllocateMdl.
Lorsque les pilotes de protocole appellent NdisAdvanceNetBufferDataStart sur le chemin de réception pour accéder aux différents en-têtes de transport, la chaîne MDL ne doit pas être modifiée et FreeMdl est FALSE.
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) |