WdfDmaTransactionSetImmediateExecution 函式 (wdfdmatransaction.h)
[僅適用於 KMDF]
WdfDmaTransactionSetImmediateExecution 方法會標示指定的 DMA 交易,讓呼叫 WdfDmaTransactionExecute 和 WdfDmaTransactionAllocateResources 立即起始交易或失敗。
語法
void WdfDmaTransactionSetImmediateExecution(
[in] WDFDMATRANSACTION DmaTransaction,
[in] BOOLEAN UseImmediateExecution
);
參數
[in] DmaTransaction
要標示立即執行的 DMA 交易物件的句柄。
[in] UseImmediateExecution
布爾值,如果為 TRUE,表示交易應該立即執行 (或如果資源無法使用) 而失敗,如果為 FALSE,則表示交易應在 DMA 資源可用後排入佇列執行。
傳回值
無
備註
在呼叫 WdfDmaTransactionSetImmediateExecution 之前,驅動程式必須初始化交易。
如果驅動程式在呼叫 WdfDmaTransactionSetImmediateExecution 且 UseImmediateExecution 設定為 TRUE 之後呼叫 WdfDmaTransactionExecute 或 WdfDmaTransactionAllocateResources,且要求所需的資源無法使用,該方法會傳回STATUS_INSUFFICIENT_RESOURCES。 如果有可用的必要資源,架構會宣告這些資源,並以同步方式起始呼叫。
在驅動程式將交易標示為立即執行之後,交易會保持標示為 ,直到驅動程式呼叫 WdfDmaTransactionRelease ,或呼叫 WdfDmaTransactionSetImmediateExecution 並將 UseImmediateExecution 設為 FALSE 來清除旗標。
WdfDmaTransactionSetImmediateExecution 需要 DMA 第 3 版。 若要選取 DMA 第 3 版,請將 WDF_DMA_ENABLER_CONFIG 的 WdmDmaVersionOverride 成員設定為 3。
如果您的驅動程式在早於 Windows 8 的作業系統上呼叫此方法,架構的驗證程式會報告錯誤。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
目標平台 | Universal |
最低 KMDF 版本 | 1.11 |
標頭 | wdfdmatransaction.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) |