DXGKCB_ALLOCATEADL回调函数 (d3dkmddi.h)

DXGKCB_ALLOCATEADL (ADL) 创建地址描述符列表。

语法

DXGKCB_ALLOCATEADL DxgkcbAllocateadl;

NTSTATUS DxgkcbAllocateadl(
  [in/out] IN_OUT_PDXGKARGCB_ALLOCATE_ADL pArgs
)
{...}

参数

[in/out] pArgs

指向 DXGKARGCB_ALLOCATE_ADL 结构的指针,该结构包含有关要创建的 ADL 的信息。 成功后,返回一个 DXGK_ADL 结构,其中包含可用于对硬件进行编程的页面地址列表。

返回值

如果操作成功,则返回STATUS_SUCCESS。 否则, 将返回相应的 NTSTATUS 错误代码,例如 STATUS_INVALID_PARAMETER。

注解

DXGKCB_ALLOCATEADLDXGKCB_FREEADL函数用于创建和销毁描述内存地址的 ACL,这些地址可以编程 (映射到 GPU) 。 基础内存可以指向逻辑内存或物理内存,具体取决于是否正在使用 IOMMU,因此驱动程序不得尝试假定这些地址表示物理页。

从物理对象分配 ADL 时, Dxgkrnl 保证此内存在 ADL 的生存期内保持锁定状态且不可分页。

有关详细信息 ,请参阅 IOMMU DMA 重新映射

DXGKCB_XXX 函数由 Dxgkrnl 实现。 若要使用此回调函数,请设置 DXGKARGCB_ALLOCATE_ADL 的相应成员,然后通过 DXGKRNL_INTERFACE调用 DxgkCbAllocateAdl

要求

要求
最低受支持的服务器 Windows Server 2022 (WDDM 2.9)
标头 d3dkmddi.h
IRQL PASSIVE_LEVEL

另请参阅

DXGKARGCB_ALLOCATE_ADL

DXGKCB_FREEADL

DXGKRNL_INTERFACE