-
[MFC] Handler port USB
Bonjour à tous,
Je souhaiterais récupérer le handler du port USB sur lequel je viendrais brancher un périphérique USB dont le driver n'est pas installé.
Ce handler me permettrait dans un deuxième temps d'utiliser DeviceIO pour au final pouvoir récupérer les descripteurs du port.
De ce fait, je me suis orienté vers la gestion des messages avec la primitive RegisterDeviceNotification; elle me renvoie un "device notification handle" dont je ne vois d'autre interêt que de faire un UnRegisterDeviceNotification.
Puis je me sers de la primitive OnDeviceChange pour récupérer les messages WM_DEVICECHANGE.
A l'intérieur, par le biais d'un switch je traite les différents cas.
Le problème est qu'étant donné l'abscence de driver, je ne reçois que DBT_DEVNODES_CHANGED qui ne me donne pas de handler au final...
Qu'en pensez-vous ? Suis-je sur la bonne voie ou dois-je partir vers autre chose ??
Merci d'avance
Benoît
-
Il faut forcément passer par un driver (qui va traiter le DeviceIoControl) pour s'adresser à un périph. A défaut d'un driver spécial ça peut être un truc générique USB. En tous cas il faut que ton périphérique soit reconnu par Windows et figure dans la liste du gestionnaire de périph.
-
Je viens de comprendre comment fonctionne DeviceIoControl :)
Donc j'utilise le driver du hub usb où est branché mon périphérique USB sans driver (createfile dessus et deviceiocontrol ensuite à la manière de usbview de Windows Server 2003 DDK).
Ca fonctionne là, j'arrive à lire les descriptors !
Merci de vos conseils !