Problem mit Windows Struktur lpStat
Übersicht

![]() |
EPSBetreff: Problem mit Windows Struktur lpStat |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi zusammen.
ich bin gerade dabei ein paar Funktionen zu schreiben um über die serielle Schnnittstelle zu kommunizieren. Die Kommunikation klappt auch, nur hab ich ein Problem bei der Abfrage wieviele Bytes noch im Sende- bzw. Empfangspuffer sind. Die MSDN gibt hierzu die Funktion ClearCommError() vor. Mit dieser wird die Struktur lpStat übergeben und gefüllt. Hier mal die Struktur: Code: [AUSKLAPPEN] typedef struct _COMSTAT {
DWORD fCtsHold :1; DWORD fDsrHold :1; DWORD fRlsdHold :1; DWORD fXoffHold :1; DWORD fXoffSent :1; DWORD fEof :1; DWORD fTxim :1; DWORD fReserved :25; DWORD cbInQue; DWORD cbOutQue; } COMSTAT, *LPCOMSTAT; Die letzten beiden DWORD's sind die noch übrigen Bytes im Empfangs- bzw. Sendepuffer. Wenn ich nicht totald behämmert bin heißt DWORD ja 4 Bytes. Dennoch sind diese beiden Werte immer 0, ganz egal ob was gesendet oder empfangen wird. Stattdessen kann ich in den ersten beiden diese Werte auslesen, also in fCtsHold und fDsrHold. Hat jemand zufällig ne Ahnung wo da mein Denkfehler liegt - oder ist gar die MSDN falsch? |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, nach 4h suchen hab ich es nun selbst heraus gefunden. Die simple Antwort lautet: Bei der Struktur handelt es sich um gerade einmal 3 DWORD's. Im ersten sind die genannten FLAGS mit jeweils 1Bit untergrbracht (ausser Reserved mit 25 Bit), DWORD 2 & 3 sind dann die Ques - und schon passt alles....Mann o Mann - da hätte ich aber auch mel eher was drauf kommen können tun... ![]() |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group