다음을 통해 공유


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_ELEMENT 배열이 메모리에서 바로 뒤에 오는 SCATTER_GATHER_LIST 구조로 구성됩니다. 이 배열의 요소 수는 SCATTER_GATHER_LIST 구조체의 NumberOfElements 멤버에 의해 지정됩니다.

분산/수집 목록에 대한 자세한 내용은 분산형/DMA 수집 사용을 참조하세요.

요구 사항

요구 사항
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)

추가 정보

AdapterListControl

BuildScatterGatherList

GetScatterGatherList