Couper l'alimentation d'un port usb - C++ - Programmation
Marsh Posté le 23-05-2006 à 13:14:10
Finalement, je pense avoir trouvé un IOCTL qui pourrait convenir :
IOCTL_INTERNAL_USB_CYCLE_PORT.
J'aimerais le tester pour vérifier qu'il convient bien.
J'ai essayé via DeviceIoControl mais sans succès :
Code :
|
Success = false et GetLastError me renvoie 1 (ERROR_INVALID_FUNCTION).
Savez-vous comment utiliser ce IOCTL ?
Marsh Posté le 24-05-2006 à 12:34:45
Après test non, il ne convient pas (IOCTL_USB_HUB_CYCLE_PORT) car il n'y a pas de power off du port USB dans le cycle de simulation...
Donc si vous avez d'autres idées pour faire un power off du port je suis toujours preneur !
Marsh Posté le 23-05-2006 à 11:03:05
Bonjour,
Je souhaiterais pouvoir controler l'alimentation d'un port d'un hub usb externe (power-off ou power-on) sous Windows Xp SP2 avec Visual C++ 7.
Chaque port du hub est alimenté séparemment (Power switching mode = individual dans le hub descriptor) dont cela semble possible.
J'ai vu dans les spécifications usb qu'il est possible, via un Set Port Feature, de faire un power-off ou un power-on d'un port, mais je n'y suis pas arrivé, faute de trouver la fonction nécessaire.
J'ai bien pensé à DeviceIoControl, de la même façon que pour lire les descriptors, mais il me manque le deuxième paramètre de la fonction...
Avez-vous des idées à me proposer ??
Je tiens bien à souligner que je ne souhaite pas juste faire un port restart, ou un port suspend/resume, mais bel et bien un power-off/on du port.