Команда open

Команда open инициализирует устройство. Все устройства MCI распознают эту команду.

Чтобы отправить эту команду, вызовите функцию mciSendString с параметром lpszCommand , как показано ниже.

_stprintf_s(
  lpszCommand, 
  TEXT("open %s %s %s"), 
  lpszDevice, 
  lpszOpenFlags, 
  lpszFlags
); 

Параметры

lpszDevice

Идентификатор устройства MCI или драйвера устройства. Это может быть имя устройства (указанное в реестре или файле SYSTEM.INI) или имя файла драйвера устройства. Если указать имя файла драйвера устройства, при необходимости можно включить . Расширение DRV, но не следует включать путь к файлу.

lpszOpenFlags

Флаг, определяющий, что инициализировать. В следующей таблице перечислены типы устройств, которые распознают команду open и флаги, используемые каждым типом.

Значение Значение Значение
cdaudio псевдоним device_aliasобщий type device_type
digitalvideo alias device_aliaselementnamenostatic parent hwndsharable стиль дочернего стиля перекрывается стилем всплывающего окна style_typeтипа device_type
overlay псевдоним device_aliasдочерним элементом родительского стиля hwndsharable стиль перекрытия всплывающего окна стиля style_typeтипа device_type
sequencer псевдоним device_alias общий type device_type
Видео псевдоним device_aliasобщий type device_type
videodisk псевдоним device_aliasобщий type device_type
waveaudio псевдоним device_aliasбуфера buffer_size device_type типов для общего доступа

В следующей таблице перечислены флаги, которые можно указать в параметре lpszOpenFlags , и их значения.

Значение Значение
device_alias псевдонима Задает альтернативное имя для данного устройства. Если он указан, он должен использоваться в качестве device_id в последующих командах.
Elementname Указывает имя элемента устройства (файла), загружаемого при открытии устройства.
buffer_size буфера Задает размер (в секундах) буфера, используемого устройством waveform-audio. Размер буфера по умолчанию устанавливается при установке или настройке устройства waveform-audio. Обычно размер буфера устанавливается равным 4 секундам. На устройстве MCIWAVE минимальный размер составляет 2 секунды, а максимальный — 9 секунд.
родительский hwnd Указывает дескриптор родительского окна.
общий доступ к Инициализирует устройство или файл как общий. Последующие попытки открыть устройство или файл завершаются сбоем, если в исходных и последующих командах открытия не указано значение "sharable". MCI возвращает ошибку недопустимого устройства, если устройство уже открыто и не доступно для совместного использования.
Устройства последовательности MCISEQ и MCIWAVE не поддерживают общие файлы.
дочерний элемент стиля Открывает окно со стилем дочернего окна.
стиль перекрывается Открывает окно с перекрывающимся стилем окна.
всплывающее окно стиля Открывает окно со стилем всплывающего окна.
style_type стиля Указывает стиль окна.
type device_type Указывает тип устройства файла.

lpszFlags

Может иметь значение "wait", "notify" или и то, и другое. Дополнительные сведения об этих флагах см. в разделе Флаги ожидания, уведомления и тестирования.

Возвращаемое значение

Возвращает ноль в случае успешного выполнения или ошибку в противном случае.

Комментарии

MCI резервирует "cdaudio" для типа звукового устройства CD, "videodisc" для типа устройства videodisc, "sequencer" для типа устройства MIDI sequencer, "AVIVideo" для типа цифрового видеоустройства и "waveaudio" для типа устройства waveform-audio.

В качестве альтернативы флагу "тип" MCI может выбрать устройство на основе расширения, используемого файлом, как указано в реестре или разделе [расширение mci] файла SYSTEM.INI.

MCI может открывать файлы AVI с помощью указателя файлового интерфейса или указателя интерфейса потока. Чтобы открыть файл с помощью любого типа указателя интерфейса, укажите знак at (@), за которым следует указатель интерфейса вместо имени файла или устройства для параметра lpszDevice . Дополнительные сведения об интерфейсах файлов и потоков см. в разделе Функции и макросы AVIFile.

Следующая команда открывает устройство mysound.

open new type waveaudio alias mysound buffer 6

С именем устройства "new" драйвер формы волны подготавливает новый ресурс waveform. Команда назначает псевдоним устройства mysound и задает 6-секундный буфер.

Вы можете исключить флаг "тип", если объединить имя устройства с именем файла. MCI распознает эту комбинацию при использовании следующего синтаксиса:

device_name ! element_name

Восклицательный знак отделяет имя устройства от имени файла. Восклицательный знак не должен быть разделен пробелами.

В следующем примере открывается функция RIGHT. WAV-файл с использованием устройства waveaudio.

open waveaudio!right.wav

Для драйвера MCIWAVE требуется асинхронное устройство waveform-audio.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Corecrt_io.h

См. также раздел

MCI

Командные строки MCI