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
一组标志,用于指示输入流中发生的接收错误。 此成员设置为零或设置为以下一个或多个标志位的按位 OR。
标志名称 | 含义 |
---|---|
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
一组标志,用于指示串行端口当前正在等待将字节传输到输出流的原因。 此成员设置为零或设置为以下一个或多个标志位的按位 OR。
标志名称 | 含义 |
---|---|
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 (传输) 信号。 此信号标记串行端口的传输结束,然后串行端口将等待线路另一端的设备开始传输。 另一台设备接收作为 XON 信号传输的 XOFF 信号。 |
如果串行端口没有理由停止传输字节,则 HoldReasons 为零。
AmountInInQueue
从串行端口接收的、当前可从输入缓冲区读取的数据的字节数。
AmountInOutQueue
当前等待从输出缓冲区写入串行端口的传输数据的字节数。
EofReceived
是否已收到 EOF (文件末尾) 字符。 如果已收到 EOF,则此成员为 TRUE 。 否则为 FALSE。 EOF 字符标记输入流的末尾。
WaitForImmediate
串行端口是否正在等待传输即时字符。 如果串行端口正在等待传输即时字符,则此成员为 TRUE 。 否则为 FALSE。 如果在 HoldReasons 成员中设置了除 SERIAL_TX_WAITING_FOR_XON 以外的任何标志位,则直接字符的传输可能会延迟。 有关即时字符的详细信息,请参阅 IOCTL_SERIAL_IMMEDIATE_CHAR。
注解
此结构由 IOCTL_SERIAL_GET_COMMSTATUS 请求使用。
要求
要求 | 值 |
---|---|
Header | ntddser.h |