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 开始调用
下面的代码示例演示如何销毁显示设备的默认上下文。
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) |