Skip to content

WindowsApi:COMMTIMEOUTS

Syntax

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

Properties

ReadIntervalTimeout
1Byte와 1Byte, 즉 두 바이트 사이의 인터벌 타임아웃을 지정한다. 이 값이 0일 경우 타이머를 사용하지 않는다.
ReadTotalTimeoutMultiplier
전체 Read에 해당하는 Timeout 계수. 이 값은 Read를 요청한 Byte수치에 곱해진다.
ReadTotalTimeoutConstant
전체 Read에 해당하는 Timeout 상수. 이 값은 Read에 적용되는 Timeout에 기본적으로 적용되는 최소 Timeout 수치이다.
WriteTotalTimeoutMultiplier
전체 Write에 해당하는 Timeout 계수. 이 값은 Write를 요청한 Byte수치에 곱해진다.
WriteTotalTimeoutConstant
전체 Write에 해당하는 Timeout 상수. 이 값은 Write에 적용되는 Timeout에 기본적으로 적용되는 최소 Timeout 수치이다.

Timeout 수치 계산 방법

Read를 요청할 경우 n Byte를 요청할 경우 전체 Read에 적용되는 Timeout 수치는 아래와 같다.

Total Timeout = ReadTotalTimeoutConstant + (ReadTotalTimeoutMultiplier * n);

즉시반환 방법

아래와 같이 값이 설정되어있을 경우 수신된 데이터가 없더라도 즉시 반환한다.

ReadIntervalTimeout = MAXDWORD;
ReadTotalTimeoutMultiplier = 0;
ReadTotalTimeoutConstant = 0;

See also

Favorite site