функция обратного вызова 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 |