Метод IMFByteStreamHandler::BeginCreateObject (mfidl.h)
Начинает асинхронный запрос на создание источника мультимедиа из потока байтов.
Синтаксис
HRESULT BeginCreateObject(
[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, можно отменить асинхронную операцию, передав этот указатель на метод IMFByteStreamHandler::CancelObjectCreation . Вызывающий объект должен освободить интерфейс . Этот параметр может принимать значение NULL.
[in] pCallback
Указатель на интерфейс IMFAsyncCallback объекта обратного вызова. Вызывающий объект должен реализовать этот интерфейс.
[in] punkState
Указатель на интерфейс IUnknown объекта состояния, определенного вызывающим объектом. Этот параметр может принимать значение NULL. Этот объект можно использовать для хранения сведений о состоянии. Объект возвращается вызывающей объекту при вызове обратного вызова.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Не удается проанализировать поток байтов. |
Комментарии
Параметр dwFlags должен содержать флаг MF_RESOLUTION_MEDIASOURCE и не должен содержать флаг MF_RESOLUTION_BYTESTREAM.
Обработчик потока байтов отвечает за анализ потока и проверку содержимого. Если поток недопустим или обработчик потока байтов не может проанализировать поток, обработчик должен вернуть код сбоя. Поток байтов не гарантирует соответствие типу потока, для анализа которым предназначен обработчик байтов.
Если параметр pwszURL не равен NULL, обработчик потока байтов может использовать URL-адрес во время процесса разрешения. (Например, он может использовать расширение имени файла, если оно имеется.) Кроме того, поток байтов может содержать атрибут MF_BYTESTREAM_CONTENT_TYPE , указывающий тип MIME.
После завершения операции обработчик байтового потока вызывает метод IMFAsyncCallback::Invoke . Метод Invoke должен вызывать IMFByteStreamHandler::EndCreateObject , чтобы получить указатель на источник мультимедиа.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfidl.h |
Библиотека | Mfuuid.lib |