Condividi tramite


Funzione NdisAdvanceNetBufferDataStart (ndis/nblapi.h)

Chiamare la funzione NdisAdvanceNetBufferDataStart per rilasciare lo spazio dati usato aggiunto con l'oggetto 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 spazio dati usato da rilasciare. NDIS regola il valore del membro DataOffset della struttura NET_BUFFER di conseguenza.

[in] FreeMdl

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

[in, optional] FreeMdlHandler

Punto di ingresso facoltativo per una funzione 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 all'oggetto La funzione NdisRetreatNetBufferDataStart , quindi NdisAdvanceNetBufferDataStart libera la memoria allocata da NdisRetreatNetBufferDataStart . In caso contrario, la memoria rimane nel MDL e viene modificato solo il valore del membro DataOffset della struttura NET_BUFFER .

NDIS chiama la funzione NetFreeMdl specificata in FreeMdl se NdisAdvanceNetBufferDataStart deve liberare memoria. NDIS chiama NetFreeMdl solo per liberare gli MDLs e la memoria allocati 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.

Requisiti

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)

Vedi anche

NET_BUFFER

NdisRetreatNetBufferDataStart

NetAllocateMdl

NetFreeMdl