PFND3DDDI_RESOLVESHAREDRESOURCE回调函数 (d3dumddi.h)

ResolveSharedResource 函数通知用户模式显示驱动程序共享图面的所有权已更改,或者某个图面正在用于 GDI 互操作。

语法

PFND3DDDI_RESOLVESHAREDRESOURCE Pfnd3dddiResolvesharedresource;

HRESULT Pfnd3dddiResolvesharedresource(
  HANDLE hDevice,
  const D3DDDIARG_RESOLVESHAREDRESOURCE *unnamedParam2
)
{...}

参数

hDevice

显示设备的句柄 (,即与共享图面或 GDI 可互操作图面关联的图形上下文) 。

unnamedParam2

pData [in]

指向包含图面句柄 的D3DDDIARG_RESOLVESHAREDRESOURCE 结构的指针。

返回值

ResolveSharedResource 返回以下值之一:

返回代码 说明
S_OK 已成功解析资源。
D3DDDIERR_DEVICEREMOVED 驱动程序检测到图形适配器已删除。 因此,驱动程序未完成该操作。 如果驱动程序从未注意到适配器删除条件,则驱动程序不需要返回此错误代码。

注解

当应用程序调用以下函数之一时,Direct3D 运行时会调用 ResolveSharedResource

  • 同步共享图面上的 IDXGIKeyedMutex::ReleaseSynch
  • 适用于 GDI 互操作图面的 IDXGISurface1::GetDC
每次共享图面所有者更改或将图面用于 GDI 互操作时,运行时都会调用驱动程序的 ResolveSharedResource 函数。 运行时通过 hDevice 参数和 surface 通过 pData 参数为显示设备提供句柄的 ResolveSharedResource

驱动程序实现 ResolveSharedResource ,以便为多个 GPU 方案适当管理资源。 每个资源可以划分到内存中,以便在多个 GPU 上呈现。 驱动程序可以实现 ResolveSharedResource 来重新合并每个资源,以便新资源所有者具有合并的资源。 驱动程序必须刷新可能修改资源的任何部分生成的命令缓冲区。

要求

要求
最低受支持的客户端 从 Windows 7 操作系统开始,支持 ResolveSharedResource。
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDIARG_RESOLVESHAREDRESOURCE

D3DDDI_DEVICEFUNCS