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


Использование обратного вызова OnStatus

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

Метод обратного вызова IWMStatusCallback::OnStatus вызывается несколькими объектами в пакете SDK для формата Windows Media. OnStatus получает сообщения, представляющие изменения в состоянии операций пакета SDK.

Чтобы использовать метод обратного вызова OnStatus , необходимо реализовать в приложении класс, который наследуется от интерфейса IWMStatusCallback . Включите код для вашей версии OnStatus в класс . Несколько примеров реализаций OnStatus можно найти в примерах, включенных в этот пакет SDK. Дополнительные сведения о примерах см. в разделе Примеры приложений.

Необходимо связать реализацию обратного вызова состояния с различными объектами пакета SDK для формата Windows Media. Каждый объект имеет свой способ создания этой связи. Список методов, которые связывают определенные объекты, см. на странице справочника по IWMStatusCallback .

Сообщения о состоянии, которые могут быть получены OnStatus , определяются в типе перечисления WMT_STATUS .

Вы можете выбрать, какие сообщения следует перехватить, а какие игнорировать. Однако для некоторых функций требуется реагирование на некоторые сообщения о состоянии. Например, при использовании асинхронного средства чтения метод IWMReader::Open открывает файл асинхронно. Единственный способ узнать, когда файл был открыт, — перехватить сообщение MWT_OPENED. Как правило, сообщения, на которые вы отвечаете, являются уведомлениями о завершении асинхронных задач.

Использование методов обратного вызова