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
入力ストリームで発生した受信エラーを示すフラグのセット。 このメンバーは、次の 1 つ以上のフラグ ビットの 0 またはビットごとの OR に設定されます。
フラグ名 | 説明 |
---|---|
SERIAL_ERROR_QUEUEOVERRUN | シリアル コントローラー ドライバーの内部入力バッファーは、入力ストリームから受信したデータによってオーバーランされました。 入力バッファーがいっぱいであるか、EOF (ファイルの末尾) 文字の後に文字が受信されました。 |
SERIAL_ERROR_OVERRUN | ハードウェア受信 FIFO は、入力ストリームから受信したデータによってオーバーランされました。 |
SERIAL_ERROR_BREAK | 入力行で中断条件が発生しました。 |
SERIAL_ERROR_PARITY | 入力ストリームから受信したバイトでパリティ エラーが検出されました。 |
SERIAL_ERROR_FRAMING | 入力ストリームから受信したバイト数でフレーミング エラーが検出されました。 |
シリアル コントローラー ドライバーは、IOCTL_SERIAL_GET_COMMSTATUS要求を満たすために累積SERIAL_ERROR_XXX フラグを提供した後、ドライバーはフラグを 0 にリセットします。
HoldReasons
シリアル ポートが現在、出力ストリームへのバイトの送信を待機している理由を示すフラグのセット。 このメンバーは、次の 1 つ以上のフラグ ビットの 0 またはビットごとの 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 (送信オフ) 信号を送信しました。 この信号はシリアル ポートからの送信の終わりを示し、回線のもう一方の端のデバイスが送信を開始するまで待機します。 もう一方のデバイスは、送信された XOFF 信号を XON 信号として受信します。 |
シリアル ポートにバイトの送信を停止する理由がない場合、HoldReasons は 0 です。
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 |