Я разрабатываю приложение для запуска 3D-игры на Windows. Файл конфигурации «ini» требует, чтобы пользователь указал GUID оборудования для нужного устройства, например, GUID идентификатора устройства, возвращенный dxdiag.exe.
Я пытаюсь перечислить доступные адаптеры в системе, позволить пользователю выбрать один и загрузить GUID аппаратного обеспечения этого устройства в INI-файл.
Я исследовал много методов для попытки этого. Я попытался использовать класс System.Management, который возвращает GUID класса, но не конкретный GUID драйвера. Я пытался использовать собственные вызовы функций SetupAPI.h, которые также не могут перечислить конкретный идентификатор GUID идентификатора устройства. Я попытался изучить реестр, чтобы увидеть, находится ли GUID там. Не повезло.
Моя лучшая идея, вероятно, заключалась в том, чтобы использовать библиотеку Managed DirectX для возврата нужного мне GUID, учитывая, что, вероятно, именно так и поступает dxdiag. Мне удалось перечислить и собрать информацию об оборудовании для каждого драйвера с помощью интерфейса SharpDX Managed DirectX для приложений .NET (я нацеливаюсь на Framework 3.5), но, опять же, я не смог вернуть тот же GUID, который возвращает dxdiag.
Я действительно застрял в поисках решения. Помощь