Comportamento predefinito dei driver

[La funzionalità associata a questa pagina, MCI, è una funzionalità legacy. È stato sostituito da MediaPlayer. MediaPlayer è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer invece di MCI, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

In molte situazioni, le specifiche del comando MCI definiscono i valori predefiniti e il comportamento per i driver di un particolare tipo di dispositivo. Poiché i dispositivi multimediali possono avere un'ampia gamma di funzionalità (e limitazioni), possono esserci aree di comportamento non definite. Inoltre, i driver potrebbero gestire le eccezioni in modo diverso, in base alle funzionalità del dispositivo.

Si considerino ad esempio i comandi seguenti inviati a un driver waveform-audio usando la funzione 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);

Il comando record restituisce un valore "Parametro non compreso nell'intervallo" e arresta la riproduzione avviata dal comando di riproduzione precedente. Si potrebbe aspettare che il driver convalide il comando del record prima di arrestare la riproduzione, ma il driver arresta prima la riproduzione.