EVT_WDF_PROGRAM_DMA funzione di callback (wdfdmatransaction.h)
[Si applica solo a KMDF]
Una funzione di callback degli eventi EvtProgramDma basata su framework programma un dispositivo specificato per eseguire un'operazione di trasferimento DMA.
Sintassi
EVT_WDF_PROGRAM_DMA EvtWdfProgramDma;
BOOLEAN EvtWdfProgramDma(
[in] WDFDMATRANSACTION Transaction,
[in] WDFDEVICE Device,
[in] WDFCONTEXT Context,
[in] WDF_DMA_DIRECTION Direction,
[in] PSCATTER_GATHER_LIST SgList
)
{...}
Parametri
[in] Transaction
Handle per l'oggetto transazione DMA che rappresenta la transazione DMA corrente.
[in] Device
Handle per un oggetto dispositivo framework.
[in] Context
Puntatore di contesto specificato dal driver in una chiamata precedente a WdfDmaTransactionExecute.
[in] Direction
Valore tipizzato WDF_DMA_DIRECTION che specifica la direzione dell'operazione di trasferimento DMA.
[in] SgList
Puntatore a una struttura SCATTER_GATHER_LIST .
Valore restituito
La funzione di callback EvtProgramDma deve restituire TRUE se avvia correttamente l'operazione di trasferimento DMA. In caso contrario, questa funzione di callback deve restituire FALSE. Tuttavia, il framework ignora attualmente il valore restituito.
Commenti
I driver registrano una funzione di callback degli eventi EvtProgramDma chiamando WdfDmaTransactionInitializeUsingRequest o WdfDmaTransactionInitialize.
Il framework chiama la funzione di callback dell'evento EvtProgramDma di un driver quando è disponibile un trasferimento DMA . La funzione di callback deve programmare l'hardware per avviare il trasferimento.
Il driver non deve modificare i buffer di dati associati alla transazione fino a quando WdfDmaTransactionDmaCompletedXxx ha restituito TRUE.
Per i trasferimenti di pacchetti singoli, l'elenco di dispersione/raccolta che il parametro SgList punta a contiene un singolo elemento.
Per altre informazioni su questa funzione di callback, vedere Programmazione dell'hardware DMA.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfdmatransaction.h (include Wdf.h) |
IRQL | DISPATCH_LEVEL |