Команда MCI_STATUS используется для определения текущего состояния устройства.
Формат соответствующего блока параметров описывается структурой MCI_STATUS_PARMS : typedef struct tagMCI_STATUS_PARMS { DWORD dwCallback; DWORD dwReturn; DWORD dwItem; DWORD dwTrack; } MCI_STATUS_PARMS; typedef MCI_STATUS_PARMS FAR * LPMCI_STATUS_PARMS;
Через поле dwReturn передается возвращаемая информация. Вид запрашиваемой информации определяется содержимым поля dwItem. Для устройства чтения компакт-дисков в поле dwTrack можно указать размер или номер дорожки.
Приведем возможные значения параметра dwItem:
Значение параметра dwItem | Описание получаемой информации |
MCI_STATUS_CURRENT_TRACK | Номер текущей дорожки |
MCI_STATUS_LENGTH | Общий размер всех дорожек компакт-диска |
MCI_STATUS_MODE | Текущий режим устройства. Может иметь следующие значения:MCI_MODE_NOT_READY не готово;MCI_MODE_PAUSE пауза;MCI_MODE_PLAY проигрывание;MCI_MODE_STOP останов;MCI_MODE_OPEN открывание;MCI_MODE_RECORD запись;MCI_MODE_SEEK позиционирование |
MCI_STATUS_NUMBER_OF_TRACKS | Общее количество дорожек, которые можно проиграть |
MCI_STATUS_POSITION | Текущая позиция |
MCI_STATUS_READY | Если устройство готово, возвращается значение TRUE, в противном случае - FALSE |
MCI_STATUS_TIME_FORMAT | Текущий формат времени. Может иметь следующие значения:MCI_FORMAT_MILLISECONDS MCI_FORMAT_MSF MCI_FORMAT_TMSF |
MCI_STATUS_START | Начальная позиция |
MCI_STATUS_TRACK | В поле dwTrack записывается либо начальная позиция заданной дорожки (если дополнительно используется MCI_STATUS_POSITION), либо размер дорожки (если дополнительно используется MCI_STATUS_LENGTH) |
MCI_STATUS_MEDIA_PRESENT | Возвращается TRUE, если компакт-диск вставлен в устройство |