SCATTER_GATHER_LIST structure (wdm.h)
The SCATTER_GATHER_LIST structure describes the scatter/gather list for a DMA operation.
Syntax
typedef struct _SCATTER_GATHER_LIST {
ULONG NumberOfElements;
ULONG_PTR Reserved;
SCATTER_GATHER_ELEMENT Elements[];
} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;
Members
NumberOfElements
Specifies the number of elements in the Elements array.
Reserved
Reserved for future use.
Elements
Specifies an array of scatter/gather elements that comprise a scatter/gather list. Each array element is a structure of type SCATTER_GATHER_ELEMENT, which is defined as follows:
typedef struct _SCATTER_GATHER_ELEMENT {
PHYSICAL_ADDRESS Address;
ULONG Length;
ULONG_PTR Reserved;
} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;
The SCATTER_GATHER_ELEMENT structure specifies the length, in bytes, of a physically contiguous scatter/gather region and the starting physical address of this region.
Remarks
For a driver that performs scatter/gather DMA, the GetScatterGatherList or BuildScatterGatherList routine creates a scatter/gather list and passes this list to the driver's AdapterListControl routine. This scatter/gather list consists of a SCATTER_GATHER_LIST structure that is immediately followed in memory by a SCATTER_GATHER_ELEMENT array. The number of elements in this array is specified by the NumberOfElements member of the SCATTER_GATHER_LIST structure.
For more information about scatter/gather lists, see Using Scatter/Gather DMA.
Requirements
Requirement | Value |
---|---|
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |