COMMTIMEOUTS 구조체(winbase.h)
통신 디바이스에 대한 제한 시간 매개 변수를 포함합니다. 매개 변수는 디바이스에서 ReadFile, WriteFile, ReadFileEx 및 WriteFileEx 작업의 동작을 결정합니다.
구문
typedef struct _COMMTIMEOUTS {
DWORD ReadIntervalTimeout;
DWORD ReadTotalTimeoutMultiplier;
DWORD ReadTotalTimeoutConstant;
DWORD WriteTotalTimeoutMultiplier;
DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS, *LPCOMMTIMEOUTS;
멤버
ReadIntervalTimeout
통신 라인에 다음 바이트가 도착하기 전에 허용되는 최대 시간(밀리초)입니다. 두 바이트의 도착 사이의 간격이 이 양을 초과하면 ReadFile 작업이 완료되고 버퍼링된 데이터가 반환됩니다. 값이 0이면 간격 제한 시간이 사용되지 않음을 나타냅니다.
READTotalTimeoutConstant 및 ReadTotalTimeoutMultiplier 멤버 모두에 대해 0 값과 결합된 MAXDWORD 값은 바이트가 수신되지 않은 경우에도 이미 수신된 바이트를 사용하여 읽기 작업을 즉시 반환하도록 지정합니다.
ReadTotalTimeoutMultiplier
읽기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 승수입니다. 각 읽기 작업에 대해 이 값은 읽을 요청된 바이트 수를 곱합니다.
ReadTotalTimeoutConstant
읽기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 상수입니다. 각 읽기 작업에 대해 이 값은 ReadTotalTimeoutMultiplier 멤버의 곱과 요청된 바이트 수에 추가됩니다.
ReadTotalTimeoutMultiplier 및 ReadTotalTimeoutConstant 멤버 모두에 대한 값이 0이면 총 시간 제한이 읽기 작업에 사용되지 않음을 나타냅니다.
WriteTotalTimeoutMultiplier
쓰기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 승수입니다. 각 쓰기 작업에 대해 이 값은 쓸 바이트 수를 곱합니다.
WriteTotalTimeoutConstant
쓰기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 상수입니다. 각 쓰기 작업에 대해 이 값은 WriteTotalTimeoutMultiplier 멤버의 곱과 쓸 바이트 수에 추가됩니다.
WriteTotalTimeoutMultiplier 및 WriteTotalTimeoutConstant 멤버 모두에 대한 값이 0이면 총 시간 제한이 쓰기 작업에 사용되지 않음을 나타냅니다.
설명
애플리케이션 이 ReadIntervalTimeout 및 ReadTotalTimeoutMultiplier 를 MAXDWORD 로 설정하고 ReadTotalTimeoutConstant 를 0보다 크고 MAXDWORD보다 작은 값으로 설정하는 경우 ReadFile 함수가 호출되면 다음 중 하나가 발생합니다.
- 입력 버퍼에 바이트가 있는 경우 ReadFile 은 버퍼의 바이트와 함께 즉시 반환됩니다.
- 입력 버퍼에 바이트가 없는 경우 ReadFile 은 바이트가 도착할 때까지 기다렸다가 즉시 반환합니다.
- ReadTotalTimeoutConstant에 지정된 시간 내에 바이트가 도착하지 않으면 ReadFile 시간이 초과됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
머리글 | winbase.h(Windows.h 포함) |