Retour sur CreateFile et Borland C++ ( biblio win)
J'ai enfin réussi 'par chance' à ouvrir un handle.
Fallait trouver la conversion, sinon rien ne va.
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | void __fastcall TForm1::ResumeUSBClick(TObject *Sender)
{
HANDLE HUSB;
char Guid[256];
 if(DetectDevice(0xC251,0x1A01,Guid)) //IdDevice, IdVendor
   {
   //  retourne Guid:  "\\\\?\\usb#vid_c251&pid_1a01#0001a0000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}\0}\0ÌqÕ\0ÌqÕ\0`\0\0\0\x10\0\0\0\x13\0\0\0\0\0\0\0\x01\0\0\0 \0\0\0\x13\0\0\0\0\0\0\0\x02\0\0\00\0\0\0\x13\0\0\0\0\0\0\0\x01\0\0\0@\0\0\0\x13\0\0\0\0\0\0\0\x03\0\0\0P\0\0\0\x13\0\0\0\0\0\0\0\x01\0\0\0`\0\0\0\x17\0\0\0\x01\0\0\0\x04\0\0\0C251\0\0\0\0\x16\0\0\0\0\0\0\0\x04\0\0\01A01\0\0\0\0\x16\0\0\0\0\0\0\0\x04\0\0\0C251\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   Memo->Lines->Add("Device trouvé");
   //Convertion Guid:  "\\.xsb#vid_c251&pid_1a01#0001a0000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}\0}\0}\0ÌqÕ\0ÌqÕ\0`\0\0\0\x10\0\0\0\x13\0\0\0\0\0\0\0\x01\0\0\0 \0\0\0\x13\0\0\0\0\0\0\0\x02\0\0\00\0\0\0\x13\0\0\0\0\0\0\0\x01\0\0\0@\0\0\0\x13\0\0\0\0\0\0\0\x03\0\0\0P\0\0\0\x13\0\0\0\0\0\0\0\x01\0\0\0`\0\0\0\x17\0\0\0\x01\0\0\0\x04\0\0\0C251\0\0\0\0\x16\0\0\0\0\0\0\0\x04\0\0\01A01\0\0\0\0\x16\0\0\0\0\0\0\0\x04\0\0\0C251\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
   strcpy(Guid,"\\.\usb#vid_c251&pid_1a01#0001a0000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}");
   HUSB=CreateFile(Guid  , GENERIC_READ |GENERIC_WRITE,
                          0, NULL, OPEN_EXISTING, 0, NULL);
   if(HUSB == INVALID_HANDLE_VALUE)   Memo->Lines->Add("Erreur Creation Handle");
   else
      {
       Memo->Lines->Add("Creation Handle OK");
 
       CloseHandle( HUSB );
      }
   }
 else Memo->Lines->Add("Device non trouvé");
} | 
 Le Guid de base est :
	
	for(int R=0;R<256;R++) Guid[R]=detail->DevicePath[R];
 La convertion adéquate se fait par strcpy....problème unicode...
PS: ShaiLeTrollJe prends bien note de tes remarques, mais j'essaie de faire fonctionner le code en premier.
Effectivement, c'est du Borland C++ 5.0 builder pour etre précis.
Il me reste ce fameux DeviceIoControl à faire fonctionner.
 Merci.
						
					
Partager