DestroyCommandList 函数会销毁命令列表。
语法
PFND3D11DDI_DESTROYCOMMANDLIST Pfnd3d11ddiDestroycommandlist;
VOID Pfnd3d11ddiDestroycommandlist(
D3D10DDI_HDEVICE unnamedParam1,
D3D11DDI_HCOMMANDLIST unnamedParam2
)
{...}
参数
unnamedParam1
hDevice [in]
显示设备的句柄(图形上下文)。
unnamedParam2
hCommandList [in]
要销毁的命令列表的驱动程序专用数据的句柄。 Microsoft Direct3D 运行时释放以前为命令列表分配的内存区域。 因此,驱动程序无法再访问此内存区域。
返回值
没有
言论
驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。
仅当驱动程序支持 D3D11DDI_THREADING_CAPS 结构中可从调用 GetCaps(D3D10_2) 函数中返回的D3D11DDICAPS_COMMANDLISTS_BUILD_2功能时,驱动程序才需要实现 DestroyCommandList。
驱动程序不应遇到任何错误,除非D3DDDIERR_DEVICEREMOVED。 因此,如果驱动程序在调用 pfnSetErrorCb 函数时传递任何错误(D3DDDIERR_DEVICEREMOVED除外)时,Direct3D 运行时将确定错误至关重要。 即使删除了设备,驱动程序也不需要返回D3DDDIERR_DEVICEREMOVED;但是,如果设备删除会干扰 DestroyCommandList(通常不应发生),驱动程序可以返回D3DDDIERR_DEVICEREMOVED。
驱动程序可以实现 DestroyCommandList 函数,该函数包含一个 开关 语句来处理命令列表的销毁和命令列表的轻量销毁。 也就是说, 驱动程序可以实现一个 DestroyCommandList,并且可以将 D3D11DDI_DEVICEFUNCS 结构的 pfnRecycleDestroyCommandList 成员设置为指向 DestroyCommandList,以及 pfnRecycleDestroyCommandList D3D11DDI_DEVICEFUNCS 成员,以指向 DestroyCommandList。 但是,为了提高性能,驱动程序可以实现单独的 DestroyCommandList 和 RecycleDestroyCommandList 函数。
有关 RecycleDestroyCommandList的详细信息,请参阅 优化小型命令列表。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | 从 Windows 7作系统开始,支持 DestroyCommandList。 |
| 目标平台 | 桌面 |
| 标头 | d3d10umddi.h (包括 D3d10umddi.h) |