Поделиться через


структура SCATTER_GATHER_LIST (wdm.h)

Структура SCATTER_GATHER_LIST описывает список точечной и сборной для операции DMA.

Синтаксис

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

Члены

NumberOfElements

Указывает количество элементов в массиве Elements .

Reserved

Зарезервировано для последующего использования.

Elements

Задает массив элементов точечной и сборной, составляющих список точечной и сборной. Каждый элемент массива представляет собой структуру типа SCATTER_GATHER_ELEMENT, которая определяется следующим образом:

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

Структура SCATTER_GATHER_ELEMENT указывает длину (в байтах) физически смежной области точечного/собирания и начальный физический адрес этой области.

Комментарии

Для драйвера, выполняющего точечную или сборную DMA, подпрограмма GetScatterGatherList или BuildScatterGatherList создает список точечной и сборной и передает этот список в подпрограмму AdapterListControl драйвера. Этот список точечной и сборной состоит из структуры SCATTER_GATHER_LIST , за которой в памяти сразу же следует массив SCATTER_GATHER_ELEMENT . Количество элементов в этом массиве задается элементом NumberOfElements структуры SCATTER_GATHER_LIST .

Дополнительные сведения о точечных и сборных списках см. в разделе Использование точечной и сборной DMA.

Требования

Требование Значение
Заголовок wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)

См. также раздел

AdapterListControl

BuildScatterGatherList

GetScatterGatherList