структура SERIAL_HANDFLOW (ntddser.h)
Структура SERIAL_HANDFLOW задает параметры подтверждения и управления потоком для последовательного порта.
Синтаксис
typedef struct _SERIAL_HANDFLOW {
ULONG ControlHandShake;
ULONG FlowReplace;
LONG XonLimit;
LONG XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
Члены
ControlHandShake
Битовая маска, указывающая управляющие линии, которые последовательный порт использует для управления потоком. Для этого элемента задано значение ноль или побитовое или одно или несколько следующих флагов.
Значение | Описание |
---|---|
SERIAL_DTR_CONTROL | DTR (data terminal ready) включен. |
SERIAL_DTR_HANDSHAKE | DTR используется для управления входным потоком. |
SERIAL_CTS_HANDSHAKE | ДЛЯ управления потоком вывода используется CTS (очистить для отправки). |
SERIAL_DSR_HANDSHAKE | DSR (набор данных готов) используется для управления потоком вывода. |
SERIAL_DCD_HANDSHAKE | DCD (обнаружение носителя данных) используется для управления потоком вывода. |
SERIAL_DSR_SENSITIVITY | Игнорируйте символы, поступающие на последовательный порт, если строка DSR неактивна. |
SERIAL_ERROR_ABORT | Прерывание операции передачи или получения при возникновении ошибки. |
SerCx2 поддерживает флаг SERIAL_CTS_HANDSHAKE и может не поддерживать другие шесть флагов, определенных для этого элемента, в зависимости от драйвера последовательного контроллера и возможностей оборудования последовательного контроллера. SerCx поддерживает только первые четыре флага в предыдущей таблице. Serial.sys поддерживает все флаги из предыдущей таблицы.
FlowReplace
Битовая маска, задающая поведение управления потоком. Для этого элемента задано значение ноль или побитовое или одно или несколько следующих флагов.
Значение | Описание |
---|---|
SERIAL_AUTO_TRANSMIT | Используйте XON/XOFF для управления потоком передаваемых данных. |
SERIAL_AUTO_RECEIVE | Используйте XON/XOFF для управления потоком полученных данных. |
SERIAL_ERROR_CHAR | Вставьте символ ошибки в полученные данные при возникновении ошибки. Дополнительные сведения см. в описании элемента ErrorChar в SERIAL_CHARS. |
SERIAL_NULL_STRIPPING | Автоматическое удаление символов NULL из полученных данных. |
SERIAL_BREAK_CHAR | Вставьте символ разрыва в полученные данные при возникновении прерывания. Дополнительные сведения см. в описании элемента BreakChar в SERIAL_CHARS. |
SERIAL_RTS_CONTROL | RtS (запрос на отправку) включен. |
SERIAL_RTS_HANDSHAKE | RTS используется для управления потоком вывода. |
SERIAL_XOFF_CONTINUE | Продолжить передачу после отправки XOFF на устройство на другом конце строки. |
SerCx2 поддерживает флаги SERIAL_RTS_CONTROL и SERIAL_RTS_HANDSHAKE, но обычно не поддерживает другие шесть флагов, определенных для этого элемента, в зависимости от драйвера последовательного контроллера и возможностей оборудования последовательного контроллера. SerCx поддерживает только флаги SERIAL_RTS_CONTROL и SERIAL_RTS_HANDSHAKE. Serial.sys поддерживает все флаги из предыдущей таблицы.
XonLimit
Ограничение XON. Когда количество символов во внутреннем буфере приема падает ниже предела XON, драйвер последовательного контроллера использует сигналы управления потоком, чтобы сообщить отправителю о возобновлении отправки символов.
XoffLimit
Ограничение XOFF. Когда количество символов во внутреннем буфере приема достигает предела XOFF, драйвер последовательного контроллера использует сигналы управления потоком, чтобы сообщить отправителю прекратить отправку символов.
Комментарии
Эта структура используется запросами IOCTL_SERIAL_GET_HANDFLOW и IOCTL_SERIAL_SET_HANDFLOW .
После отправки символа XOFF (передачи выключения) последовательный порт немедленно прекращает передачу без отправки дополнительных символов. Это поведение поддерживает последовательные порты, которые интерпретируют любой символ, следующий за XOFF, как подразумеваемый XON (передается в).
SerCx2 и SerCx поддерживают только подмножества флагов, определенных для элементов ControlHandShake и FlowControl . Запрос IOCTL_SERIAL_SET_HANDFLOW , указывающий неподдерживаемый флаг, завершается STATUS_NOT_IMPLEMENTED.
Требования
Требование | Значение |
---|---|
Заголовок | ntddser.h |