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