次の方法で共有


IOCTL_SERIAL_GET_WAIT_MASK IOCTL (ntddser.h)

IOCTL_SERIAL_GET_WAIT_MASK 要求は、シリアル コントローラーに現在設定されているイベント待機マスクを返します。

クライアントは、SERIAL_EV_EVENT2を介して SERIAL_EV_RXCHAR フラグ ビットによって表される待機イベントを待機できます。 これらのイベント フラグの詳細については、「解説」セクションを参照してください。

イベント待機マスクを設定するために、クライアントは IOCTL_SERIAL_SET_WAIT_MASK 要求を使用できます。 待機イベントが発生するのを待機するために、クライアントは IOCTL_SERIAL_WAIT_ON_MASK 要求を使用します。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

何一つ。

入力バッファーの長さ

何一つ。

出力バッファー

AssociatedIrp.SystemBuffer メンバーは、シリアル コントローラー ドライバーが待機マスクの出力に使用するクライアント割り当て ULONG バッファーを指します。 待機マスクは、0 または 1 つ以上の SERIAL_EV_XXX イベント フラグのビットごとの OR です。

出力バッファーの長さ

Parameters.DeviceIoControl.OutputBufferLength メンバーは、ULONG のサイズ (バイト単位) に設定されます。

状態ブロック

要求が成功した場合、Information メンバーは ULONG のサイズ (バイト単位) に設定されます。 それ以外の場合、Information メンバーは 0 に設定されます。

Status メンバーは、シリアル デバイス制御要求 汎用ステータス値のいずれかに設定されます。

備考

SERIAL_EV_XXX 定数は、シリアル ポートの待機マスクのフラグ ビットを定義します。

#define SERIAL_EV_RXCHAR     0x0001
#define SERIAL_EV_RXFLAG     0x0002
#define SERIAL_EV_TXEMPTY    0x0004
#define SERIAL_EV_CTS        0x0008
#define SERIAL_EV_DSR        0x0010
#define SERIAL_EV_RLSD       0x0020
#define SERIAL_EV_BREAK      0x0040
#define SERIAL_EV_ERR        0x0080
#define SERIAL_EV_RING       0x0100
#define SERIAL_EV_PERR       0x0200
#define SERIAL_EV_RX80FULL   0x0400
#define SERIAL_EV_EVENT1     0x0800
#define SERIAL_EV_EVENT2     0x1000

SERIAL_EV_XXX 定数は、待機マスクで指定できるイベントの種類を定義します。 クライアント (アプリケーションまたは周辺機器ドライバー) がシリアル ポートへの接続を開いた後、クライアントは、クライアントが監視する必要があるイベントの種類を示す待機マスクを指定できます。 これらのイベントは、シリアル ポートのハードウェア状態の変化です。 待機マスクのイベントが発生すると、クライアントに通知されます。

IOCTL_SERIAL_SET_WAIT_MASK および IOCTL_SERIAL_GET_WAIT_MASK 制御要求では、イベント待機マスクを使用して、クライアントが待機できる一連のイベントを指定します。 待機マスク値は、0 または 1 つ以上の xxx定数のビットごとの OR SERIAL_EV_。 待機マスク値が 0 の場合は、クライアントがイベントを待機しないことを示します。

クライアントは、現在設定されている待機マスク内のイベントを待機するために、IOCTL_SERIAL_WAIT_ON_MASK 制御要求を送信します。 シリアル コントローラー ドライバーは、待機マスク内のイベントが発生したときに、この要求を完了します。

次の表は、SerCx2、SerCx、および Serial.sysでサポートされている XXXフラグ ビット SERIAL_EV_ を示しています。 テーブルの Yes エントリは、シリアル フレームワーク拡張機能またはドライバーが対応するフラグ ビットをサポートしていることを示します。 No エントリは、フラグ ビットがサポートされていないこと 示します。

フラグ ビット SerCx2 SerCx Serial.sys
SERIAL_EV_RXCHAR はい はい はい
SERIAL_EV_RXFLAG 注を参照してください。 いいえ はい
SERIAL_EV_TXEMPTY はい はい はい
SERIAL_EV_CTS はい はい はい
SERIAL_EV_DSR はい はい はい
SERIAL_EV_RLSD 注を参照してください。 はい はい
SERIAL_EV_BREAK はい はい はい
SERIAL_EV_ERR はい はい はい
SERIAL_EV_RING 注を参照してください。 はい はい
SERIAL_EV_PERR 注を参照してください。 いいえ いいえ
SERIAL_EV_RX80FULL 注を参照してください。 いいえ はい
SERIAL_EV_EVENT1 注を参照してください。 いいえ いいえ
SERIAL_EV_EVENT2 注を参照してください。 いいえ いいえ
 
SerCx2 は、シリアル コントローラー ドライバーとシリアル コントローラー ハードウェアの機能に応じて、指定されたテーブル エントリのフラグ ビットをサポートする場合とサポートしていない場合があります。
 
SerCx2、SerCx、および Serial.sysの詳細については、「シリアル コントローラー ドライバーの概要を参照してください。

必要条件

要件 価値
ヘッダー ntddser.h (Ntddser.h を含む)

関連項目

IOCTL_SERIAL_GET_CHARS

IOCTL_SERIAL_SET_CHARS

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_CHARS

SERIAL_STATUS