DMA_TRANSFER_INFO_V2 结构 (wdm.h)

包含散点/收集列表的分配要求,该列表描述 DMA 传输的 I/O 数据缓冲区。

语法

typedef struct _DMA_TRANSFER_INFO_V2 {
  ULONG MapRegisterCount;
  ULONG ScatterGatherElementCount;
  ULONG ScatterGatherListSize;
  ULONG LogicalPageCount;
} DMA_TRANSFER_INFO_V2, *PDMA_TRANSFER_INFO_V2;

成员

MapRegisterCount

将散点/收集列表中的所有物理地址转换为逻辑地址所需的映射寄存器数。

ScatterGatherElementCount

散点/收集列表中的散点/收集元素数。 每个元素都是 SCATTER_GATHER_ELEMENT类型的结构。

ScatterGatherListSize

散点/收集缓冲区的所需大小(以字节为单位)。 此缓冲区包含散点/收集列表,该列表描述在 DMA 传输期间用于缓冲 I/O 数据的内存。 散点/收集缓冲区必须足够大,才能包含 SCATTER_GATHER_LIST 结构和 SCATTER_GATHER_ELEMENT 结构数组,以及操作系统内部使用的其他数据。

LogicalPageCount

逻辑页数。

注解

DMA_TRANSFER_INFO 结构的 V2 成员是 DMA_TRANSFER_INFO_V2 类型的结构。

GetDmaTransferInfo 例程的 MdlOffsetLength 参数共同描述 DMA 传输的 I/O 数据缓冲区。 为了对 DMA 控制器进行编程,可以通过散点/收集列表更方便地描述此缓冲区。 (散点/收集列表描述 I/O 数据缓冲区中的内存,但不包含此内存。) 驱动程序调用 GetDmaTransferInfo 以获取此散点/收集列表的分配要求。 GetDmaTransferInfo 将分配要求写入调用方提供的DMA_TRANSFER_INFO结构的 V1 成员中。

要求

要求
最低受支持的客户端 Windows 10 版本 1809。
标头 wdm.h