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


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

См. также

IOCTL_SERIAL_GET_COMMSTATUS

IOCTL_SERIAL_IMMEDIATE_CHAR