Создание средства чтения и открытие файла

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

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

  1. Создайте объект чтения, вызвав функцию WMCreateReader . Необходимо указать требуемый уровень управления правами для нового объекта средства чтения. Доступные режимы перечислены в типе перечисления WMT_RIGHTS .
  2. Укажите файл для чтения, вызвав IWMReader::Open. Необходимо указать интерфейс обратного вызова средства чтения, который будет использоваться средством чтения. Дополнительные сведения о обратном вызове средства чтения см. в разделе Реализация сообщений читателя в обратном вызове OnStatus.
  3. Дождитесь, пока средство чтения откроет файл. При вызове метода Open для загрузки файла он возвращается почти сразу и продолжает обработку в другом потоке. Необходимо дождаться завершения операций, сигналив о событии, когда обратный вызов OnStatus получает сообщение о состоянии WMT_OPENED.

Средство чтения также поддерживает использование COM-интерфейса IStream для открытия файлов. Интерфейс IStream можно реализовать любым способом. После открытия нужного файла в IStream можно выполнить описанные выше действия, за исключением того, что на шаге 2 необходимо вызвать IWMReaderAdvanced2::OpenStream вместо IWMReader::Open .

Интерфейс IWMReader

Интерфейс IWMReaderAdvanced2

Интерфейс IWMStatusCallback

Чтение файлов с помощью асинхронного средства чтения

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