다음을 통해 공유


DXGK_ADL 구조체(d3dkmddi.h)

DXGK_ADL 구조는 물리적 또는 논리적일 수 있는 페이지 배열을 설명하는 데 사용되는 ADL(주소 설명자 목록)입니다.

구문

typedef struct _DXGK_ADL {
  UINT32         PageCount;
  DXGK_ADL_FLAGS Flags;
  union {
    DXGK_PAGE_NUMBER       BasePageNumber;
    const DXGK_PAGE_NUMBER *Pages;
  };
} DXGK_ADL;

멤버

PageCount

ADL이 나타내는 페이지 수입니다.

Flags

ADL에 대한 플래그를 지정하는 DXGK_ADL_FLAGS 구조체입니다.

BasePageNumber

연속 ADL에 사용됩니다. Flags.Contiguous가 설정되면 BasePageNumber는 연속된 메모리 범위의 초기 페이지 번호이고 PageCount는 나타내는 페이지 수입니다. 예를 들어 PageCount=3 및 BasePageNumber=100인 경우 DXGK_ADL 페이지 100, 101 및 102(주소 범위 0x100000-0x102000)를 나타냅니다.

Pages

인접하지 않은 ADL에 사용됩니다. Flags.Contiguous가 설정되지 않은 경우 Pages는 정확히 PageCount 페이지의 배열을 가리킵니다. 배열의 페이지는 연속되지 않습니다.

PagesDXGK_PAGE_NUMBER 형식이므로 PFN_NUMBER 크기가 같아야 합니다. 이 배열은 하드웨어를 프로그래밍할 때 MDL의 PFN 배열 대신 대체할 수 있습니다.

설명

Dxgkernel 은 물리적 및 논리적 액세스 모드를 모두 지원하고 런타임에 두 모드 간에 원활하게 전환할 수 있도록 ADL을 제공합니다. ADL은 MDL과 매우 유사하지만 물리적 또는 논리적일 수 있는 페이지 배열을 설명합니다. 이러한 페이지는 논리적 페이지일 수 있으므로 ADL에서 설명하는 주소는 직접 CPU 액세스를 위해 가상 주소에 매핑할 수 없습니다.

자세한 내용은 IOMMU DMA 다시 매핑을 참조하세요.

요구 사항

요구 사항
지원되는 최소 서버 Windows Server 2022
머리글 d3dkmddi.h

추가 정보

DXGK_ADL_FLAGS