IOCTL_SERIAL_LSRMST_INSERT IOCTL (winioctl.h)
ReadFile 関数を介してアプリケーションが取得する通常のデータ ストリームへの回線状態とモデムの状態値の配置を有効または無効にします。
この行状況およびモデム状況データ配置モードが有効になっている場合、データ・ストリーム内の状況値の前にエスケープ文字が付きます。 ユーザー定義可能なエスケープ文字は、 IOCTL_SERIAL_LSRMST_INSERT コントロール コードによって設定されます。 状態値の詳細については、「解説」セクションを参照してください。
この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_SERIAL_LSRMST_INSERT, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
解説
注意
このスキームを使用するアプリケーションでは、データ ストリーム内の各文字を調べて、モデム状態データまたは回線状態データの存在を確認する必要があります。
次の値は、 LSRMST_INSERT モードが有効になっている場合、データ ストリーム内の指定されたエスケープ文字の後に続きます。
値 | 説明 |
---|---|
SERIAL_LSRMST_ESCAPE | エスケープ文字自体をデータ ストリームに受信したことを示します。 |
SERIAL_LSRMST_LSR_DATA | 行の状態の変更が発生し、データが受信ハードウェア バッファーで使用できたことを示します。 この BYTE に続く行ステータス レジスタの BYTE 値は、行ステータスの変更が処理されたときに受信ハードウェア バッファーに存在する BYTE です。 |
SERIAL_LSRMST_LSR_NODATA | 行の状態の変更が発生したが、受信ハードウェア バッファーで使用できるデータがないことを示します。 |
SERIAL_LSRMST_MST | モデムの状態の変更が発生したことを示します。 この BYTE に続く BYTE は、モデムの状態の変更が処理されたときのモデムステータスレジスタの値です。 |
要件
サポートされている最小のクライアント | Windows XP |
サポートされている最小のサーバー | Windows Server 2003 |
Header | winioctl.h (Windows.h を含む) |