Partager via


structure SCATTER_GATHER_LIST (wdm.h)

La structure SCATTER_GATHER_LIST décrit la liste de points/regroupements pour une opération DMA.

Syntaxe

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

Membres

NumberOfElements

Spécifie le nombre d’éléments dans le tableau Elements.

Reserved

Réservé pour une utilisation ultérieure.

Elements

Spécifie un tableau d’éléments de nuages de points/collecte qui composent une liste de nuages de points/regroupements. Chaque élément de tableau est une structure de type SCATTER_GATHER_ELEMENT, qui est définie comme suit :

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

La structure SCATTER_GATHER_ELEMENT spécifie la longueur, en octets, d’une région de nuages de points/de collecte physiquement contigus et l’adresse physique de départ de cette région.

Remarques

Pour un pilote qui effectue un nuage de points/collecte DMA, la routine GetScatterGatherList ou BuildScatterGatherList crée une liste de nuages de points/collecte et transmet cette liste à la routine AdapterListControl du pilote. Cette liste de nuages de points/regroupements se compose d’une structure SCATTER_GATHER_LIST qui est immédiatement suivie en mémoire par un tableau SCATTER_GATHER_ELEMENT. Le nombre d’éléments de ce tableau est spécifié par le membre NumberOfElements de la structure SCATTER_GATHER_LIST.

Pour plus d’informations sur les listes de nuages de points/de collecte, consultez Utilisation de nuages de points/de collecte.

Exigences

Exigence Valeur
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Voir aussi

AdapterListControl

BuildScatterGatherList

GetScatterGatherList