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) |