Readfile

Résolu
anthonycosson Messages postés 106 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 20 novembre 2009 - 11 mai 2006 à 14:37
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 12 mai 2006 à 00:55
salut a toous

jai un readfile avec un timeout de 20secondes, jaimerai qu'il arrete de lire lorsqu'il a ressu les données, meme si les 20secondes ne son pa ecoulé comment faire? merci !

3 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
11 mai 2006 à 16:38
DWORD ReadIntervalTimeout; -> 0xffffffff
DWORD ReadTotalTimeoutMultiplier; 0xffffffff
DWORD ReadTotalTimeoutConstant; -> 20000 attend 20 s le 1er caractère
DWORD WriteTotalTimeoutMultiplier; 0
DWORD WriteTotalTimeoutConstant; 0


If an application sets ReadIntervalTimeout and ReadTotalTimeoutMultiplier to MAXDWORD and sets ReadTotalTimeoutConstant to a value greater than zero and less than MAXDWORD, one of the following occurs when the ReadFile function is called:

<LI>If there are characters in the input buffer, ReadFile returns immediately with the characters in the buffer.
<LI>If there are no characters in the input buffer, ReadFile waits until a character arrives and then returns immediately.
<LI>If no characters arrive within the time specified by ReadTotalTimeoutConstant, ReadFile times out. </LI>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecoreos5/html/wce50lrfcommtimeouts.asp
3
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
12 mai 2006 à 00:55
BYTE buf[1024];
ReadFile(h, buf, 1024, &dw, NULL);

avec les commtimeouts spécifié, cela va attendre au mx 20s le premier caractère et ensuite lire tout ce qui est reçu après. tu peux également ajouté un petit dlai de qq ms d'attente entre chaqe byte si des bytes ne se suive pas exactement (ReadIntervalTimeout donne le tps à attendre entre 2 bytes après le premier).
3
anthonycosson Messages postés 106 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 20 novembre 2009
11 mai 2006 à 23:36
oui mais la je ne recupere que le premier caractere recu moi je voudrai une serie ke fairez ?
0
Rejoignez-nous