logo
ВСІ ВІДПОВІДІ Dimka

84. Склад структури commtimeouts

Вона визначає параметри тимчасових затримок при прийомі-передачі. Ось опис цієї структури: typedef struct _COMMTIMEOUTS { DWORD ReadIntervalTimeout; DWORD ReadTotalTimeoutMultiplier; DWORD ReadTotalTimeoutConstant; DWORD WriteTotalTimeoutMultiplier; DWORD WriteTotalTimeoutConstant; } COMMTIMEOUTS, * LPCOMMTIMEOUTS; Поля структури COMMTIMEOUTS мають таке значення: ReadIntervalTimeout - максимальне часовий проміжок (в мілісекундах), допустимий між двома зчитуються з комунікаційної лінії послідовними символами. Під час операції читання часовий період починає відраховуватися з моменту прийому першого символу. Якщо інтервал між двома послідовними символами перевищить задане значення, операція читання завершується і всі дані, накопичені в буфері, передаються в програму. Нульове значення даного поля означає, що даний тайм-аут не використовується. ReadTotalTimeoutMultiplier - задає множник (в мілісекундах), який використовується для обчислення загального тайм-ауту операції читання. Для кожної операції читання дане значення множиться на кількість запитаних для читання символів. ReadTotalTimeoutConstant - задає константу (в мілісекундах), використовувану для обчислення загального тайм-ауту операції читання. Для кожної операції читання дане значення плюсується до результату множення ReadTotalTimeoutMultiplier на кількість запитаних для читання символів. Нульове значення полів ReadTotalTimeoutMultiplier і ReadTotalTimeoutConstant означає, що загальний тайм-аут для операції читання не використовується. WriteTotalTimeoutMultiplier - задає множник (в мілісекундах), який використовується для обчислення загального тайм-ауту операції запису. Для кожної операції запису дане значення множиться на кількість записуваних символів. WriteTotalTimeoutConstant - задає константу (в мілісекундах), використовувану для обчислення загального тайм-ауту операції запису. Для кожної операції запису дане значення додається до результату множення WriteTotalTimeoutMultiplier на кількість записуваних символів. Нульове значення полів WriteTotalTimeoutMultiplier і WriteTotalTimeoutConstant означає, що загальний тайм-аут для операції запису не використовується.