Condividi tramite


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)

Vedi anche

MiniportInterruptDPC

NDIS Scatter/Gather DMA

NET_BUFFER

NdisMAllocateNetBufferSGList

NdisMRegisterScatterGatherDma