Método IMFSourceResolver::BeginCreateObjectFromByteStream (mfidl.h)

Comienza una solicitud asincrónica para crear un origen multimedia a partir de una secuencia de bytes.

Sintaxis

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

Parámetros

[in] pByteStream

Puntero a la interfaz IMFByteStream de la secuencia de bytes.

[in] pwszURL

Cadena terminada en null que contiene la dirección URL original de la secuencia de bytes. Este parámetro puede ser NULL.

[in] dwFlags

OR bit a bit de una o más marcas. Consulte Marcas de resolución de origen.

[in] pProps

Puntero a la interfaz IPropertyStore de un almacén de propiedades. El método pasa el almacén de propiedades al controlador de secuencia de bytes. El controlador de secuencia de bytes puede usar el almacén de propiedades para configurar el origen multimedia. Este parámetro puede ser NULL. Para obtener más información, vea Configuración de un origen multimedia.

[out] ppIUnknownCancelCookie

Recibe un puntero IUnknown o el valor NULL. Si el valor no es NULL, puede cancelar la operación asincrónica pasando este puntero al método IMFSourceResolver::CancelObjectCreation . El autor de la llamada debe liberar la interfaz . Este parámetro puede ser NULL.

[in] pCallback

Puntero a la interfaz IMFAsyncCallback de un objeto de devolución de llamada. El autor de la llamada debe implementar esta interfaz.

[in] punkState

Puntero a la interfaz IUnknown de un objeto de estado, definido por el autor de la llamada. Este parámetro puede ser NULL. Puede usar este objeto para contener información de estado. El objeto se devuelve al autor de la llamada cuando se invoca la devolución de llamada.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
El parámetro dwFlags contiene marcas mutuamente excluyentes.
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
No se admite la secuencia de bytes.
MF_E_BYTESTREAM_NOT_SEEKABLE
La secuencia de bytes no admite la búsqueda.

Comentarios

El parámetro dwFlags debe contener la marca MF_RESOLUTION_MEDIASOURCE y no debe contener la marca MF_RESOLUTION_BYTESTREAM .

El solucionador de origen intenta buscar uno o varios controladores de secuencias de bytes para la secuencia de bytes, en función de la extensión de nombre de archivo de la dirección URL o el tipo MIME de la secuencia de bytes (o ambos). La dirección URL se especifica en el parámetro opcional pwszURL y el tipo MIME se puede especificar en el atributo MF_BYTESTREAM_CONTENT_TYPE de la secuencia de bytes. Los controladores de secuencia de bytes se registran por extensión de nombre de archivo o tipo MIME, o ambos, como se describe en Controladores de esquema y controladores de Byte-Stream. El autor de la llamada debe especificar al menos uno de estos valores.

Cuando se complete la operación, el solucionador de origen llama al método IMFAsyncCallback::Invoke . El método Invoke debe llamar a IMFSourceResolver::EndCreateObjectFromByteStream para obtener un puntero al origen multimedia.

Requisitos

   
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mfidl.h
Library Mfuuid.lib

Consulte también

IMFSourceResolver

Resolución de origen