[僅適用於 KMDF]
WdfDmaTransactionSetTransferCompleteCallback 方法會註冊系統模式 DMA 交易的傳輸完成事件回呼函式。
語法
void WdfDmaTransactionSetTransferCompleteCallback(
[in] WDFDMATRANSACTION DmaTransaction,
[in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
[in, optional] PVOID DmaCompletionContext
);
參數
[in] DmaTransaction
初始化的 DMA 交易物件的句柄,要設定或清除傳輸完成回呼。
[in, optional] DmaCompletionRoutine
驅動程式 EvtDmaTransactionDmaTransferComplete 事件回呼函式的指標,或 NULL 以清除先前設定的回呼函式。
[in, optional] DmaCompletionContext
緩衝區的指標,其中包含要提供給驅動程式 EvtDmaTransactionDmaTransferComplete 事件回呼函式或 NULL 的驅動程式指定內容。
返回值
沒有
備註
驅動程式會呼叫這個方法,以設定架構在系統 DMA 控制器完成傳輸之後呼叫的完成例程。 架構會針對交易中的每個傳輸呼叫驅動程式的 EvtDmaTransactionDmaTransferComplete 回呼一次。
一般而言,從 I/O 佇列事件回呼函式內,驅動程式會依下列順序執行下列步驟:
- 呼叫 WdfDmaTransactionInitializeUsingRequest、WdfDmaTransactionInitialize,或 WdfDmaTransactionInitializeUsingOffset 初始化交易物件。
- 在交易物件上呼叫 WdfDmaTransactionSetTransferCompleteCallback。
- 呼叫 WdfDmaTransactionExecute。
WdfDmaTransactionSetTransferCompleteCallback 只能與指定系統模式 DMA 配置檔的 DMA 啟用器搭配使用。
如果您的驅動程式在 Windows 8 之前的作系統上呼叫此方法,架構的驗證程式 回報錯誤。
需求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8 |
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.11 |
標題 | wdfdmatransaction.h (包括 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱架構連結庫版本控制。) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate(kmdf) |