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


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

DXGKCB_ALLOCATECONTIGUOUSMEMORY выделяет смежные области памяти в логическом адресном пространстве IOMMU.

Синтаксис

DXGKCB_ALLOCATECONTIGUOUSMEMORY DxgkcbAllocatecontiguousmemory;

NTSTATUS DxgkcbAllocatecontiguousmemory(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] INOUT_PDXGKARGCB_ALLOCATECONTIGUOUSMEMORY pAllocateContiguousMemory
)
{...}

Параметры

[in] hAdapter

Дескриптор для видеоадаптера.

[in/out] pAllocateContiguousMemory

Указатель на структуру DXGKARGCB_ALLOCATECONTIGUOUSMEMORY , содержащую аргументы для выделения непрерывной памяти.

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

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

Комментарии

Эта функция обратного вызова является эквивалентом Dxgkrnlфункции MmAllocateContiguousMemory.

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

Вся память, доступная GPU во время операций подкачки или сопоставленная с помощью GpuMmu, должна быть сопоставлена с IOMMU. Dxgkrnl предоставляет обратные вызовы KMD, чтобы разрешить выделение и повторное сопоставление за один шаг.

Примечание

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1803 (WDDM 2.4)
Верхняя часть d3dkmddi.h
IRQL PASSIVE_LEVEL

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

DXGKARGCB_ALLOCATECONTIGUOUSMEMORY

DXGKCB_FREECONTIGUOUSMEMORY

DXGKRNL_INTERFACE