Использование интерфейса управляющих сообщений для проигрывания mid-файлов аналогично использованию этого интерфейса для проигрывания wav-файлов. Перечислим кратко допустимые коды управляющих сообщений и самые нужные параметры, специфические для драйвера mciseq.drv.
MCI_OPEN
Устройство sequencer открывается командой MCI_OPEN с использованием структуры MCI_OPEN_PARMS, определенной в файле mmsystem.h.
Поле lpstrDeviceType в этой структуре должно содержать указатель на строку имени устройства, или константный идентификатор устройства. Для устройства sequencer вы можете указать имя "sequencer " или константу MCI_DEVTYPE_SEQUENCER .
Через параметр lpstrElementName передается указатель на путь к проигрываемому mid-файлу.
MCI_CLOSE
Эта команда закрывает устройство. Ее необходимо выдавать после завершения работы с устройством.
MCI_PLAY
Команда MCI_PLAY предназначена для проигрывания. Для mid-файлов она используется точно таким же образом, что и для wav-файлов.
MCI_PAUSE
MCI_RESUME
Эта команда не поддерживается драйвером mciseq.drv . Используйте вместо нее команду MCI_PLAY без указания позиции (для запуска проигрывания с текущей позиции).
MCI_STOP
Команда MCI_STOP останавливает выполнение операции проигрывания.
MCI_SEEK
Команда MCI_SEEK позволяет выполнять позиционирование в пределах mid-файла.
MCI_BREAK
С помощью команды MCI_BREAK указывается виртуальный код клавиши, с помощью которой можно прервать выполнение операции.
MCI_GETDEVCAPS
С помощью команды MCI_GETDEVCAPS можно определить возможности устройства.
MCI_INFO
С помощью этой команды можно получить информацию об устройстве в виде текстовой строки, такую как описание аппаратуры, имя файла, связанного с устройством.
MCI_SYSINFO
С помощью этой команды можно получить системную информацию об устройстве в виде текстовой строки.
MCI_STATUS
Команда MCI_STATUS используется для определения текущего состояния устройства.
MCI_SET
Команда MCI_SET предназначена для установки режима работы устройства.
MCI_COPY
Команда MCI_COPY предназначена для копирования данных в универсальный буфер обмена Clipboard. Для нее используется блок параметров в формате структуры MCI_GENERIC_PARMS, флаги MCI_NOTIFY и MCI_WAIT.
MCI_PASTE
Команда MCI_PASTE вставляет данные из Clipboard в текущий буфер устройства. Для нее, как и для команды MCI_COPY, используется блок параметров в формате структуры MCI_GENERIC_PARMS, флаги MCI_NOTIFY и MCI_WAIT.
MCI_CUT
Команда MCI_CUT удаляет данные из текущего буфера устройства и копирует их в универсальный буфер обмена Clipboard. Для нее используется блок параметров в формате структуры MCI_GENERIC_PARMS, флаги MCI_NOTIFY и MCI_WAIT.
MCI_DELETE
Команда MCI_DELETE удаляет данные из текущего буфера устройства без копирования их в Clipboard.
MCI_LOAD
Команда MCI_LOAD предназначена для загрузки файла.