ドライバーの既定の動作

[このページに関連付けられている機能 MCI は、従来の機能です。 MediaPlayer に置き換わりました。 MediaPlayer は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能な場合は MCI ではなく MediaPlayer を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

多くの場合、MCI コマンドの仕様では、特定のデバイスの種類のドライバーの既定値と動作が定義されます。 マルチメディア デバイスにはさまざまな機能 (および制限) があるため、未定義の動作領域が存在する可能性があります。 また、ドライバーは、デバイスの機能に基づいて、例外の処理方法が異なる場合があります。

たとえば、 mciSendString 関数を使用して波形オーディオ ドライバーに送信される次のコマンドを考えてみましょう。

mciSendString("open sound.wav alias sound", lpszReturnString,
    lstrlen(lpszReturnString), NULL);
mciSendString("play sound notify", lpszReturnString,
    lstrlen(lpszReturnString), NULL);
mciSendString("record sound from 0 notify", lpszReturnString,
    lstrlen(lpszReturnString), NULL);

record コマンドは、"パラメーターが範囲外" の値を返し、前の再生コマンドによって開始された再生を停止します。 ドライバーが再生を停止する前に record コマンドを検証することが予想される場合がありますが、ドライバーは最初に再生を停止します。