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


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

Используется для смежных списков ADL. Если задан параметр 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 предоставляет списки ADL для поддержки как физического, так и логического режимов доступа, а также возможность легко переключаться между двумя режимами во время выполнения. ADL очень похож на MDL, но описывает массив страниц, который может быть физическим или логическим. Так как эти страницы могут быть логическими, адреса, описанные в ADL, не могут быть сопоставлены с виртуальным адресом для прямого доступа к ЦП.

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

Требования

Требование Значение
Минимальная версия сервера Windows Server 2022
Верхняя часть d3dkmddi.h

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

DXGK_ADL_FLAGS