共用方式為


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