다음을 통해 공유


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 멤버에 의해 지정됩니다.

분산/수집 목록에 대한 자세한 내용은 Using Scatter/Gather DMA참조하세요.

요구 사항

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

참고 항목

AdapterListControl

BuildScatterGatherList

getScatterGatherList