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 版,請將 WDF_DMA_ENABLER_CONFIGWdmDmaVersionOverride 成員設定為 3。

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.19
標頭 wdfdmatransaction.h (包含 Wdf.h)
程式庫 Wdf01000.sys (請參閱 Framework Library Versioning.)
IRQL <=DISPATCH_LEVEL

另請參閱

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest