LPD3DHAL_CONTEXTDESTROYCB回调函数 (d3dhal.h)
D3dContextDestroy 函数删除指定的上下文。
语法
LPD3DHAL_CONTEXTDESTROYCB Lpd3dhalContextdestroycb;
DWORD Lpd3dhalContextdestroycb(
LPD3DHAL_CONTEXTDESTROYDATA unnamedParam1
)
{...}
参数
unnamedParam1
pcdd [in]
指向包含驱动程序销毁上下文所需的信息的 D3DHAL_CONTEXTDESTROYDATA 结构。
返回值
D3dContextDestroy 返回以下回调代码之一:
注解
所有 Microsoft Direct3D 驱动程序都必须支持 D3dContextDestroy。
驱动程序应释放分配给要删除的上下文的所有资源。 例如,驱动程序应释放与上下文关联的以下资源:
驱动程序不应释放与上下文关联的 Microsoft DirectDraw 图面,因为这些图面将由 DirectDraw 释放,以响应应用程序或 Direct3D 运行时请求。如果在调用 D3dContextCreate 时驱动程序缓存了指向作为 D3DHAL_CONTEXTCREATEDATA 结构的 lpDDLcl 成员传入的 DD_DIRECTDRAW_LOCAL 结构的指针,则该指针可能会在调用 D3dContextDestroy 之前变为无效。 因此, D3dContextDestroy 不得取消引用此DD_DIRECTDRAW_LOCAL指针,因为可能会导致访问冲突或返回随机数据。 例如,如果在 D3dContextDestroy 之前调用驱动程序的 D3dDestroyDDLocal 函数,则操作系统在 D3dContextDestroy 调用之前释放此DD_DIRECTDRAW_LOCAL指针。
D3dContextDestroy 可以使用禁用的 PDEV 调用。 通过调用显示驱动程序的 DrvAssertMode 函数禁用或启用 PDEV。 有关详细信息 ,请参阅管理 PDEV 。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | d3dhal.h (包括 D3dhal.h) |