Ouverture du périphérique
Initialisation au format track/minute/second/frame (TMSF)
Vérification du média

Ouverture de la porte
Fermeture de la porte

Lire
Arrêt

Ouverture du périphérique [Revenir au début]


MCI_OPEN_PARMS Info;
ZeroMemory(&Info, sizeof(Info));
Info.dwCallback = DWORD(hwnd);
Info.lpstrDeviceType = MAKEINTRESOURCE(MCI_DEVTYPE_CD_AUDIO);
mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|
                  MCI_OPEN_SHAREABLE, DWORD(&Info));

MCIDEVICEID mci_cd_device = Info.wDeviceID;
Initialisation au format track/minute/second/frame (TMSF) [Revenir au début]


MCI_SET_PARMS InfoFormat;
ZeroMemory(&InfoFormat, sizeof(InfoFormat));
InfoFormat.dwTimeFormat = MCI_FORMAT_TMSF;
mciSendCommand(mci_cd_device, MCI_SET, MCI_SET_TIME_FORMAT,
                              DWORD(&InfoFormat));
Vérification du média [Revenir au début]


MCI_STATUS_PARMS Info;
ZeroMemory(&Info, sizeof(Info));
Info.dwItem = MCI_STATUS_MEDIA_PRESENT;
mciSendCommand(mci_cd_device, MCI_STATUS, MCI_STATUS_ITEM,
                              DWORD(&Info));
if(!Info.dwReturn)
  MessageBox(NULL, "Pas de CD détecté !", "", MB_OK);
Ouverture de la porte [Revenir au début]


MCI_STATUS_PARMS Info;
ZeroMemory(&Info, sizeof(Info));
mciSendCommand(mci_cd_device, MCI_SET, MCI_SET_DOOR_OPEN,
                              DWORD(&Info));
Fermeture de la porte [Revenir au début]


MCI_STATUS_PARMS Info;
ZeroMemory(&Info, sizeof(Info));
mciSendCommand(mci_cd_device, MCI_SET, MCI_SET_DOOR_CLOSED,
                              DWORD(&Info));
Lire [Revenir au début]


MCI_PLAY_PARMS Info;
ZeroMemory(&Info, sizeof(Info));
Info.dwFrom = MCI_MAKE_TMSF(1,1,0,0);		//Lire la 1° plage
mciSendCommand(mci_cd_device, MCI_PLAY, MCI_FROM|MCI_NOTIFY,
                              DWORD(&Info));

Arrêt [Revenir au début]


MCI_GENERIC_PARMS Info;
ZeroMemory(&Info, sizeof(Info));
mciSendCommand(mci_cd_device, MCI_STOP, MCI_NOTIFY,
                              DWORD(&Info));