PFND3DDDI_DESTROYCONTEXTCB回调函数 (d3dumddi.h)

D3D 运行时的 pfnDestroyContextCb 函数会销毁通过调用其 pfnCreateContextCb 函数创建的上下文。

语法

PFND3DDDI_DESTROYCONTEXTCB Pfnd3dddiDestroycontextcb;

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

参数

hDevice

[in]处理显示设备(即图形上下文)。

unnamedParam2

[in]指向标识要销毁的上下文的 D3DDDICB_DESTROYCONTEXT 结构的指针。

返回值

pfnDestroyContextCb 返回 HRESULT 以指示上下文删除请求的成功或失败。 常见返回值包括:

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

言论

如果指定的上下文尚未完成当前排队的工作,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 (WDDM 1.0)
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDICB_DESTROYCONTEXT

pfnCreateContextCb