DXGKCB_ALLOCATEADL回调函数 (d3dkmddi.h)

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

语法

DXGKCB_ALLOCATEADL DxgkcbAllocateadl;

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

参数

[in/out] pArgs

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

返回值

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

言论

DXGKCB_ALLOCATEADLDXGKCB_FREEADL 函数用于创建和销毁描述可编程(映射)到 GPU 的内存地址的 ADL。 基础内存可以指向逻辑内存或物理内存,具体取决于所使用的 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