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