Funzione NdisMFreeNetBufferSGList (ndis.h)
Cautela
Per i processori ARM e ARM64, è consigliabile che i writer di driver NDIS usino DMA WDF o DMA WDM anziché NDIS Scatter/Gather DMA.
Per altre informazioni su DMA di WDF, vedere Gestione delle operazioni DMA nei driver KMDF.
Per altre informazioni su WDM DMA, vedere gli argomenti figlio correlati a DMA di Gestione dell'input/output per i driver.
I driver miniport master bus 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 il funzione NdisMRegisterScatterGatherDma.
[in] pSGL
Puntatore a un buffer 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 del bus devono chiamare la funzione NdisMFreeNetBufferSGList per liberare un elenco a dispersione/raccolta. Un driver miniport chiama in genere NdisMFreeNetBufferSGList dalla relativa funzione MiniportInterruptDPC mentre gestisce un interrupt completo di invio o in qualsiasi momento che 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 di dispersione/raccolta.
I driver Miniport possono liberare il buffer specificato nel parametro ScatterGatherListBuffer del NdisMAllocateNetBufferSGList dopo NdisMFreeNetBufferSGList restituisce.
Prima di accedere ai dati ricevuti, i driver miniport devono chiamare NdisMFreeNetBufferSGList per scaricare la cache di memoria.
Fabbisogno
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) |
Vedere anche
DMA a dispersione/raccolta NDIS
NdisMRegisterScatterGatherDma