wdm.h) (DMA_TRANSFER_INFO_V1 结构

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

语法

typedef struct _DMA_TRANSFER_INFO_V1 {
  ULONG MapRegisterCount;
  ULONG ScatterGatherElementCount;
  ULONG ScatterGatherListSize;
} DMA_TRANSFER_INFO_V1, *PDMA_TRANSFER_INFO_V1;

成员

MapRegisterCount

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

ScatterGatherElementCount

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

ScatterGatherListSize

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

注解

DMA_TRANSFER_INFO 结构的 V1 成员是 DMA_TRANSFER_INFO_V1 类型的结构。

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

要求

要求
最低受支持的客户端 从 Windows 8 开始支持。
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)

另请参阅

DMA_TRANSFER_INFO

GetDmaTransferInfo

SCATTER_GATHER_LIST