Partager via


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)

Voir aussi

NET_BUFFER

NdisRetreatNetBufferDataStart

netAllocateMdl

NetFreeMdl