структура DXGKARGCB_ALLOCATE_ADL (d3dkmddi.h)

DXGKARGCB_ALLOCATE_ADL содержит сведения, используемые функцией обратного вызова DXGKCB_ALLOCATEADL для создания списка дескрипторов адресов (ADL).

Синтаксис

typedef struct _DXGKARGCB_ALLOCATE_ADL {
  [in]  HANDLE   hAdapterMemoryObject;
  [in]  SIZE_T   Offset;
  [in]  SIZE_T   Size;
  union {
    struct {
      UINT32 RequireContiguous : 1;
      UINT32 PreferContiguous : 1;
      UINT32 Reserved : 30;
    };
          UINT32 Value;
  } Flags;
  [out] DXGK_ADL *pAdl;
} DXGKARGCB_ALLOCATE_ADL;

Члены

[in] hAdapterMemoryObject

Объект памяти адаптера, описывающий базовую логическую память, используемую для построения ADL. Этот объект был создан с помощью DXGKCB_CREATEPHYSICALMEMORYOBJECT или позже открыт через DXGKCB_OPENPHYSICALMEMORYOBJECT.

[in] Offset

Смещение в байтах от начала объекта физической памяти. Это значение должно быть кратно PAGE_SIZE.

[in] Size

Общее количество байтов, выделяемых для ADL. Это значение должно быть кратно PAGE_SIZE, чтобы число страниц в ADL было равно Размер/PAGE_SIZE.

Flags

[in] Flags.RequireContiguous

Указывает, что драйвер запрашивает ADL, описывающий непрерывный диапазон памяти, а не разбросанные страницы. Этот флаг действителен, только если объект физической памяти, представленный hAdapterMemoryObject , был выделен как DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY или DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE.

[in] Flags.PreferContiguous

Предоставляет драйверу способ оптимального запроса непрерывного ADL, когда это возможно. Если переназначение DMA включено, adls будут ссылаться на диапазоны логического адресного пространства; Однако драйверы могут не использовать смежные списки AD во всех путях кода. Несмежные списки AD для логической памяти могут стать дорогостоящими, так как для представления памяти требуется выделить отдельный массив PFN, аналогичный MDL. По возможности драйвер должен указать этот флаг, чтобы указать, что ADL может быть представлен только базовым адресом.

[in] Flags.Reserved

Защищены; должно быть равно нулю.

[in] Flags.Value

Альтернативный способ доступа к битам.

[out] pAdl

При успешном вызове DXGKCB_ALLOCATEADL указывает на структуру DXGK_ADL со списком адресов страниц, которые можно использовать для программирования оборудования.

Комментарии

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

Требования

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

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

DXGKCB_ALLOCATEADL

DXGKCB_CREATEPHYSICALMEMORYOBJECT

DXGKCB_OPENPHYSICALMEMORYOBJECT