【问题标题】:DirectX3D 11 enumerating devicesDirect3D 11 枚举设备
【发布时间】:2014-03-04 04:18:56
【问题描述】:

我想编写一个程序,列出在 Windows 系统上运行的所有 DirectX3D 应用程序并显示它们使用的资源。我知道如何使用 IDXGIFactory 接口枚举适配器,并通过 IDXGIAdapter 接口枚举适配器输出。我还知道如何使用 QueryInterface 和 GetParent 找出 ID3D11Device 使用的适配器。不过,我需要相反的:在给定适配器上运行的 ID3D11Device 的枚举。您需要指定一个 IDXGIAdapter 通过 D3D11CreateDevice 创建一个 ID3D11Device。所以一定是有联系的。有什么想法如何获得这样的枚举?

非常感谢。

【问题讨论】:

    标签: visual-c++ directx directx-11


    【解决方案1】:

    您可以尝试搜索已加载 directx dll 的进程。 finding loaded dll

    您可以在 D3D11CreateDevice 上放置一个全局挂钩,并在某个应用程序调用它时登记该应用程序。

    【讨论】:

    • 我把问题放在这里是因为我希望蜜蜂能够避免上钩。与此同时,我发现我对上钩的怀疑是毫无根据的。我试过你的第二个建议,效果很好。感谢您的提示。
    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 2015-10-30
    • 2018-01-25
    相关资源
    最近更新 更多