WdfDmaTransactionInitializeUsingOffset 函数 (wdfdmatransaction.h)

[仅适用于 KMDF]

WdfDmaTransactionInitializeUsingOffset 方法通过使用字节偏移量初始化 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

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

[in] Offset

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

[in] Length

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

返回值

WdfDmaTransactionInitializeUsingOffset 如果作成功,则返回STATUS_SUCCESS。 否则,该方法可能会返回 WdfDmaTransactionInitialize的“返回值”部分中所述的值之一。

此方法还可以 返回其他NTSTATUS 值。

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

注解

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

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

要求

要求 价值
目标平台 普遍
最低 KMDF 版本 1.11
标头 wdfdmatransaction.h (包括 Wdf.h)
图书馆 Wdf01000.sys(请参阅框架库版本控制。
IRQL <=DISPATCH_LEVEL
DDI 符合性规则 DriverCreate(kmdf)

另请参阅

WdfDmaTransactionInitialize