MCI コマンドの分類
[このページに関連付けられている機能 MCI は、従来の機能です。 MediaPlayer に置き換わりました。 MediaPlayer は、Windows 10とWindows 11用に最適化されています。 可能であれば、新しいコードで MCI ではなく MediaPlayer を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
MCI では、システム、必須、基本、拡張の 4 つのコマンド分類が定義されています。 次の一覧では、これらのコマンドの分類について説明します。
- システム コマンド は、ドライバーではなく MCI によって直接処理されます。
- 必須のコマンド は、ドライバーによって処理されます。 すべての MCI ドライバーは、必要なコマンドとフラグをサポートする必要があります。
- 基本的なコマンド (または省略可能なコマンド) は、一部のデバイスで使用されます。 デバイスが基本コマンドをサポートしている場合は、そのコマンドに対して定義されたフラグのセットをサポートする必要があります。
- 拡張コマンド は、デバイスの種類またはドライバーに固有です。 拡張コマンドには、digitalvideo およびオーバーレイ デバイスの種類の put (MCI_PUT) コマンドや where (MCI_WHERE) コマンド、既存のコマンドの拡張機能 (オーバーレイ デバイスの種類の状態 (MCI_STATUS) コマンドの "stretch" フラグなど) が含まれます。
システム コマンドと必須コマンドは MCI ドライバーの最小コマンド セットですが、基本コマンドと拡張コマンドはすべてのドライバーでサポートされているわけではありません。 アプリケーションでは、システムコマンドと必要なコマンドとそのフラグを常に使用できますが、基本または拡張コマンドまたはフラグを使用する必要がある場合は、まず 機能 (MCI_GETDEVCAPS) コマンドを使用してドライバーに対してクエリを実行する必要があります。 次のセクションでは、各カテゴリの特定のコマンドの概要を示します。
システム コマンド
MCI は、MCI デバイスに渡すのではなく、次のシステム コマンドを直接処理します。
String | Message | 説明 |
---|---|---|
破る | MCI_BREAK | MCI デバイスのブレーク キーを設定します。 |
Sysinfo | MCI_SYSINFO | MCI デバイスに関する情報を返します。 |
必須コマンド
すべての MCI デバイスでは、次の必須コマンドがサポートされています。
String | Message | 説明 |
---|---|---|
機能 | MCI_GETDEVCAPS | デバイスの機能を取得します。 |
閉じる | MCI_CLOSE | デバイスを閉じます。 |
info | MCI_INFO | デバイスからテキスト情報を取得します。 |
開く | MCI_OPEN | デバイスを初期化します。 |
status | MCI_STATUS | デバイスから状態情報を取得します。 このコマンドのフラグの一部は必須でないので、基本的なコマンドでもあります。 |
また、デバイスは、必要なコマンドに対して標準のコマンド フラグのセットをサポートする必要があります。
基本的なコマンド
次の一覧は、基本的なコマンドをまとめたものです。 MCI デバイスによるこれらのコマンドの使用は省略可能です。
String | Message | 説明 |
---|---|---|
ロード | MCI_LOAD | ファイルからデータを読み込みます。 |
一時 停止 | MCI_PAUSE | 再生を停止します。 再生または記録は、現在の位置で再開できます。 |
play | MCI_PLAY | 出力データの送信を開始します。 |
レコード | MCI_RECORD | 入力データの記録を開始します。 |
再開 | MCI_RESUME | 一時停止したデバイスでの再生または記録を再開します。 |
保存 | MCI_SAVE | データをディスク ファイルに保存します。 |
求める | MCI_SEEK | 前方または後方にシークします。 |
設定 | MCI_SET | デバイスの動作状態を設定します。 |
status | MCI の状態 | デバイスに関する状態情報を取得します。 これは必須のコマンドでもあります。フラグの一部は必須ではないため、こちらにも記載されています。 (省略可能な項目は、特定可能な位置を持つリニア メディアを使用するデバイスをサポートします)。 |
停止 | MCI_STOP | 再生を停止します。 |
ドライバーが基本的なコマンドをサポートしている場合は、コマンドの標準のフラグ セットもサポートする必要があります。
拡張コマンド
MCI デバイスによっては、コマンドが追加されたり、既存のコマンドにフラグが追加されたりします。 一部の拡張コマンドは特定のデバイス ドライバーにのみ適用されますが、そのほとんどは特定のデバイスの種類のすべてのドライバーに適用されます。 たとえば、 シーケンサー デバイスタイプのコマンドセットは、 セット (MCI_SET)コマンドを拡張して、MIDIシーケンサーに必要な時間形式を追加します。
デバイスが拡張コマンドまたはフラグをサポートしていると想定しないでください。 機能 (MCI_GETDEVCAPS) コマンドを使用して、特定の機能がサポートされているかどうかを判断できます。また、アプリケーションで "サポートされていないコマンド" または "サポートされていない関数" の戻り値を処理する準備ができている必要があります。
次の拡張コマンドは、一覧表示されているデバイスの種類で使用できます。
String | Message | デバイスの種類 | 説明 |
---|---|---|---|
[構成] | MCI_CONFIGURE | digitalvideo | 構成ダイアログ ボックスを表示します。 |
キュー | MCI_CUE | digitalvideo, waveaudio | 再生または記録の準備をします。 |
削除 | MCI_DELETE | waveaudio | メディア ファイルからデータ セグメントを削除します。 |
escape | MCI_ESCAPE | videodisc | カスタム情報をデバイスに送信します。 |
凍結 | MCI_FREEZE | overlay | フレーム バッファーへのビデオ取得を無効にします。 |
置く | MCI PUT | digitalvideo, オーバーレイ | ソース ウィンドウ、変換先ウィンドウ、フレーム ウィンドウを定義します。 |
実現 | MCI_REALIZE | digitalvideo | 表示されるウィンドウのデバイス コンテキストにそのパレットを選択して実現するようにデバイスに指示します。 |
setaudio | SETAUDIO のMCI_ | digitalvideo | ビデオのオーディオ パラメーターを設定します。 |
setvideo | SETVIDEO のMCI_ | digitalvideo | ビデオ パラメーターを設定します。 |
信号 | MCI_SIGNAL | digitalvideo | シグナルを使用して、指定した位置を識別します。 |
スピン | MCI_SPIN | videodisc | ディスクの回転を開始するか、ディスクの回転を停止します。 |
ステップ | MCI_STEP | digitalvideo, videodisc | 1 つ以上のフレームを前方または逆に再生します。 |
解除 | MCI_UNFREEZE | overlay | フレーム バッファーがビデオ データを取得できるようにします。 |
更新 | MCI_UPDATE | digitalvideo | 現在のフレームをデバイス コンテキストに再描画します。 |
どこ | MCI WHERE | digitalvideo, オーバーレイ | ソース、変換先、またはフレーム領域を指定する四角形を取得します。 |
ウィンドウ | MCI_WINDOW | digitalvideo, オーバーレイ | 表示ウィンドウを制御します。 |