Condividi tramite


Funzione NdisAdvanceNetBufferDataStart (ndis/nblapi.h)

Chiamare la funzione NdisAdvanceNetBufferDataStart per rilasciare il spazio dati usato aggiunto con il funzione NdisRetreatNetBufferDataStart.

Sintassi

NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferDataStart(
  [in]           NET_BUFFER          *NetBuffer,
  [in]           ULONG               DataOffsetDelta,
  [in]           BOOLEAN             FreeMdl,
  [in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);

Parametri

[in] NetBuffer

Puntatore a una struttura NET_BUFFER allocata in precedenza.

[in] DataOffsetDelta

Quantità di usato spazio dati da rilasciare. NDIS regola il valore del DataOffset membro della struttura NET_BUFFER di conseguenza.

[in] FreeMdl

Valore BOOLEAN che, se TRUE, richiede a NDIS di liberare tutti gli MDL che non vengono usati nell'operazione anticipata. Se la FreeMdl è FALSE, NDIS mantiene gli MDL inutilizzati per l'uso nelle successive operazioni di ritiro.

[in, optional] FreeMdlHandler

Punto di ingresso facoltativo per una funzione di NetFreeMdl. Se il chiamante specifica un punto di ingresso per la funzione NetFreeMdl, NDIS chiama NetFreeMdl per liberare un MDL e una memoria.

Valore restituito

Nessuno

Osservazioni

Se la memoria allocata NDIS per soddisfare una chiamata corrispondente a funzione NdisRetreatNetBufferDataStart, quindi NdisAdvanceNetBufferDataStart libera la memoria che NdisRetreatNetBufferDataStart allocata. In caso contrario, la memoria rimane nel file MDL e viene modificato solo il valore del membro DataOffset della struttura NET_BUFFER.

NDIS chiama la funzione di NetFreeMdl specificata in FreeMdl se NdisAdvanceNetBufferDataStart deve liberare memoria. NDIS chiama NetFreeMdl solo per liberare le licenze MDL e la memoria allocate dal driver nella funzione NetAllocateMdl.

Quando i driver di protocollo chiamano NdisAdvanceNetBufferDataStart nel percorso di ricezione per accedere alle varie intestazioni di trasporto, la catena MDL non deve essere modificata e FreeMdl è FALSE.

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
piattaforma di destinazione Universale
intestazione ndis/nblapi.h (include ndis.h)
libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
regole di conformità DDI Irql_NetBuffer_Function(ndis)

Vedere anche

NET_BUFFER

NdisRetreatNetBufferDataStart

NetAllocateMdl

NetFreeMdl