PFND3DDDI_DESTROYCONTEXTCB回调函数 (d3dumddi.h)

pfnDestroyContextCb 函数销毁通过调用 pfnCreateContextCb 函数创建的上下文。

语法

PFND3DDDI_DESTROYCONTEXTCB Pfnd3dddiDestroycontextcb;

HRESULT Pfnd3dddiDestroycontextcb(
  HANDLE hDevice,
  const D3DDDICB_DESTROYCONTEXT *unnamedParam2
)
{...}

参数

hDevice

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

unnamedParam2

pData [in]

指向 D3DDDICB_DESTROYCONTEXT 结构的指针,该结构包含要销毁的上下文的句柄。

返回值

pfnDestroyContextCb 返回以下值之一:

返回代码 说明
S_OK 已成功销毁上下文。
E_INVALIDARG 参数已验证并确定为不正确。

此函数还可能返回其他 HRESULT 值。

注解

如果指定的上下文尚未完成当前排队的工作, pfnDestroyContextCb 函数将阻止,直到上下文完成其工作,然后返回 。

如果要销毁的上下文当前拥有同步对象,pfnDestroyContextCb 将返回错误。

Direct3D 版本 11 注意: 有关驱动程序如何调用 pfnDestroyContextCb 的详细信息,请参阅 Direct3D 10 中的更改

下面的代码示例演示如何销毁显示设备的默认上下文。

    if (m_d3dCallbacks.pfnDestroyContextCb) {
        D3DDDICB_DESTROYCONTEXT DestroyContext;
        DestroyContext.hContext = m_sContexts[MULTI_ENGINE_NODE_3D].hContext;
        m_d3dCallbacks.pfnDestroyContextCb(m_hD3D, &DestroyContext);
        m_sContexts[MULTI_ENGINE_NODE_3D].hContext = NULL;
    }

要求

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

另请参阅

D3DDDICB_DESTROYCONTEXT

pfnCreateContextCb