EVT_WDF_PROGRAM_DMA回呼函式 (wdfdmatransaction.h)
[僅適用於 KMDF]
架構型驅動程式的 EvtProgramDma 事件回呼函式會程式設計指定的裝置來執行 DMA 傳輸作業。
語法
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
)
{...}
參數
[in] Transaction
表示目前 DMA 交易之 DMA 交易物件的句柄。
[in] Device
架構裝置物件的句柄。
[in] Context
在先前呼叫 WdfDmaTransactionExecute 中指定的驅動程式所指定的內容指標。
[in] Direction
指定 DMA 傳輸作業方向 的WDF_DMA_DIRECTION型別值。
[in] SgList
SCATTER_GATHER_LIST 結構的指標。
傳回值
如果 EvtProgramDma 回呼函式成功啟動 DMA 傳輸作業,則必須傳回 TRUE。 否則,這個回呼函式必須傳回 FALSE。 不過,架構目前會忽略傳回值。
備註
驅動程式藉由呼叫 WdfDmaTransactionInitializeUsingRequest 或 WdfDmaTransactionInitialize 來註冊 EvtProgramDma 事件回呼函式。
當 DMA 傳輸可用時,架構會呼叫驅動程式的 EvtProgramDma 事件回呼函式。 回呼函式必須設計硬體以啟動傳輸。
在 WdfDmaTransactionDmaCompletedXxx 傳回 TRUE 之前,驅動程式不得操作與交易相關聯的數據緩衝區。
對於單一封包傳輸, SgList 參數指向的散佈/收集清單包含單一元素。
如需此回呼函式的詳細資訊,請參閱 程式設計 DMA 硬體。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
標頭 | wdfdmatransaction.h (包含 Wdf.h) |
IRQL | DISPATCH_LEVEL |