Compartilhar via


estrutura SCATTER_GATHER_LIST (wdm.h)

A estrutura SCATTER_GATHER_LIST descreve a lista de dispersão/coleta de uma operação de DMA.

Sintaxe

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

Membros

NumberOfElements

Especifica o número de elementos na matriz Elements .

Reserved

Reservado para uso futuro.

Elements

Especifica uma matriz de elementos de dispersão/coleta que compõem uma lista de dispersão/coleta. Cada elemento de matriz é uma estrutura do tipo SCATTER_GATHER_ELEMENT, que é definida da seguinte maneira:

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

A estrutura SCATTER_GATHER_ELEMENT especifica o comprimento, em bytes, de uma região de dispersão/coleta fisicamente contígua e o endereço físico inicial dessa região.

Comentários

Para um driver que executa o DMA de dispersão/coleta, a rotina GetScatterGatherList ou BuildScatterGatherList cria uma lista de dispersão/coleta e passa essa lista para a rotina AdapterListControl do driver. Essa lista de dispersão/coleta consiste em uma estrutura SCATTER_GATHER_LIST que é imediatamente seguida na memória por uma matriz de SCATTER_GATHER_ELEMENT . O número de elementos nessa matriz é especificado pelo membro NumberOfElements da estrutura SCATTER_GATHER_LIST .

Para obter mais informações sobre listas de dispersão/coleta, consulte Usando o DMA de dispersão/coleta.

Requisitos

Requisito Valor
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)

Confira também

AdapterListControl

BuildScatterGatherList

GetScatterGatherList