structure SCATTER_GATHER_LIST (wdm.h)

La structure SCATTER_GATHER_LIST décrit la liste de points/regroupement 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 un usage futur.

Elements

Spécifie un tableau d’éléments de diffusion/collecte qui composent une liste 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 points/regroupements contiguës physiquement et l’adresse physique de départ de cette région.

Remarques

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

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

Configuration requise

Condition requise Valeur
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)

Voir aussi

AdapterListControl

BuildScatterGatherList

GetScatterGatherList