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


Метод IMFSourceResolver::BeginCreateObjectFromByteStream (mfidl.h)

Начинает асинхронный запрос на создание источника мультимедиа из потока байтов.

Синтаксис

HRESULT BeginCreateObjectFromByteStream(
  [in]  IMFByteStream    *pByteStream,
  [in]  LPCWSTR          pwszURL,
  [in]  DWORD            dwFlags,
  [in]  IPropertyStore   *pProps,
  [out] IUnknown         **ppIUnknownCancelCookie,
  [in]  IMFAsyncCallback *pCallback,
  [in]  IUnknown         *punkState
);

Параметры

[in] pByteStream

Указатель на интерфейс IMFByteStream потока байтов.

[in] pwszURL

Строка, завершающаяся нулевым значением, которая содержит исходный URL-адрес потока байтов. Этот параметр может принимать значение NULL.

[in] dwFlags

Побитовое ИЛИ одного или нескольких флагов. См. раздел Флаги сопоставителя источника.

[in] pProps

Указатель на интерфейс IPropertyStore хранилища свойств. Метод передает хранилище свойств обработчику потока байтов. Обработчик потока байтов может использовать хранилище свойств для настройки источника мультимедиа. Этот параметр может принимать значение NULL. Дополнительные сведения см. в разделе Настройка источника мультимедиа.

[out] ppIUnknownCancelCookie

Получает указатель IUnknown или значение NULL. Если значение не равно NULL, можно отменить асинхронную операцию, передав этот указатель в метод IMFSourceResolver::CancelObjectCreation . Вызывающий объект должен освободить интерфейс . Этот параметр может принимать значение NULL.

[in] pCallback

Указатель на интерфейс IMFAsyncCallback объекта обратного вызова. Вызывающий объект должен реализовать этот интерфейс.

[in] punkState

Указатель на интерфейс IUnknown объекта состояния, определенного вызывающим объектом. Этот параметр может принимать значение NULL. Этот объект можно использовать для хранения сведений о состоянии. Объект возвращается вызывающей при вызове обратного вызова.

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

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
Параметр dwFlags содержит взаимоисключающие флаги.
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
Поток байтов не поддерживается.
MF_E_BYTESTREAM_NOT_SEEKABLE
Поток байтов не поддерживает поиск.

Комментарии

Параметр dwFlags должен содержать флаг MF_RESOLUTION_MEDIASOURCE и не должен содержать флаг MF_RESOLUTION_BYTESTREAM .

Сопоставитель источника пытается найти один или несколько обработчиков байтового потока для потока байтов на основе расширения имени файла URL-адреса или типа MIME потока байтов (или и того, и другого). URL-адрес указывается в необязательном параметре pwszURL , а тип MIME может быть указан в атрибуте MF_BYTESTREAM_CONTENT_TYPE в потоке байтов. Обработчики потока байтов регистрируются по расширению имени файла или по типу MIME, как описано в разделе Обработчики схем и обработчики Byte-Stream. Вызывающий объект должен указать по крайней мере одно из этих значений.

После завершения операции сопоставитель источника вызывает метод IMFAsyncCallback::Invoke . Метод Invoke должен вызывать IMFSourceResolver::EndCreateObjectFromByteStream , чтобы получить указатель на источник мультимедиа.

Требования

   
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfidl.h
Библиотека Mfuuid.lib

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

IMFSourceResolver

Сопоставитель источника