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。

要求

要求
目标平台 通用
最低 KMDF 版本 1.19
标头 wdfdmatransaction.h (包括 Wdf.h)
Library Wdf01000.sys (请参阅框架库版本控制.)
IRQL <=DISPATCH_LEVEL

另请参阅

WdfDmaTransactionCreate

WdfDmaTransactionInitialize

WdfDmaTransactionInitializeUsingRequest