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


функция обратного вызова DXGKCB_ALLOCATEADL (d3dkmddi.h)

DXGKCB_ALLOCATEADL создает список дескриптора адресов (ADL).

Синтаксис

DXGKCB_ALLOCATEADL DxgkcbAllocateadl;

NTSTATUS DxgkcbAllocateadl(
  [in/out] IN_OUT_PDXGKARGCB_ALLOCATE_ADL pArgs
)
{...}

Параметры

[in/out] pArgs

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

Возвращаемое значение

Возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае возвращает соответствующий код ошибки NTSTATUS, например STATUS_INVALID_PARAMETER.

Замечания

Функции DXGKCB_ALLOCATEADL и DXGKCB_FREEADL используются для создания и уничтожения списков AD, описывающих адреса памяти, которые можно запрограммировать (сопоставить) с GPU. Базовая память может указывать на логическую или физическую память в зависимости от того, используется ли IOMMU, поэтому драйвер не должен пытаться предположить, что эти адреса представляют физические страницы.

Если ADL выделяется из физического объекта, Dxgkrnl гарантирует, что эта память остается заблокированной и не отображается на страницу в течение времени существования ADL.

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

DXGKCB_XXX функции реализуются Dxgkrnl. Чтобы использовать эту функцию обратного вызова, задайте соответствующие члены DXGKARGCB_ALLOCATE_ADL, а затем вызовите DxgkCbAllocateAdl через DXGKRNL_INTERFACE.

Требования

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

См. также

DXGKARGCB_ALLOCATE_ADL

DXGKCB_FREEADL

DXGKRNL_INTERFACE