Communiquer avec les périphériques USB sous Windows

Abonnements, magazines... Notre catalogue complet au bas de cette page.

L’atout majeur des périphériques USB est qu’on les insère dans le système et qu’on les utilise sans se poser de question. Mais un geek s’en posera une tôt ou tard : « comment communiquer avec le périphérique par programmation » ? Nous tentons d’y répondre.

La facilité d’utilisation des périphériques USB est un must pour l’utilisateur lambda. Mais pour le programmeur c’est autre chose. Comment savoir si le périphérique est présent ou s’il est brutalement retiré pendant que notre application tente de l’utiliser ? Comment communiquer avec lui ? Imaginons un exemple concret. Nous voudrions écrire une application qui conserve des données secrètes, cryptées. Il n’est possible d’accéder aux données décryptées que si l’utilisateur insère une clé USB très particulière sur laquelle une clé de cryptage est cachée quelque part, non dans un fichier, mais dans un secteur. Cet article donne les éléments pour construire une telle application sous Windows. Et bien sûr, le contenu de cet article est directement transposable pour travailler avec n’importe quel périphérique USB dont on dispose de la documentation. On suppose que le lecteur est déjà très familiarisé avec la programmation Windows. Nous avons écrit nos exemples, dont les sources complets sont disponibles sur notre site, avec Visual Studio 2008. N’importe quel compilateur C++ conviendra. Les exemples ont été testés sous Windows 7. Cet article fait allusion au DDK (Driver Development Kit), mais il n’est pas nécessaire d’installer celui-ci.

Frédéric Mazué

S'ABONNER
Egalement au sommaire de :
Programmez! #137