Как получить понятное для человека имя для устройства RawInput HID?

я переключаю приложение с DirectInput на RawInput для обработки геймпада, и яЯ хотел бы представить удобочитаемое описание для каждого геймпада. Идеальным вариантом будет текст устройства, отображаемый в диспетчере устройств, но описание продукта USB также подойдет. Любой метод должен работать без разрешения администратора.

Пока янашел одиннабор подсказок: в реестре есть текстовое полеHKLM\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM который совпадает с именем, предоставленным DirectInput. Это н't идеально - у меня есть геймпад, который отображается на английском в диспетчере устройств, но отображается как 氀 в реестре.

Есть ли способ получить от РУЧКИ, предоставленнойWM_INPUT к описанию диспетчера устройств?HidD_GetProductString выглядит многообещающе, но я нене знаю, как получить дескриптор сбора верхнего уровня Hid из дескриптора RawInput.

Изменить: у меня есть путь к экземпляру устройства (например,\\?\HID#VID_1267&PID_A001#8&1d630df6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, что может быть достаточно, чтобы извлечь нужную мне информацию из SetupAPI. Кто-нибудь знает, как достичь этого, учитывая путь экземпляра?

Ответы на вопрос(2)

Ваш ответ на вопрос