PFND3DDDI_RESERVEGPUVIRTUALADDRESSCB回调函数 (d3dumddi.h)

D3D 运行时的 pfnReserveGPUVirtualAddressCb 回调在当前进程 GPU 虚拟地址空间中保留地址范围。 地址范围仅保留,它后面没有实际内存。

语法

PFND3DDDI_RESERVEGPUVIRTUALADDRESSCB Pfnd3dddiReservegpuvirtualaddresscb;

HRESULT Pfnd3dddiReservegpuvirtualaddresscb(
  HANDLE hDevice,
  D3DDDI_RESERVEGPUVIRTUALADDRESS *unnamedParam2
)
{...}

参数

hDevice

[in]显示设备的句柄。

unnamedParam2

[in/out]指向描述要执行的操作的 D3DDDI_RESERVEGPUVIRTUALADDRESS 结构的指针。

返回值

如果此回调函数成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。

言论

用户模式驱动程序 (UMD) 可以通过为 BaseAddress指定非 NULL 值来选择要用于预留的基本 GPU 虚拟地址。 视频内存管理器(VidMm)将使用指定的范围(如果可用)。 如果范围与现有范围相交,则操作将失败。 UMD 可以传递 NULL BaseAddress,以便 VidMm 选取基址。

当 UMD 选择让 VidMm 选择 GPU 虚拟地址范围的基址时,UMD 可以选择通过为 MinimumAddressMaximumAddress指定非 NULL 值来限制 VidMm 应考虑的范围。 VidMm 可确保分配的 GPU 虚拟地址范围完全包含在该区域中。 UMD 只能指定 MinimumAddress,其中 MaximumAddress 假定为地址空间的末尾。 或者 UMD 只能指定 MaximumAddress,其中 MinimumAddress 假定为 0。

当 UMD 调用 pfnReserveGpuVertualAddrsesCbhAdapter 设置为 0 时,D3D 运行时将在调用 D3DKMTReserveGpuVirtualAddress 内核接口之前将 hAdapter 设置为内核的D3DKMT_HANDLE。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDI_RESERVEGPUVIRTUALADDRESS