PFND3D11DDI_DESTROYCOMMANDLIST回调函数 (d3d10umddi.h)

DestroyCommandList 函数销毁命令列表。

语法

PFND3D11DDI_DESTROYCOMMANDLIST Pfnd3d11ddiDestroycommandlist;

void Pfnd3d11ddiDestroycommandlist(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11DDI_HCOMMANDLIST unnamedParam2
)
{...}

参数

unnamedParam1

hDevice [in]

显示设备的句柄 (图形上下文) 。

unnamedParam2

hCommandList [in]

要销毁的命令列表的驱动程序专用数据的句柄。 Microsoft Direct3D 运行时释放它之前为命令列表分配的内存区域。 因此,驱动程序无法再访问此内存区域。

返回值

备注

驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。

仅当驱动程序支持可从调用 GetCaps (D3D10_2) 函数在 D3D11DDI_THREADING_CAPS 结构中返回的D3D11DDICAPS_COMMANDLISTS_BUILD_2功能时,驱动程序才需要实现 DestroyCommandList

驱动程序不应遇到任何错误,D3DDDIERR_DEVICEREMOVED除外。 因此,如果驱动程序在调用 pfnSetErrorCb 函数时传递了除D3DDDIERR_DEVICEREMOVED以外的任何错误,则 Direct3D 运行时将确定错误严重。 即使删除了设备,驱动程序也不需要返回D3DDDIERR_DEVICEREMOVED;但是,如果设备删除干扰 DestroyCommandList (通常不应) 执行的操作,驱动程序可以返回D3DDDIERR_DEVICEREMOVED。

驱动程序可以实现包含 switch 语句的 DestroyCommandList 函数,以处理命令列表的销毁和命令列表的轻型销毁。 也就是说,驱动程序可以实现一个 DestroyCommandList,并且可以将 D3D11DDI_DEVICEFUNCS 结构的 pfnRecycleDestroyCommandList 成员设置为指向 DestroyCommandList,并将 D3D11DDI_DEVICEFUNCS 的 pfnRecycleDestroyCommandList 成员设置为指向 DestroyCommandList。 但是,为了提高性能,驱动程序可以实现单独的 DestroyCommandListRecycleDestroyCommandList 函数。

有关 RecycleDestroyCommandList 的详细信息,请参阅 Small Command Lists优化

要求

要求
最低受支持的客户端 从 Windows 7 操作系统开始支持 DestroyCommandList。
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

CreateCommandList

D3D11DDI_DEVICEFUNCS

D3D11DDI_THREADING_CAPS

GetCaps (D3D10_2)

pfnSetErrorCb