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) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈