Структура 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) |