Макросы и сообщения функций MCI
[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо MCI. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Большинство приложений MCI десятки раз используют функции mciSendString и mciSendCommand . MCI предоставляет некоторые другие полезные функции, которые приложение будет использовать реже.
Идентификатор устройства, необходимый для большинства команд MCI, обычно извлекается при вызове команды open (MCI_OPEN). Если вам нужен идентификатор устройства, но вы не хотите открывать устройство ( например, если вы хотите запросить возможности устройства перед выполнением каких-либо других действий), можно вызвать функцию mciGetDeviceID .
Функция mciGetCreatorTask позволяет приложению использовать идентификатор устройства для получения дескриптора задачи, создающей этот идентификатор.
Функции mciGetYieldProc и mciSetYieldProc можно использовать для назначения и получения адреса функции обратного вызова, связанной с флагом wait (MCI_WAIT).
Функция mciGetErrorString извлекает строку, описывающую значение ошибки MCI. Каждая строка, возвращаемая MCI, будь то данные или описание ошибки, не может превышать 128 символов. Поля диалогового окна размером менее 128 символов усекают длинные строки, возвращаемые MCI. Дополнительные сведения об этих строках см. в разделе Возвращаемые значения MCIERR.
Макросы MCI — это средства, которые можно использовать для создания и деассемблирования значений, определяющих форматы времени. Эти форматы времени используются во многих командах MCI. Макросы обрабатывают форматы: часы/минуты/секунды (HMS), минуты/секунды/кадры (MSF) и дорожки/минуты/секунды/кадры (TMSF). В следующей таблице перечислены макросы и их описания.
Макрос | Описание |
---|---|
MCI_HMS_HOUR | Извлекает компонент hours из значения HMS. |
MCI_HMS_MINUTE | Извлекает компонент минут из значения HMS. |
MCI_HMS_SECOND | Извлекает компонент секунд из значения HMS. |
MCI_MAKE_HMS | Создает значение HMS. |
MCI_MAKE_MSF | Создает значение MSF. |
MCI_MAKE_TMSF | Создает значение TMSF. |
MCI_MSF_FRAME | Извлекает компонент кадров из значения MSF. |
MCI_MSF_MINUTE | Извлекает компонент минут из значения MSF. |
MCI_MSF_SECOND | Извлекает компонент секунд из значения MSF. |
MCI_TMSF_FRAME | Извлекает компонент кадров из значения TMSF. |
MCI_TMSF_MINUTE | Извлекает компонент минут из значения TMSF. |
MCI_TMSF_SECOND | Извлекает компонент секунд из значения TMSF. |
MCI_TMSF_TRACK | Извлекает компонент отслеживания из значения TMSF. |
MCI также предоставляет два сообщения: MM_MCINOTIFY и MM_MCISIGNAL. Сообщение MM_MCINOTIFY уведомляет приложение о результатах команды MCI всякий раз, когда эта команда задает флаг уведомления (MCI_NOTIFY). Сообщение MM_MCISIGNAL предназначено для цифровых видеоустройств; он уведомляет приложение о достижении указанной позиции.