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

Vedi anche

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest