我正在学习DirectX12并编写一些实用程序类来封装功能。现在,我正在研究用于合并CommandList的机制。
该池假定所有命令列表均已关闭。我想在插入到池中时进行验证,但是我无法对其进行检查。来自MSDN:
如果成功,则返回S_OK;否则,返回以下内容之一 值:
- E_FAIL,如果命令列表已经关闭,或者在记录命令列表期间调用了无效的API。
这正是我要寻找的,但是当我调用ID3D12GraphicsCommandList :: Close()进行验证时,它将在KernelBase.dll
中引发异常。在我看来,这真的很奇怪。该规范不符合要求吗?
// EDIT:即使使用catch(...)
,我也无法捕获到异常。它告诉我,也许我的设置可能有问题,但其他所有内容对我来说都是正常的。