Метод 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. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Параметр dwFlags содержит взаимоисключающие флаги. |
|
Поток байтов не поддерживается. |
|
Поток байтов не поддерживает поиск. |
Комментарии
Параметр 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 |