共用方式為


WdfDmaTransactionSetImmediateExecution 函式 (wdfdmatransaction.h)

[僅適用於 KMDF]

WdfDmaTransactionSetImmediateExecution 方法會標示指定的 DMA 交易,讓呼叫 WdfDmaTransactionExecuteWdfDmaTransactionAllocateResources 立即起始交易或失敗。

語法

void WdfDmaTransactionSetImmediateExecution(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           UseImmediateExecution
);

參數

[in] DmaTransaction

要標示立即執行的 DMA 交易物件的句柄。

[in] UseImmediateExecution

布爾值,如果為 TRUE,表示交易應該立即執行 (或如果資源無法使用) 而失敗,如果為 FALSE,則表示交易應在 DMA 資源可用後排入佇列執行。

傳回值

備註

在呼叫 WdfDmaTransactionSetImmediateExecution 之前,驅動程式必須初始化交易。

如果驅動程式在呼叫 WdfDmaTransactionSetImmediateExecutionUseImmediateExecution 設定為 TRUE 之後呼叫 WdfDmaTransactionExecuteWdfDmaTransactionAllocateResources,且要求所需的資源無法使用,該方法會傳回STATUS_INSUFFICIENT_RESOURCES。 如果有可用的必要資源,架構會宣告這些資源,並以同步方式起始呼叫。

在驅動程式將交易標示為立即執行之後,交易會保持標示為 ,直到驅動程式呼叫 WdfDmaTransactionRelease ,或呼叫 WdfDmaTransactionSetImmediateExecution 並將 UseImmediateExecution 設為 FALSE 來清除旗標。

WdfDmaTransactionSetImmediateExecution 需要 DMA 第 3 版。 若要選取 DMA 第 3 版,請將 WDF_DMA_ENABLER_CONFIGWdmDmaVersionOverride 成員設定為 3。

如果您的驅動程式在早於 Windows 8 的作業系統上呼叫此方法,架構的驗證程式會報告錯誤。

規格需求

需求
最低支援的用戶端 Windows 8
目標平台 Universal
最低 KMDF 版本 1.11
標頭 wdfdmatransaction.h (包含 Wdf.h)
程式庫 Wdf01000.sys (請參閱 Framework Library Versioning.)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf)

另請參閱

WdfDmaTransactionAllocateResources

WdfDmaTransactionExecute

WdfDmaTransactionRelease