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)

另请参阅

D3DHAL_CONTEXTCREATEDATA

D3DHAL_CONTEXTDESTROYDATA

D3dContextCreate

D3dDestroyDDLocal

DD_DIRECTDRAW_LOCAL