IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Lecture d'un périphérique HID sur USB


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Lecture d'un périphérique HID sur USB
    Bonjour à tous et bravo pour ce site et cette communauté,

    Je cherche à lire les donnée transmise sur USB par un périphérique HID. Celui-ci est un pad USB un peu comme un touch-pad d'ordinateur portable.
    Je désire récupérer la position absolue du doigt qui se promène dessus.
    Pour cela j'ai besoin d'accèder à la trame USB qui est dans un format HID.
    Chose que j'arrive très bien à faire avec LIbUSB sous Windows XP.
    Malheureusement je dois faire la même chose sous Windows 7 et Vista, Bien sur LibUSB ne fonctionne pas très bien voir pas du tout sous ces OS (Peut être ai-je fait une erreur à l'installation, mais cela me parait peu problable...).
    J'ai commencé donc à regarder du côté du WDK avec les fonctions comme SetupDiEnumDeviceInterfaces ou encore SetupDiGetDeviceInterfaceDetail etc...
    Je trouve bien mon périphérique, le problème c'est que je n'arrive pas à ouvrir de Handle dessus avec createfile.
    Par défaut windows installe le périphérique comme un périphérique HID, est-ce qu'il ne bloquerai pas l'accès au périphérique.

    J'attends avec impatience vos idées.

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par dje41 Voir le message
    Par défaut windows installe le périphérique comme un périphérique HID, est-ce qu'il ne bloquerai pas l'accès au périphérique.
    Oui, c'est le mode par défaut, donc le device est verrouillé. Il te faut d'abord le déconnecter, puis le réouvrir dans le mode qui te convient.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Merci pour cette réponse rapide Mac LAK.
    Qu'entends tu par déconnecter ?
    Quelque chose à faire dans le gestionnaire de périphérique ou quelque chose du genre ?

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    C'est la même chose que pour une clé USB : tu déconnectes logiciellement le périphérique, il cesse donc d'être reconnu par le système et tu dois normalement pouvoir le rouvrir dans un autre mode.
    Par contre, il faut voir ce qu'offre libUSB à ce sujet : pour ma part, je n'ai jamais eu besoin d'une telle manip, donc je ne peux pas t'aider plus loin que le principe de base à utiliser.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    J'ai bien suivi les conseil de Mac LAK. Et j'arrive à démonter mon périphérique.
    Ensuite je fait un SetupDiEnumDeviceInfo pour le trouver avec son nom genre
    USB\\VID_XXXX&PID_XXXX\\5&1EAAF633&0&2. je le trouve bien mais ensuite
    je cherche à avoir le GUID pour faire un SetupDiEnumDeviceInterfaces, puis SetupDiGetDeviceInterfaceDetail pour avoir le chemin du périph et attaquer l'interface par un createfile , mais pas moyen de récupérer ce GUID.
    j'ai essayé :
    - SetupDiGetDevicePropertyKeys (mais du coup il me sort 46 clés donc je ne sais pas laquelle prendre)
    - SetupDiGetDeviceProperty mais la fonction ne semble pas reconnue
    Si Mac Lak tu es toujours là ou si quelqu'un d'autre à une idée ?

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Je ne connais pas l'API de cette librairie, mais il est étonnant que tu n'aie pas une notification quelconque d'ajout d'un composant USB : c'est une notification système, que n'importe quel logiciel peut normalement intercepter et détecter.

    Au pire, si la librairie ne fournit aucune API de notification (ce qui serait surprenant, quand même...), va voir ce post, j'y donne les points d'entrée de l'API Win32 pour détecter l'ajout d'un device sur le système. Tu peux aussi aller voir cette conversation.

    Et au pire du pire, tu fais la liste des clés avant et après reconnexion, et tu regardes la différence entre les deux listes.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/04/2015, 11h47
  2. Lecture sur USB
    Par seedbarrett dans le forum LabVIEW
    Réponses: 7
    Dernier message: 18/01/2015, 19h33
  3. Lecture d'un périphérique USB
    Par Nicopilami dans le forum Android
    Réponses: 0
    Dernier message: 31/12/2014, 14h22
  4. Lire/Ecrire sur un périphérique HID
    Par eric_marciano dans le forum Visual C++
    Réponses: 5
    Dernier message: 17/10/2011, 14h19
  5. Monter un disque dur externe sur usb
    Par piff62 dans le forum Administration système
    Réponses: 4
    Dernier message: 11/02/2005, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo