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