PFND3DDDI_UNLOCK回调函数 (d3dumddi.h)

Unlock 函数解锁以前由 Lock 函数锁定的资源或资源中的图面。

语法

PFND3DDDI_UNLOCK Pfnd3dddiUnlock;

HRESULT Pfnd3dddiUnlock(
  HANDLE hDevice,
  const D3DDDIARG_UNLOCK *unnamedParam2
)
{...}

参数

hDevice

显示设备的句柄 (图形上下文) 。

unnamedParam2

pData [in]

指向 D3DDDIARG_UNLOCK 结构的指针,该结构描述要解锁的资源或图面。

返回值

解锁 返回以下值之一:

返回代码 说明
S_OK 资源已成功解锁。
E_OUTOFMEMORY 解锁无法分配完成所需的内存。
E_INVALIDARG 之前调用驱动程序的 Lock 函数时,D3DDDIARG_UNLOCK描述的资源未锁定。

注解

这些注释类似于 参考页的“备注”部分中的说明。

调用 Unlock 后,用户模式显示驱动程序必须调用 Microsoft Direct3D 运行时的 pfnUnlockCb 函数。 在此 pfnUnlockCb 调用中,用户模式显示驱动程序会传递分配句柄。 在调用 pfnUnlockCb 之前,用户模式显示驱动程序必须先将图面映射到适当的分配。

运行时调用用户模式显示驱动程序的 Unlock 函数来解锁预分配的系统内存图面。 运行时在 pData 指向的 D3DDDIARG_UNLOCK 结构的 Flags 成员中设置 NotifyOnly 位字段标志,以区分解锁预分配的系统内存的解锁调用与其他解锁调用。 如果用户模式显示驱动程序的 Lock 函数称为 pfnLockCb 来锁定对应于图面的系统内存分配,则它还必须调用 pfnUnlockCb。 不调用 pfnUnlockCb 会停止运行时、用户模式显示驱动程序和显示微型端口驱动程序之间的协调。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 通用
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDIARG_UNLOCK

D3DDDI_DEVICEFUNCS

Lock

pfnLockCb

pfnUnlockCb