структура SERIAL_STATUS (ntddser.h)
Структура SERIAL_STATUS содержит сведения о состоянии последовательного порта.
Синтаксис
typedef struct _SERIAL_STATUS {
ULONG Errors;
ULONG HoldReasons;
ULONG AmountInInQueue;
ULONG AmountInOutQueue;
BOOLEAN EofReceived;
BOOLEAN WaitForImmediate;
} SERIAL_STATUS, *PSERIAL_STATUS;
Члены
Errors
Набор флагов для указания ошибок получения, возникших во входном потоке. Для этого элемента задано значение ноль или побитовое ИЛИ одного или нескольких следующих битов флага.
Имя флага | Значение |
---|---|
SERIAL_ERROR_QUEUEOVERRUN | Внутренний входной буфер драйвера последовательного контроллера был переполнен данными, полученными из входного потока. Либо входной буфер заполнен, либо символ был получен после символа EOF (конца файла). |
SERIAL_ERROR_OVERRUN | Аппаратное получение FIFO было переполнено данными, полученными из входного потока. |
SERIAL_ERROR_BREAK | В строке ввода произошло условие прерывания. |
SERIAL_ERROR_PARITY | Обнаружена ошибка четности в байте, полученном из входного потока. |
SERIAL_ERROR_FRAMING | Обнаружена ошибка кадрирования в байтах, полученных из входного потока. |
После того как драйвер последовательного контроллера предоставляет накопленные флаги SERIAL_ERROR_XXX для удовлетворения запроса IOCTL_SERIAL_GET_COMMSTATUS , драйвер сбрасывает флаги до нуля.
HoldReasons
Набор флагов, указывающих причины, по которым последовательный порт в настоящее время ожидает передачи байтов в поток вывода. Для этого элемента задано значение ноль или побитовое ИЛИ одного или нескольких следующих битов флага.
Имя флага | Значение |
---|---|
SERIAL_TX_WAITING_FOR_CTS | Ожидание сигнала CTS (очистить для отправки). |
SERIAL_TX_WAITING_FOR_DSR | Ожидание сигнала DSR (набор данных готов). |
SERIAL_TX_WAITING_FOR_DCD | Ожидание сигнала DCD (обнаружение носителя данных). |
SERIAL_TX_WAITING_FOR_XON | Ожидание сигнала XON (передачи) |
SERIAL_TX_WAITING_ON_BREAK | Отправка сигнала разрыва (значения интервала). |
SERIAL_TX_WAITING_XOFF_SENT | Отправлен сигнал XOFF (передача выкл.). Этот сигнал отмечает конец передачи с последовательного порта, который затем ожидает, пока устройство на другом конце линии начнет передачу. Другое устройство получает переданный сигнал XOFF в качестве сигнала XON. |
Значение HoldReasons равно нулю, если последовательный порт не имеет причин для остановки передачи байтов.
AmountInInQueue
Количество байтов данных, полученных из последовательного порта, которые в настоящее время доступны для чтения из входного буфера.
AmountInOutQueue
Количество байтов передаваемых данных, которые в настоящее время ожидают записи из выходного буфера на последовательный порт.
EofReceived
Был ли получен символ EOF (конец файла). Этот элемент имеет значение TRUE , если был получен EOF. В противном случае — FALSE. Символ EOF отмечает конец входного потока.
WaitForImmediate
Указывает, ожидает ли последовательный порт передачи немедленного символа. Этот элемент имеет значение TRUE , если последовательный порт ожидает передачи немедленного символа. В противном случае — FALSE. Передача немедленного символа может быть отложена, если в элементе HoldReasons установлен какой-либо бит флага, отличный от SERIAL_TX_WAITING_FOR_XON. Дополнительные сведения о непосредственных символах см. в разделе IOCTL_SERIAL_IMMEDIATE_CHAR.
Комментарии
Эта структура используется запросом IOCTL_SERIAL_GET_COMMSTATUS .
Требования
Требование | Значение |
---|---|
Заголовок | ntddser.h |