共用方式為


WdfDmaTransactionSetSingleTransferRequirement 函式 (wdfdmatransaction.h)

[僅適用於 KMDF]

WdfDmaTransactionSetSingleTransferRequirement 方法會指定 DMA 交易必須在單一傳輸中完成。

語法

void WdfDmaTransactionSetSingleTransferRequirement(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           RequireSingleTransfer
);

參數

[in] DmaTransaction

驅動程式從先前呼叫 WdfDmaTransactionCreate取得的 DMA 交易物件的句柄。

[in] RequireSingleTransfer

布爾值,如果 TRUE,則指定 DMA 交易需要單一傳輸。

返回值

沒有

備註

此方法只會要求單一交易的單一傳輸。 當使用 WdfDmaTransactionRelease 回收交易物件並重新初始化時,此設定會重設,類似於其他交易層級屬性,例如立即執行和傳輸長度上限。

若要針對使用指定 DMA 啟用器建立的所有 DMA 交易要求單一傳輸,請在呼叫 WdfDmaEnablerCreate時,在 WDF_DMA_ENABLER_CONFIG_FLAGS 中指定 WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER。 這相當於針對使用 DMA 啟用器建立的每個交易物件呼叫 WdfDmaTransactionSetSingleTransferRequirement

驅動程式會在建立或回收交易對象之後呼叫 WdfDmaTransactionSetSingleTransferRequirement,但在初始化或執行它之前。 如需詳細資訊,請參閱使用單一傳輸 DMA

WdfDmaTransactionSetSingleTransferRequirement 需要 DMA 第 3 版。 若要選取 DMA 第 3 版,請將 WdmDmaVersionOverrideWDF_DMA_ENABLER_CONFIG 成員設為 3。

需求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.19
標題 wdfdmatransaction.h (包括 Wdf.h)
程式庫 Wdf01000.sys (請參閱架構連結庫版本控制。)
IRQL <=DISPATCH_LEVEL

另請參閱

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest