다음을 통해 공유


COMMTIMEOUTS 구조체(winbase.h)

통신 디바이스에 대한 제한 시간 매개 변수를 포함합니다. 매개 변수는 디바이스에서 ReadFile, WriteFile, ReadFileExWriteFileEx 작업의 동작을 결정합니다.

구문

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

멤버

ReadIntervalTimeout

통신 라인에 다음 바이트가 도착하기 전에 허용되는 최대 시간(밀리초)입니다. 두 바이트의 도착 사이의 간격이 이 양을 초과하면 ReadFile 작업이 완료되고 버퍼링된 데이터가 반환됩니다. 값이 0이면 간격 제한 시간이 사용되지 않음을 나타냅니다.

READTotalTimeoutConstantReadTotalTimeoutMultiplier 멤버 모두에 대해 0 값과 결합된 MAXDWORD 값은 바이트가 수신되지 않은 경우에도 이미 수신된 바이트를 사용하여 읽기 작업을 즉시 반환하도록 지정합니다.

ReadTotalTimeoutMultiplier

읽기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 승수입니다. 각 읽기 작업에 대해 이 값은 읽을 요청된 바이트 수를 곱합니다.

ReadTotalTimeoutConstant

읽기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 상수입니다. 각 읽기 작업에 대해 이 값은 ReadTotalTimeoutMultiplier 멤버의 곱과 요청된 바이트 수에 추가됩니다.

ReadTotalTimeoutMultiplierReadTotalTimeoutConstant 멤버 모두에 대한 값이 0이면 총 시간 제한이 읽기 작업에 사용되지 않음을 나타냅니다.

WriteTotalTimeoutMultiplier

쓰기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 승수입니다. 각 쓰기 작업에 대해 이 값은 쓸 바이트 수를 곱합니다.

WriteTotalTimeoutConstant

쓰기 작업의 총 제한 시간(밀리초)을 계산하는 데 사용되는 상수입니다. 각 쓰기 작업에 대해 이 값은 WriteTotalTimeoutMultiplier 멤버의 곱과 쓸 바이트 수에 추가됩니다.

WriteTotalTimeoutMultiplierWriteTotalTimeoutConstant 멤버 모두에 대한 값이 0이면 총 시간 제한이 쓰기 작업에 사용되지 않음을 나타냅니다.

설명

애플리케이션 이 ReadIntervalTimeoutReadTotalTimeoutMultiplierMAXDWORD 로 설정하고 ReadTotalTimeoutConstant 를 0보다 크고 MAXDWORD보다 작은 값으로 설정하는 경우 ReadFile 함수가 호출되면 다음 중 하나가 발생합니다.

  • 입력 버퍼에 바이트가 있는 경우 ReadFile 은 버퍼의 바이트와 함께 즉시 반환됩니다.
  • 입력 버퍼에 바이트가 없는 경우 ReadFile 은 바이트가 도착할 때까지 기다렸다가 즉시 반환합니다.
  • ReadTotalTimeoutConstant에 지정된 시간 내에 바이트가 도착하지 않으면 ReadFile 시간이 초과됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows XP
지원되는 최소 서버 Windows Server 2003
머리글 winbase.h(Windows.h 포함)

추가 정보

GetCommTimeouts

ReadFile

ReadFileEx

SetCommTimeouts

WriteFile

WriteFileEx