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, オーバーレイ 表示ウィンドウを制御します。