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_CONFIG 的 WdmDmaVersionOverride 成員設定為 3。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.19 |
標頭 | wdfdmatransaction.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | <=DISPATCH_LEVEL |