Opening a Compound Device by Using the Filename
[The feature associated with this page, MCI, is a legacy feature. It has been superseded by MediaPlayer. MediaPlayer has been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer instead of MCI, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The following example opens the waveform-audio device by specifying a waveform-audio file named "TIMPANI.WAV" using the mciSendCommand function.
UINT wDeviceID;
DWORD dwReturn;
MCI_OPEN_PARMS mciOpenParms;
// Opens a waveform-audio device by specifying the device and
// file name.
mciOpenParms.lpstrDeviceType = "waveaudio";
mciOpenParms.lpstrElementName = "timpani.wav";
if (dwReturn = mciSendCommand(NULL, MCI_OPEN,
MCI_OPEN_TYPE | MCI_OPEN_ELEMENT, (DWORD)(LPVOID) &mciOpenParms))
{
// Error, unable to open device.
}
// The device opened successfully; get the device ID.
wDeviceID = mciOpenParms.wDeviceID;