структура 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. |
УдержаниеReasons равно нулю, если последовательный порт не имеет причины прекратить передачу байтов.
AmountInInQueue
Количество байтов данных, полученных из последовательного порта, доступных для чтения из входного буфера.
AmountInOutQueue
Количество байтов передаваемых данных, ожидающих записи из выходного буфера в последовательный порт.
EofReceived
Получен ли символ EOF (конец файла). Этот член TRUE, если EOF был получен. В противном случае FALSE. Символ EOF помечает конец входного потока.
WaitForImmediate
Ожидает ли последовательный порт передачи немедленного символа. Этот элемент TRUE, если последовательный порт ожидает передачи немедленного символа. В противном случае FALSE. Передача немедленного символа может быть отложена, если любой флаг, отличный от SERIAL_TX_WAITING_FOR_XON, установлен в элементе HoldReasons. Дополнительные сведения о немедленных символах см. в IOCTL_SERIAL_IMMEDIATE_CHAR.
Замечания
Эта структура используется запросом IOCTL_SERIAL_GET_COMMSTATUS.
Требования
Требование | Ценность |
---|---|
заголовка | ntddser.h |