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 时,驱动程序缓存了作为 lpDDLclD3DHAL_CONTEXTCREATEDATA 成员传入的 DD_DIRECTDRAW_LOCAL 结构的指针,则调用 D3dContextDestroy 之前,指针可能会失效。 因此,D3dContextDestroy 不得取消引用此DD_DIRECTDRAW_LOCAL指针,因为访问冲突可能会导致或返回随机数据。 例如,如果在 D3dContextDestroy之前调用驱动程序的 D3dDestroyDDLocal 函数,作系统在 D3dContextDestroy 调用之前释放此DD_DIRECTDRAW_LOCAL指针。
D3dContextDestroy 可以使用禁用 PDEV调用。 通过调用显示驱动程序的 DrvAssertMode 函数来禁用或启用 PDEV。 有关详细信息,请参阅 管理 PDEV。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | d3dhal.h (包括 D3dhal.h) |