API / MFC/Serial Communications

SetCommMask & GetCommMask Function

행복하면 2010. 3. 31. 10:36

SetCommMask Function

통신 장치의 어떤 이벤트들을 감시할 것인지 지정

BOOL SetCommMask(
HANDLE hFile, 
DWORD dwEvtMask
); 

hFile
   통신 장치의 핸들, CreateFile 함수에서 리턴된 핸들

dwEvtMask
   활성화 할 이벤트 지정.
   변수 값을 0을 주면 모든 이벤트를 비활성화.
   이 파라미터는 다음 이벤트들 중에서 하나이상을 가질 수 있음
        ┃
        ┣> EV_BREAK
        ┃         ┗ 입력에서 브레이크 검색
        ┃
        ┣> EV_CTS
        ┃         ┗ CTS (clear-to-send)신호 상태 전환
        ┃
        ┣> EV_DSR
        ┃         ┗ DSR (data-set-ready)신호 상태 전환
        ┃
        ┣> EV_ERR
        ┃         ┗ 라인상태 에러 발생
        ┃            라인상태 에러 : CE_FRAME, CE_OVERRUN, and CE_RXPARITY
        ┃
        ┣> EV_RING
        ┃         ┗ 전화벨 신호가 감지
        ┃
        ┣> EV_RLSD
        ┃         ┗ RLSD(reveive-line-signal-detect 수신선 신호 검색됨)상태 가 변경
        ┃
        ┣> EV_RXCHAR
        ┃         ┗ 새로운 문자가 수신되어 입력 버퍼에 있음
        ┃
        ┣> EV_RXFLAG
        ┃         ┗ 이벤트 문자가 수신되어 입력 버퍼에 있음
        ┃
        ┗> EV_TXEMPTY
                   ┗ 송신버퍼에 마지막 문자가 전송 됨




GetCommMask Function

지정된 통신장치의 이벤트 마스크의 변수를 받음

BOOL GetCommMask(
HANDLE hFile, 
LPDWORD lpEvtMask
); 

hFile [in]
   통신 장치의 핸들, CreateFile 함수에서 리턴된 핸들

lpEvtMask [out]
   현재 활성화 되어 있는 이벤트의 마스크를 받는 변수에 대한 포인터
   이 파라미터는 다음 이벤트들 중에서 하나이상을 가질 수 있음
        ┃
        ┣> EV_BREAK
        ┃         ┗ 입력에서 브레이크 검색
        ┃
        ┣> EV_CTS
        ┃         ┗ CTS (clear-to-send)신호 상태 전환
        ┃
        ┣> EV_DSR
        ┃         ┗ DSR (data-set-ready)신호 상태 전환
        ┃
        ┣> EV_ERR
        ┃         ┗ 라인상태 에러 발생
        ┃            라인상태 에러 : CE_FRAME, CE_OVERRUN, and CE_RXPARITY
        ┃
        ┣> EV_RING
        ┃         ┗ 전화벨 신호가 감지
        ┃
        ┣> EV_RLSD
        ┃         ┗ RLSD(reveive-line-signal-detect 수신선 신호 검색됨)상태 가 변경
        ┃
        ┣> EV_RXCHAR
        ┃         ┗ 새로운 문자가 수신되어 입력 버퍼에 있음
        ┃
        ┣> EV_RXFLAG
        ┃         ┗ 이벤트 문자가 수신되어 입력 버퍼에 있음
        ┃
        ┗> EV_TXEMPTY
                   ┗ 송신버퍼에 마지막 문자가 전송 됨




참조 :
http://msdn.microsoft.com/en-us/library/aa363257(VS.85).aspx
        http://msdn.microsoft.com/en-us/library/aa363435(VS.85).aspx