我有点不清楚这些对象如何起作用,形成软件和硬件之间的桥梁。它们几乎只是在您终止进程时将它们泄漏到堆上的软件对象被破坏了吗?或者还有更多的东西吗?
我问的原因是我忘了让我的初始化例程更改其状态机并因此切换例程,从而导致它尽可能多地创建“DeviceContexts”和“Devices”并将它们重新分配给相同的指针(通过d3d11createdevice)在我记忆泄漏大约2GB之前。
然后我发现我真的不知道未能释放这些对象意味着什么。是否有一个硬件组件我应该关注这些对象是否泄漏,以便我需要重置我的电脑?或者终止这个过程几乎清理了混乱?
我冷却了我的电脑,不管是不确定。但是,如果您正在使用这样的低级接口并且无法正确销毁/释放它们,那么确切知道会发生什么情况会很好。
答案 0 :(得分:1)
当程序终止时,操作系统将清除所有这些设备上下文。否则,一个行为不端的程序可能会使系统陷入停滞状态。
关于破坏性硬件的其他问题(在评论中表达)也是不可能的。如果是恶意程序可能会造成各种各样的破坏。您可能通过直接访问硬件来损坏硬件,但这种访问是驱动程序(以及位于程序和驱动程序之间的设备上下文)的用途。