[仅适用于 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) |