WdfDmaTransactionInitializeUsingOffset 函数 (wdfdmatransaction.h)

[仅适用于 KMDF]

WdfDmaTransmaTransactionInitializeUsingOffset 方法通过使用 MDL 链中的字节偏移量初始化指定的 DMA 事务。

语法

NTSTATUS WdfDmaTransactionInitializeUsingOffset(
  [in] WDFDMATRANSACTION   DmaTransaction,
  [in] PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction,
  [in] WDF_DMA_DIRECTION   DmaDirection,
  [in] PMDL                Mdl,
  [in] size_t              Offset,
  [in] size_t              Length
);

参数

[in] DmaTransaction

驱动程序从上一次调用 WdfDmaTransactionCreate 获取的 DMA 事务对象的句柄。

[in] EvtProgramDmaFunction

指向驱动程序的 EvtProgramDma 事件回调函数的指针。

[in] DmaDirection

WDF_DMA_DIRECTION类型的值。

[in] Mdl

指向内存描述符列表的指针 (MDL) ,用于描述将用于 DMA 事务的缓冲区。 有关详细信息,请参阅 备注

[in] Offset

当前事务的 MDL 链中的字节偏移量。

[in] Length

要传输的字节数。 此值必须大于零。

返回值

如果操作成功,WdfDmaTransactionInitializeUsingOffset 将返回STATUS_SUCCESS。 否则,方法可能会返回 WdfDmaTransactionInitialize 的 Return values 部分所述的值之一。

此方法还可能返回其他 NTSTATUS 值

如果驱动程序提供无效的对象句柄,则会发生 bug 检查。

注解

WdfDmaTransactionInitializeUsingOffset 等效于 WdfDmaTransactionInitialize ,只不过它采用 MDL 链描述的缓冲区(而不是虚拟地址)的偏移量。

驱动程序可以在此方法的 Mdl 参数中指定 MDL 链。 MDL 链是驱动程序使用 MDL 结构的 Next 成员链接在一起的 MDL 结构的序列。

要求

要求
目标平台 通用
最低 KMDF 版本 1.11
标头 wdfdmatransaction.h (包括 Wdf.h)
Library Wdf01000.sys (请参阅框架库版本控制.)
IRQL <=DISPATCH_LEVEL
DDI 符合性规则 DriverCreate (kmdf)

另请参阅

WdfDmaTransactionInitialize