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


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

В режиме ядра драйвер мини-порта вызывает DXGKCB_MAPMDLTOIOMMU для сопоставления списка дескрипторов памяти (MDL) с IOMMU, чтобы доступ к базовой памяти можно было получить с помощью GPU.

Синтаксис

DXGKCB_MAPMDLTOIOMMU DxgkcbMapmdltoiommu;

NTSTATUS DxgkcbMapmdltoiommu(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] INOUT_PDXGKARGCB_MAPMDLTOIOMMU pMapMdlToIoMmu
)
{...}

Параметры

[in] hAdapter

Дескриптор адаптера отображения. Драйвер предоставляет этот дескриптор для главного или ведущего устройства в цепочке LDA.

[in/out] pMapMdlToIoMmu

Указатель на структуру DXGKARGCB_MAPMDLTOIOMMU, содержащую дескриптор памяти.

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

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

Замечания

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

Если драйвер использует этот обратный вызов, он отвечает за обеспечение того, что время существования MDL превышает соответствующий вызов DXGKCB_UNMAPMDLFROMIOMMU. В противном случае вызов DXGKCB_UNMAPMDLFROMIOMMU не определен и может привести к компрометации безопасности страниц из MDL. Страницы могут быть перепрофилированы мм к тому времени, когда они не сопоставлены.

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

Требования

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

См. также

DXGKARGCB_MAPMDLTOIOMMU

DXGKCB_UNMAPMDLFROMIOMMU

DXGKRNL_INTERFACE