Bonjour,
je me perd dans les X pages relantant de l'usb, que ce soit sur microsoft.fr ou chez l'ami google
j'ai ce code :
Il me permet de chopper tous les port Serie / USB dispo, en fait, je suis a la recherche d'un appareil particulier, du coup j'aimerai obtenir a partir du port le vendorId ou autre information permettant d'identifier mon appareil,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 for (UINT i=1; i<256; i++){ sPortBS.Format(_T("\\\\.\\COM%d"), i); sPort.Format(_T("COM%d"), i); // Tentative d'ouverture du port hPort = ::CreateFile(sPortBS, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0); if (hPort == INVALID_HANDLE_VALUE){ dwError = GetLastError(); // L'erreur vient elle du fait que le port est occupé par une autre appli ? bSuccess = (dwError == ERROR_ACCESS_DENIED || dwError == ERROR_GEN_FAILURE || dwError == ERROR_SHARING_VIOLATION); } else { bSuccess = TRUE; CloseHandle(hPort); hPort = INVALID_HANDLE_VALUE; } if (bSuccess) m_comListe.AddString(sPort); }
Apres moultes recherches, j'ai l'impression qu'il faut utiliser DeviceIoControl, est ce bien cela ?
quel code appelé, avec quelle structure .... je sais pas du tout.
Pourriez vous m'aider ?
merci
Partager