Método IMFSourceResolver::BeginCreateObjectFromByteStream (mfidl.h)
Inicia uma solicitação assíncrona para criar uma fonte de mídia de um fluxo de bytes.
Sintaxe
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
Um ponteiro para a interface IMFByteStream do fluxo de bytes.
[in] pwszURL
Uma cadeia de caracteres terminada em nulo que contém a URL original do fluxo de bytes. Este parâmetro pode ser NULL.
[in] dwFlags
Um OR bit a bit de um ou mais sinalizadores. Consulte Sinalizadores de resolvedor de origem.
[in] pProps
Um ponteiro para a interface IPropertyStore de um repositório de propriedades. O método passa o repositório de propriedades para o manipulador de fluxo de bytes. O manipulador de fluxo de bytes pode usar o repositório de propriedades para configurar a origem da mídia. Este parâmetro pode ser NULL. Para obter mais informações, consulte Configurando uma fonte de mídia.
[out] ppIUnknownCancelCookie
Recebe um ponteiro IUnknown ou o valor NULL. Se o valor não for NULL, você poderá cancelar a operação assíncrona passando esse ponteiro para o método IMFSourceResolver::CancelObjectCreation . O chamador deve liberar a interface . Este parâmetro pode ser NULL.
[in] pCallback
Um ponteiro para a interface IMFAsyncCallback de um objeto de retorno de chamada. O chamador deve implementar essa interface.
[in] punkState
Um ponteiro para a interface IUnknown de um objeto de estado, definido pelo chamador. Este parâmetro pode ser NULL. Você pode usar esse objeto para armazenar informações de estado. O objeto é retornado ao chamador quando o retorno de chamada é invocado.
Valor retornado
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
O parâmetro dwFlags contém sinalizadores mutuamente exclusivos. |
|
Não há suporte para o fluxo de bytes. |
|
O fluxo de bytes não dá suporte à busca. |
Comentários
O parâmetro dwFlags deve conter o sinalizador MF_RESOLUTION_MEDIASOURCE e não deve conter o sinalizador MF_RESOLUTION_BYTESTREAM .
O resolvedor de origem tenta localizar um ou mais manipuladores de fluxo de bytes para o fluxo de bytes, com base na extensão de nome de arquivo da URL ou no tipo MIME do fluxo de bytes (ou ambos). A URL é especificada no parâmetro pwszURL opcional e o tipo MIME pode ser especificado no atributo MF_BYTESTREAM_CONTENT_TYPE no fluxo de bytes. Manipuladores de fluxo de bytes são registrados por extensão de nome de arquivo ou tipo MIME, ou ambos, conforme descrito em Manipuladores de Esquema e manipuladores de Byte-Stream. O chamador deve especificar pelo menos um desses valores.
Quando a operação for concluída, o resolvedor de origem chamará o método IMFAsyncCallback::Invoke . O método Invoke deve chamar IMFSourceResolver::EndCreateObjectFromByteStream para obter um ponteiro para a fonte de mídia.
Requisitos
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | mfidl.h |
Biblioteca | Mfuuid.lib |