共用方式為


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。 不過,架構目前會忽略傳回值。

備註

驅動程式藉由呼叫 WdfDmaTransactionInitializeUsingRequestWdfDmaTransactionInitialize 來註冊 EvtProgramDma 事件回呼函式。

DMA 傳輸可用時,架構會呼叫驅動程式的 EvtProgramDma 事件回呼函式。 回呼函式必須設計硬體以啟動傳輸。

WdfDmaTransactionDmaCompletedXxx 傳回 TRUE 之前,驅動程式不得操作與交易相關聯的數據緩衝區。

對於單一封包傳輸, SgList 參數指向的散佈/收集清單包含單一元素。

如需此回呼函式的詳細資訊,請參閱 程式設計 DMA 硬體

規格需求

需求
目標平台 Universal
最小 KMDF 版本 1.0
標頭 wdfdmatransaction.h (包含 Wdf.h)
IRQL DISPATCH_LEVEL

另請參閱

WdfDmaTransactionExecute

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest