API / MFC/Serial Communications

COMMTIMEOUTS Structure

행복하면 2010. 3. 31. 17:15

이 구조체는 SetCommTimeouts와 GetCommTimeouts 함수에서 사용되고 통신 장치의 타임아웃 매개변수가 들어 있음
이 매개변수는 장치의 ReadFile와 WriteFile 함수 작업의 행동을 결정함

typedef struct _COMMTIMEOUTS { 
DWORD ReadIntervalTimeout; 
DWORD ReadTotalTimeoutMultiplier; 
DWORD ReadTotalTimeoutConstant; 
DWORD WriteTotalTimeoutMultiplier; 
DWORD WriteTotalTimeoutConstant; 
} COMMTIMEOUTS,*LPCOMMTIMEOUTS;

ReadIntervalTimeout
    - 통신라인에 한 문자를 수신 한 후 다음 문자를 수신할 때까지 걸리는 최대허용시간 지정(밀리초 단위)
    - ReadFile 작업 동안 첫번째 문자를 받은 후 시간이 시작됨
    - 시간이 초과되면 ReadFile 함수는 완료되며, 버퍼의 데이터는 반환됨
    - 0 값이면 time-outs을 사용하지 않음


ReadTotalTimeoutMultiplier
    - 읽기 작업을 위한 토탈 타임아웃 시간을 계산하기 위해 밀리초 단위의 곱하기 계수 지정
    - 각각의 읽기 작업은 요청한 읽을 바이트 수만큼이 이 값이 곱이 됨


ReadTotalTimeoutConstant
    - 읽기 작업을 위한 토탈 타임 아웃 시간을 계산하기 위해 밀리초 단위의 정수 지정
    - 각각의 읽기 작업은 요청된 바이트 수와 ReadTotalTimeoutMultiplier 맴버의 곱을 더한 값이 됨
    - ReadTotalTimeoutMultiplier와 ReadTotalTimeoutConstant 맴버의 값을 0으로  설정을 하면
       ReadFile에 타임아웃을 설정하지 않음


WriteTotalTimeoutMultiplier
    - 쓰기 작업을 위한 토탈 타임아웃 시간을 계산하기 위해 밀리초 단위의 곱하기 계수 지정
    - 각각의 쓰기 작업은 쓴 바이트 수만큼이 이 값이 곱이 됨


WriteTotalTimeoutConstant
    - 쓰기 작업을 위한 토탈 타임 아웃 시간을 계산하기 위해 밀리초 단위의 정수 지정
    - 각각의 쓰기 작업은 쓴 바이트 수와 WriteTotalTimeoutMultiplier 맴버의 곱을 더한 값이 됨
    - WriteTotalTimeoutMultiplier와 WriteTotalTimeoutConstant 맴버의 값을 0으로 설정 하면
       WriteFile에 타임 아웃을 설정하지 않음



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