Структура COMMTIMEOUTS (winbase.h)

Содержит параметры времени ожидания для устройства связи. Параметры определяют поведение операций ReadFile, WriteFile, ReadFileEx и WriteFileEx на устройстве.

Синтаксис

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

Члены

ReadIntervalTimeout

Максимальное время, необходимое для истечения до поступления следующего байта на линии связи, в миллисекундах. Если интервал между поступлением любых двух байтов превышает этот объем, операция ReadFile завершается и возвращаются все буферизируемые данные. Нулевое значение указывает, что интервалы времени ожидания не используются.

Значение MAXDWORD в сочетании с нулевыми значениями для элементов ReadTotalTimeoutConstant и ReadTotalTimeoutMultiplier указывает, что операция чтения возвращается немедленно с уже полученными байтами, даже если байты не были получены.

ReadTotalTimeoutMultiplier

Множитель, используемый для вычисления общего периода ожидания для операций чтения в миллисекундах. Для каждой операции чтения это значение умножается на требуемое число байтов для чтения.

ReadTotalTimeoutConstant

Константа, используемая для вычисления общего периода времени ожидания для операций чтения в миллисекундах. Для каждой операции чтения это значение добавляется к произведению элемента ReadTotalTimeoutMultiplier и запрашиваемому количеству байтов.

Нулевое значение для элементов ReadTotalTimeoutMultiplier и ReadTotalTimeoutConstant указывает, что общее время ожидания не используется для операций чтения.

WriteTotalTimeoutMultiplier

Множитель, используемый для вычисления общего периода ожидания для операций записи в миллисекундах. Для каждой операции записи это значение умножается на количество записываемых байтов.

WriteTotalTimeoutConstant

Константа, используемая для вычисления общего периода ожидания для операций записи в миллисекундах. Для каждой операции записи это значение добавляется к произведению элемента WriteTotalTimeoutMultiplier и количеству записываемых байтов.

Нулевое значение для элементов WriteTotalTimeoutMultiplier и WriteTotalTimeoutConstant указывает, что общее время ожидания не используется для операций записи.

Комментарии

Если приложение устанавливает для параметра ReadIntervalTimeout и ReadTotalTimeoutMultiplier значение MAXDWORD , а для параметра ReadTotalTimeoutConstant задано значение больше нуля и меньше MAXDWORD, при вызове функции ReadFile происходит одно из следующих действий:

  • Если во входном буфере есть какие-либо байты, ReadFile немедленно возвращает байты в буфере.
  • Если во входном буфере нет байтов, ReadFile ожидает поступления байта, а затем немедленно возвращается.
  • Если в течение времени, указанного параметром ReadTotalTimeoutConstant, байт не поступает, время ожидания ReadFile истекает.

Требования

   
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Верхняя часть winbase.h (включая Windows.h)

См. также раздел

GetCommTimeouts

ReadFile

ReadFileEx

SetCommTimeouts

WriteFile

WriteFileEx