DMA_TRANSFER_INFO_V1 structure (wdm.h)

The DMA_TRANSFER_INFO_V1 structure contains the allocation requirements for a scatter/gather list that describes the I/O data buffer for a DMA transfer.


typedef struct _DMA_TRANSFER_INFO_V1 {
  ULONG MapRegisterCount;
  ULONG ScatterGatherElementCount;
  ULONG ScatterGatherListSize;



The number of map registers required to translate all the physical addresses in the scatter/gather list to logical addresses.


The number of scatter/gather elements in the scatter/gather list. Each element is a structure of type SCATTER_GATHER_ELEMENT.


The required size, in bytes, of the scatter/gather buffer. This buffer contains the scatter/gather list that describes the memory that is used to buffer I/O data during the DMA transfer. The scatter/gather buffer must be large enough to contain a SCATTER_GATHER_LIST structure and an array of SCATTER_GATHER_ELEMENT structures, plus additional data that is used internally by the operating system.


The V1 member of the DMA_TRANSFER_INFO structure is a structure of type DMA_TRANSFER_INFO_V1.

The Mdl, Offset, and Length parameters to the GetDmaTransferInfo routine together describe the I/O data buffer for a DMA transfer. For the purpose of programming a DMA controller, this buffer can more conveniently be described by a scatter/gather list. (A scatter/gather list describes the memory in an I/O data buffer but does not contain this memory.) A driver calls GetDmaTransferInfo to obtain the allocation requirements for this scatter/gather list. GetDmaTransferInfo writes the allocation requirements into the V1 member of a caller-supplied DMA_TRANSFER_INFO structure.


Minimum supported client Supported starting with Windows 8.
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

See also