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.
Syntax
typedef struct _DMA_TRANSFER_INFO_V1 {
ULONG MapRegisterCount;
ULONG ScatterGatherElementCount;
ULONG ScatterGatherListSize;
} DMA_TRANSFER_INFO_V1, *PDMA_TRANSFER_INFO_V1;
Members
MapRegisterCount
The number of map registers required to translate all the physical addresses in the scatter/gather list to logical addresses.
ScatterGatherElementCount
The number of scatter/gather elements in the scatter/gather list. Each element is a structure of type SCATTER_GATHER_ELEMENT.
ScatterGatherListSize
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.
Remarks
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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported starting with Windows 8. |
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |