WdfDmaTransactionSetTransferCompleteCallback 函式 (wdfdmatransaction.h)
[僅適用於 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 |
目標平台 | Universal |
最小 KMDF 版本 | 1.11 |
標頭 | wdfdmatransaction.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) |