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

こちらもご覧ください

IOCTL_SERIAL_GET_COMMSTATUS

IOCTL_SERIAL_IMMEDIATE_CHAR