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


структура 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

Структура DXGK_ADL_FLAGS, указывающая флаги для ADL.

BasePageNumber

Используется для смежных списков AD. Если задан Flags.Contiguous, BasePageNumber — это начальный номер страницы непрерывного диапазона памяти и PageCount — это количество страниц, которые он представляет. Например, если PageCount=3 и BasePageNumber=100, то DXGK_ADL представляет страницы 100, 101 и 102 (диапазон адресов 0x100000-0x102000).

Pages

Используется для несоотложных списков AD. Если Flags.Contiguous не задано, Pages указывает на массив страниц точно PageCount. Страницы в массиве не гарантированы быть смежными.

Pages имеет тип DXGK_PAGE_NUMBER, который гарантированно будет таким же размером, что и PFN_NUMBER. Этот массив можно заменить вместо массива PFN MDL при программировании оборудования.

Замечания

Dxgkernel предоставляет списки AD, чтобы поддерживать режимы физического и логического доступа и легко переключаться между двумя режимами во время выполнения. ADL очень похож на MDL, но описывает массив страниц, которые могут быть физическими или логическими. Так как эти страницы могут быть логическими, адреса, описанные ADL, невозможно сопоставить с виртуальным адресом для прямого доступа к ЦП.

Дополнительные сведения см. в переназначивания IOMMU DMA.

Требования

Требование Ценность
минимальный поддерживаемый сервер Windows Server 2022
заголовка d3dkmddi.h

См. также

DXGK_ADL_FLAGS