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)

另请参阅

D3DHAL_CONTEXTCREATEDATA

D3DHAL_CONTEXTDESTROYDATA

D3dContextCreate

D3dDestroyDDLocal

DD_DIRECTDRAW_LOCAL