C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[24456] [질문] WaitCommEvent() 함수와 관련하여..
김대곤 [nupo] 2238 읽음    2003-02-24 12:15
RS-232 통신 프로그램을 짜던중에 의문사항이 생겼습니다.

우선 대략적인 루틴을 말하자면 포트를 열때는 Overlapped로 열었고

Thread내에서 WaitCommEvent()를 사용하여 RXCHAR 이벤트를 기다립니다.

  //---------------------------------------------------
  WaitCommEvent(hComm, &dwEventMask, &os);
  ... 생략
  GetOverlappedResult(hComm, &os, &dwNumber, TRUE);
  //---------------------------------------------------
 
대충 이런식으로 짰는데 Windows2000이나 XP의 경우에 RX Event가 발생안해도

Event가 발생했다고 알려주는 경우가 생깁니다.

ClearCommError()를 이용하여 cbInque값을 조사하여 보면 버퍼사이즈는 0으로 나옵니다.

이럴경우 Read 행정으로 넘어가지 않고 그냥 건너띄도록해서 일단 정상적으로 작동은

가능하도록 해 놓았는데, 왜 이런 현상이 일어나는지가 궁금합니다.

아무리 찾아봐도 원인을 알수가 없네요.. 아시는분은 꼭좀 알려주세요~





+ -

관련 글 리스트
24456 [질문] WaitCommEvent() 함수와 관련하여.. 김대곤 2238 2003/02/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.