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_ALLOCATEADL和DXGKCB_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 |