共用方式為


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 要求會 使用此結構。

規格需求

需求
標頭 ntddser.h

另請參閱

IOCTL_SERIAL_GET_COMMSTATUS

IOCTL_SERIAL_IMMEDIATE_CHAR