[僅適用於 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 |