bonjour,
j'essaye de faire communiquer un periphérique avec connectique bluetooth et usb (je me sers des 2). j'arrive à établir une communication du périphérique vers une application PC mais je n'arrive pas à envoyer des informations vers ce periphérique.
mon environnement de developpement est windows XP, j'utilise donc les fonctions createFile pour récupérer un Handle vers mon port com ou mon port usb, readFile pour recevoir des données (dans ce sens, la communication marche), et writeFile pour ecrire vers le périphérique sauf que writeFile echoue et getLastError() me renvoie une erreur de type 87 (à savoir : INVALIDE_PARAMETER)
mon appel à la fonction writeFile est le suivant :
avec : handle mon handle vers mon port (il doit etre bon car je peux je peux faire un readFile avec ce handle là)
Code : Sélectionner tout - Visualiser dans une fenêtre à part bool success=WriteFile(handle,data,64,&nbWritten,NULL);
data un tableau de BYTE de taille 64
nbWritten un pointeur vers un DWORD
mon tableau data semble être initialisé correctement.
D'où peut donc bien venir cette erreur 87 ???![]()
![]()
![]()
![]()
extrait de code :
Kendra533
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 .... .... BYTE dataToSend[64]; DWORD nbWritten; dataToSend[0] = 16 ; for(int i=1; i<=63;i++){ dataToSend[i]=0; } .... .... handle = CreateFile(FunctionClassDeviceData.DevicePath,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL); if(handle != INVALID_HANDLE_VALUE) { success=WriteFile(handle,dataToSend,64,&nbWritten,NULL); if(!success){ std::cout<<"Erreur numéro "<<GetLastError()<< std::endl; } }
Partager