структура 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 (терминал данных готов) включен. |
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 | Автоматически чередуйте пустые символы из полученных данных. |
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 |