Sto passando un'applicazione da DirectInput a RawInput per la gestione del gamepad e mi piacerebbe presentare una descrizione leggibile da ogni gamepad. L'ideale sarebbe il testo del dispositivo che appare in Gestione dispositivi, ma anche la descrizione del prodotto USB. Qualsiasi metodo dovrebbe funzionare senza l'autorizzazione dell'amministratore.Come ottenere il nome leggibile dall'uomo per il dispositivo HID RawInput?
Finora ho trovato uno set of clues: sembra esserci un campo di testo nel registro sotto HKLM\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM
, che è lo stesso del nome fornito da DirectInput. Questo non è perfetto - ho un gamepad che appare in inglese in Gestione dispositivi, ma elenca come 氀 nel registro.
C'è un modo per ottenere dalla MANIGLIA fornita da WM_INPUT
alla descrizione del gestore dispositivo? HidD_GetProductString
sembra promettente, ma non so come ottenere l'handle di raccolta di primo livello Hid dall'handle RawInput.
Edit: Ho un percorso dell'istanza dispositivo (es \\?\HID#VID_1267&PID_A001#8&1d630df6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
, che può essere sufficiente per estrarre le informazioni che mi servono da SetupAPI Qualcuno sa come raggiungere questo dato un percorso dell'istanza