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) |