open コマンド

open コマンドは、デバイスを初期化します。 すべての MCI デバイスがこのコマンドを認識します。

このコマンドを送信するには、lpszCommand パラメーターを次のように設定して mciSendString 関数を呼び出します。

_stprintf_s(
  lpszCommand, 
  TEXT("open %s %s %s"), 
  lpszDevice, 
  lpszOpenFlags, 
  lpszFlags
); 

パラメーター

lpszDevice

MCI デバイスまたはデバイス ドライバーの識別子。 これには、デバイス名 (レジストリまたはSYSTEM.INI ファイルで指定) またはデバイス ドライバーのファイル名を指定できます。 デバイス ドライバーのファイル名を指定する場合は、必要に応じて を含めることができます。DRV 拡張子ですが、ファイルへのパスを含めてはいけません。

lpszOpenFlags

初期化する内容を識別するフラグ。 次の表に、 open コマンドを認識するデバイスの種類と、各種類で使用されるフラグを示します。

値 説明 説明
cdaudio 別名 device_alias共有可能 type device_type
digitalvideo alias device_aliaselementnamenostatic parent hwndsharable style 子スタイルの重なり合ったスタイル ポップアップ スタイル style_type型 device_type
overlay alias device_alias親 hwnd共有可能スタイルの子 style device_type型style_typeスタイルが重なり合ったスタイルポップアップ スタイル
sequencer 別名 device_alias 共有可能 type device_type
ビデオデッキ 別名 device_alias共有可能 type device_type
videodisk 別名 device_alias共有可能 type device_type
waveaudio alias device_aliasbuffer buffer_size 共有可能な型 device_type

次の表に、 lpszOpenFlags パラメーターで指定できるフラグとその意味を示します。

値 説明
alias device_alias 指定されたデバイスの代替名を指定します。 指定した場合は、後続のコマンドで device_id として使用する必要があります。
Elementname デバイスが開いたときに読み込まれるデバイス要素 (ファイル) の名前を指定します。
buffer buffer_size 波形オーディオ デバイスで使用されるバッファーのサイズを秒単位で設定します。 バッファーの既定のサイズは、波形オーディオ デバイスがインストールまたは構成されるときに設定されます。 通常、バッファー サイズは 4 秒に設定されます。 MCIWAVE デバイスでは、最小サイズは 2 秒、最大サイズは 9 秒です。
parent hwnd 親ウィンドウのウィンドウ ハンドルを指定します。
共有可能 デバイスまたはファイルを共有可能として初期化します。 元の開いているコマンドとそれ以降の開いているコマンドの両方で "共有可能" を指定しない限り、デバイスまたはファイルを 開 こうとする後続の試行は失敗します。 デバイスが既に開いているが共有できない場合、MCI は無効なデバイス エラーを返します。
MCISEQ シーケンサーと MCIWAVE デバイスは、共有ファイルをサポートしていません。
style child 子ウィンドウ スタイルのウィンドウを開きます。
スタイルが重複しています ウィンドウ スタイルが重なってウィンドウを開きます。
スタイル ポップアップ ポップアップ ウィンドウ スタイルのウィンドウを開きます。
style style_type ウィンドウ スタイルを示します。
type device_type ファイルのデバイスの種類を指定します。

lpszFlags

"wait"、"notify"、またはその両方を指定できます。 これらのフラグの詳細については、「 待機、通知、およびテスト フラグ」を参照してください。

戻り値

成功した場合は 0 を返し、それ以外の場合はエラーを返します。

注釈

MCI は、CD オーディオ デバイスの種類に "cdaudio"、videodisc デバイスの種類が "videodisc"、MIDI シーケンサー デバイスの種類が "sequencer"、デジタル ビデオ デバイスの種類が "AVIVideo"、波形オーディオ デバイスの種類が "waveaudio" を予約します。

"type" フラグの代わりに、MCI は、レジストリまたは SYSTEM.INI ファイルの [mci extension] セクションに記録されているように、ファイルで使用される拡張子に基づいてデバイスを選択できます。

MCI では、ファイル インターフェイス ポインターまたはストリーム インターフェイス ポインターを使用して AVI ファイルを開くことができます。 いずれかの種類のインターフェイス ポインターを使用してファイルを開くには、 lpszDevice パラメーターのファイル名またはデバイス名の代わりに、アット マーク (@) の後にインターフェイス ポインターを指定します。 ファイル インターフェイスとストリーム インターフェイスの詳細については、「 AVIFile 関数とマクロ」を参照してください。

次のコマンドを実行すると、"mysound" デバイスが開きます。

open new type waveaudio alias mysound buffer 6

デバイス名が "new" の場合、波形ドライバーは新しい波形リソースを準備します。 コマンドは、デバイス エイリアス "mysound" を割り当て、6 秒のバッファーを指定します。

デバイス名とファイル名を組み合わせると、"type" フラグを削除できます。 MCI は、次の構文を使用すると、この組み合わせを認識します。

device_name ! element_name

感嘆符は、デバイス名とファイル名を区切ります。 感嘆符は空白で区切るべきではありません。

次の例では、RIGHT を開きます。"waveaudio" デバイスを使用する WAV ファイル。

open waveaudio!right.wav

MCIWAVE ドライバーには、非同期波形オーディオ デバイスが必要です。

要件

要件 値
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Corecrt_io.h

こちらもご覧ください

Mci

MCI コマンド文字列