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 |