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