Поделиться через


Флаг ожидания

[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменён на MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer вместо MCIпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Команды MCI обычно возвращаются пользователю немедленно, даже если выполнение действия, инициированного командой, занимает несколько минут. Вы можете использовать флаг "wait" (MCI_WAIT), чтобы устройство ожидало завершения запрошенного действия перед возвратом контроля к приложению.

Например, следующая команда воспроизведения не вернет управление приложению до завершения воспроизведения.

mciSendString("play mydevice from 0 to 100 wait", 
    lpszReturnString, lstrlen(lpszReturnString), NULL);

Заметка

Пользователь может отменить операцию ожидания, нажав клавишу останова. По умолчанию этот ключ — CTRL+BREAK. Приложения могут переопределить этот ключ с помощью команды разрыва (MCI_BREAK) . (MCI_BREAK использует структуру MCI_BREAK_PARMS.) При отмене операции ожидания MCI пытается вернуть управление приложению без прерывания команды, связанной с флагом wait.