Readfile [Résolu]

Signaler
Messages postés
106
Date d'inscription
mercredi 30 mars 2005
Statut
Membre
Dernière intervention
20 novembre 2009
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
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

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
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
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
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).
Messages postés
106
Date d'inscription
mercredi 30 mars 2005
Statut
Membre
Dernière intervention
20 novembre 2009

oui mais la je ne recupere que le premier caractere recu moi je voudrai une serie ke fairez ?