Condividi tramite


struttura SCATTER_GATHER_LIST (wdm.h)

La struttura SCATTER_GATHER_LIST descrive l'elenco a dispersione/raccolta per un'operazione DMA.

Sintassi

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

Membri

NumberOfElements

Specifica il numero di elementi nella matrice di Elements.

Reserved

Riservato per uso futuro.

Elements

Specifica una matrice di elementi a dispersione/raccolta che costituiscono un elenco a dispersione/raccolta. Ogni elemento della matrice è una struttura di tipo SCATTER_GATHER_ELEMENT, definita come segue:

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

La struttura SCATTER_GATHER_ELEMENT specifica la lunghezza, in byte, di un'area a dispersione/raccolta fisicamente contigua e l'indirizzo fisico iniziale di questa area.

Osservazioni

Per un driver che esegue DMA a dispersione/raccolta, il GetScatterGatherList o BuildScatterGatherList crea un elenco a dispersione/raccolta e passa questo elenco alla routine AdapterListControl del driver. Questo elenco a dispersione/raccolta è costituito da una struttura SCATTER_GATHER_LIST immediatamente seguita in memoria da una matrice di SCATTER_GATHER_ELEMENT. Il numero di elementi in questa matrice viene specificato dal NumberOfElements membro della struttura SCATTER_GATHER_LIST.

Per altre informazioni sugli elenchi a dispersione/raccolta, vedere Uso di DMA a dispersione/raccolta.

Fabbisogno

Requisito Valore
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Vedere anche

AdapterListControl

BuildScatterGatherList

GetScatterGatherList