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

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_CANNOT_PARSE_BYTESTREAM
Не удается проанализировать поток байтов.

Комментарии

Параметр 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

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

IMFByteStreamHandler

Обработчики схем и обработчики Byte-Stream