NdisAdvanceNetBufferDataStart, fonction (ndis/nblapi.h)
Appelez la fonction NdisAdvanceNetBufferDataStart pour libérer l’espace de données utilisé qui a été ajouté avec le Fonction NdisRetreatNetBufferDataStart .
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é d’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 toutes les dll MDL inutilisées dans l’opération préalable. Si FreeMdl a la valeur FALSE, NDIS conserve les MDL inutilisées pour les utiliser dans les opérations de retrait 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 de la mémoire.
Valeur de retour
None
Remarques
Si NDIS a alloué de la mémoire pour satisfaire un appel correspondant au Fonction NdisRetreatNetBufferDataStart , puis NdisAdvanceNetBufferDataStart libère la mémoire allouée par NdisRetreatNetBufferDataStart . Sinon, la mémoire reste dans le MDL et seule la valeur du membre DataOffset de la structure NET_BUFFER est modifiée.
NDIS appelle la fonction NetFreeMdl spécifiée dans FreeMdl si NdisAdvanceNetBufferDataStart doit libérer de la mémoire. NDIS appelle NetFreeMdl uniquement pour libérer les dll 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 a la valeur FALSE.
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) |