Поделиться через


структура 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

См. также раздел

IOCTL_SERIAL_GET_COMMSTATUS

IOCTL_SERIAL_IMMEDIATE_CHAR