Funzione NdisMFreeNetBufferSGList (ndis.h)
Attenzione
Per i processori ARM e ARM64, è consigliabile che i writer di driver NDIS usino WDF DMA o WDM DMA anziché NDIS Scatter/Gather DMA.
Per altre informazioni su WDF DMA, vedere Gestione delle operazioni DMA nei driver KMDF.
Per altre informazioni su WDM DMA, vedere gli argomenti figlio correlati a DMA relativi alla gestione dell'input/output per i driver.
I driver miniport bus-master chiamano la funzione NdisMFreeNetBufferSGList per liberare le risorse di elenco a dispersione/raccolta allocate chiamando il Funzione NdisMAllocateNetBufferSGList .
Sintassi
void NdisMFreeNetBufferSGList(
[in] NDIS_HANDLE NdisMiniportDmaHandle,
[in] PSCATTER_GATHER_LIST pSGL,
[in] PNET_BUFFER NetBuffer
);
Parametri
[in] NdisMiniportDmaHandle
Handle per un'area di contesto NDIS usata per gestire una risorsa DMA. Il chiamante ha ottenuto questo handle chiamando Funzione NdisMRegisterScatterGatherDma .
[in] pSGL
Puntatore a un buffer di elenco a dispersione/raccolta del driver miniport.
[in] NetBuffer
Puntatore alla struttura NET_BUFFER associata al buffer di elenco a dispersione/raccolta specificato.
Valore restituito
nessuno
Osservazioni
I driver miniport master bus devono chiamare la funzione NdisMFreeNetBufferSGList per liberare un elenco a dispersione/raccolta. Un driver miniport chiama in genere NdisMFreeNetBufferSGList dalla funzione MiniportInterruptDPC mentre gestisce un'interruzione completa di invio o in qualsiasi momento in cui il driver non richiede più l'elenco di dispersione/raccolta. Non chiamare NdisMFreeNetBufferSGList mentre il driver o l'hardware sta ancora accedendo alla memoria descritta dalla struttura NET_BUFFER associata all'elenco a dispersione/raccolta.
I driver Miniport possono liberare il buffer specificato nel parametro ScatterGatherListBuffer della funzione NdisMAllocateNetBufferSGList dopo la restituzione di NdisMFreeNetBufferSGList .
Prima di accedere ai dati ricevuti, i driver miniport devono chiamare NdisMFreeNetBufferSGList per scaricare la cache di memoria.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (include Ndis.h) |
Libreria | Ndis.lib |
IRQL | DISPATCH_LEVEL |
Regole di conformità DDI | Irql_Gather_DMA_Function(ndis) |