DXGKCB_ALLOCATECONTIGUOUSMEMORY回调函数 (d3dkmddi.h)
DXGKCB_ALLOCATECONTIGUOUSMEMORY 在 IOMMU 的逻辑地址空间中分配连续的内存区域。
语法
DXGKCB_ALLOCATECONTIGUOUSMEMORY DxgkcbAllocatecontiguousmemory;
NTSTATUS DxgkcbAllocatecontiguousmemory(
[in] IN_CONST_HANDLE hAdapter,
[in/out] INOUT_PDXGKARGCB_ALLOCATECONTIGUOUSMEMORY pAllocateContiguousMemory
)
{...}
参数
[in] hAdapter
显示适配器的句柄。
[in/out] pAllocateContiguousMemory
指向包含用于分配连续内存的参数的 DXGKARGCB_ALLOCATECONTIGUOUSMEMORY 结构的指针。
返回值
如果作成功,则返回STATUS_SUCCESS。 否则,返回相应的 NTSTATUS 错误代码。
言论
此回调函数 Dxgkrnl等效于 mmAllocateContiguousMemory 函数。
DXGKCB_XXX 函数由 Dxgkrnl实现。 若要使用此回调函数,请设置 DXGKARGCB_ALLOCATECONTIGUOUSMEMORY 的相应成员,然后通过 DXGKRNL_INTERFACE调用 DxgkCbAllocateContiguousMemory。
在分页作期间或通过 GpuMmu 映射的所有内存都必须映射到 IOMMU。 Dxgkrnl 向 KMD 提供回调,以允许在一个步骤中分配和重新映射。
注意
驱动程序不应锁定任何内存。 Dxgkrnl 将管理驱动程序的锁定页,在重新映射内存后,提供给驱动程序的页面的逻辑地址可能不再与物理地址匹配。
有关详细信息,请参阅 基于 IOMMU 的 GPU 隔离。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1803 (WDDM 2.4) |
标头 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |