COM-Port GetOverlappedResult()

Gast #1996408
Lesenswert?

Hi,

wenn über einen virtuellen Com-Port weniger Daten übertragen werden als 
im Readfile() angegeben worden ist (mit Overlapped Event), wird dann 
GetOverlappedResult() trotzdem ausgelöst, nur dass dann natürlich 
weniger Daten zur Verfügung stehen, oder wartet GetOverlappedResult() 
wirklich bis die angegebene Byteanzahl auch ankommt?

//hab mal den code schematisch dargestellt:
1
#define MAX_BUFFER_SIZE  200
2
BYTE buffer[MAX_BUFFER_SIZE];
3

4
BOOL ok = ::ReadFile(hCom, buffer, MAX_BUFFER_SIZE - 1, &bytesRead, &ovl);
5

6
DWORD result = ::WaitForMultipleObjects();
7

8
ok = ::GetOverlappedResult(hCom, &ovl, &bytesRead, TRUE);

Gruß
Jens

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren