我想编写一个程序,列出在Windows系统上运行的所有DirectX3D应用程序并显示它们使用的资源。我知道如何使用IDXGIFactory接口枚举适配器和通过IDXGIAdapter接口输出适配器。我也知道如何使用QueryInterface和GetParent找出ID3D11Device使用的适配器。虽然,我需要反过来:ID3D11Device的枚举,它在给定的适配器上运行。您需要通过D3D11CreateDevice指定IDXGIAdapter创建ID3D11Device。所以必须有联系。有没有想法如何获得这样的枚举?
非常感谢。
答案 0 :(得分:0)
您可以尝试搜索已加载directx dll的进程。 finding loaded dll
OR
您可以在D3D11CreateDevice上放置一个全局挂钩,并且只要某个应用程序调用它就会登记该应用程序。