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