Freigeben über


SCATTER_GATHER_LIST-Struktur (wdm.h)

Die SCATTER_GATHER_LIST-Struktur beschreibt die Punkt-/Sammlungsliste für einen DMA-Vorgang.

Syntax

typedef struct _SCATTER_GATHER_LIST {
  ULONG                  NumberOfElements;
  ULONG_PTR              Reserved;
  SCATTER_GATHER_ELEMENT Elements[];
} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;

Member

NumberOfElements

Gibt die Anzahl der Elemente im Elements-Array an.

Reserved

Für die zukünftige Verwendung reserviert.

Elements

Gibt ein Array von Scatter-/Gather-Elementen an, die eine Punkt-/Gather-Liste umfassen. Jedes Arrayelement ist eine Struktur vom Typ SCATTER_GATHER_ELEMENT, die wie folgt definiert ist:

typedef struct _SCATTER_GATHER_ELEMENT {
  PHYSICAL_ADDRESS  Address;
  ULONG  Length;
  ULONG_PTR  Reserved;
} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;

Die SCATTER_GATHER_ELEMENT-Struktur gibt die Länge eines physisch zusammenhängenden Punkt-/Sammlungsbereichs und die physische Startadresse dieses Bereichs in Byte an.

Hinweise

Für einen Treiber, der scatter/gather DMA ausführt, erstellt die GetScatterGatherList - oder BuildScatterGatherList-Routine eine Scatter/Gather-Liste und übergibt diese Liste an die AdapterListControl-Routine des Treibers. Diese Punkt-/Sammlungsliste besteht aus einer SCATTER_GATHER_LIST Struktur, auf die im Arbeitsspeicher unmittelbar ein SCATTER_GATHER_ELEMENT Array folgt. Die Anzahl der Elemente in diesem Array wird durch den NumberOfElements-Member der SCATTER_GATHER_LIST-Struktur angegeben.

Weitere Informationen zu Punkt-/Gather-Listen finden Sie unter Verwenden von Scatter/Gather DMA.

Anforderungen

Anforderung Wert
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)

Weitere Informationen

AdapterListControl

BuildScatterGatherList

GetScatterGatherList