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 的相应成员,然后通过 DXGKRNL_INTERFACE调用 DxgkCbMapMdlToIoMmu

如果驱动程序使用此回调,则它负责确保 MDL 的生存期超过相应的 DXGKCB_UNMAPMDLFROMIOMMU 调用。 否则, DXGKCB_UNMAPMDLFROMIOMMU 调用具有未定义的行为,并可能导致 MDL 中的页面安全性受到损害。 在未映射页面时,Mm 可能会重新调整这些页面的用途。

有关详细信息,请参阅 基于 IOMMU 的 GPU 隔离

要求

要求
最低受支持的客户端 Windows 10,版本 1803 (WDDM 2.4)
标头 d3dkmddi.h
IRQL PASSIVE_LEVEL

另请参阅

DXGKARGCB_MAPMDLTOIOMMU

DXGKCB_UNMAPMDLFROMIOMMU

DXGKRNL_INTERFACE