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 :
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);
	}
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,

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