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 例程的 Mdl、Offset 和 Length 参数共同描述 DMA 传输的 I/O 数据缓冲区。 为了对 DMA 控制器进行编程,可以通过散点/收集列表更方便地描述此缓冲区。 (散点/收集列表描述 I/O 数据缓冲区中的内存,但不包含此内存。) 驱动程序调用 GetDmaTransferInfo 以获取此散点/收集列表的分配要求。 GetDmaTransferInfo 将分配要求写入调用方提供的DMA_TRANSFER_INFO结构的 V1 成员中。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1809。 |
标头 | wdm.h |