Condividi tramite


Metodo IMFSourceResolver::BeginCreateObjectFromByteStream (mfidl.h)

Avvia una richiesta asincrona per creare un'origine multimediale da un flusso di byte.

Sintassi

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

Parametri

[in] pByteStream

Puntatore all'interfaccia IMFByteStream del flusso di byte.

[in] pwszURL

Stringa con terminazione Null contenente l'URL originale del flusso di byte. Questo parametro può essere NULL.

[in] dwFlags

OR bit per bit di uno o più flag. Vedere Flag del resolver di origine.

[in] pProps

Puntatore all'interfaccia IPropertyStore di un archivio delle proprietà. Il metodo passa l'archivio delle proprietà al gestore del flusso di byte. Il gestore del flusso di byte può usare l'archivio delle proprietà per configurare l'origine multimediale. Questo parametro può essere NULL. Per altre informazioni, vedere Configurazione di un'origine multimediale.

[out] ppIUnknownCancelCookie

Riceve un puntatore IUnknown o il valore NULL. Se il valore non è NULL, è possibile annullare l'operazione asincrona passando questo puntatore al metodo IMFSourceResolver::CancelObjectCreation . Il chiamante deve rilasciare l'interfaccia. Questo parametro può essere NULL.

[in] pCallback

Puntatore all'interfaccia IMFAsyncCallback di un oggetto callback. Il chiamante deve implementare questa interfaccia.

[in] punkState

Puntatore all'interfaccia IUnknown di un oggetto stato, definito dal chiamante. Questo parametro può essere NULL. È possibile utilizzare questo oggetto per contenere le informazioni sullo stato. L'oggetto viene restituito al chiamante quando viene richiamato il callback.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
Il parametro dwFlags contiene flag che si escludono a vicenda.
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
Il flusso di byte non è supportato.
MF_E_BYTESTREAM_NOT_SEEKABLE
Il flusso di byte non supporta la ricerca.

Commenti

Il parametro dwFlags deve contenere il flag MF_RESOLUTION_MEDIASOURCE e non deve contenere il flag MF_RESOLUTION_BYTESTREAM .

Il resolver di origine tenta di trovare uno o più gestori di flusso di byte per il flusso di byte, in base all'estensione del nome file dell'URL o al tipo MIME del flusso di byte (o entrambi). L'URL viene specificato nel parametro pwszURL facoltativo e il tipo MIME può essere specificato nell'attributo MF_BYTESTREAM_CONTENT_TYPE nel flusso di byte. I gestori del flusso di byte vengono registrati dall'estensione del nome file o dal tipo MIME o entrambi, come descritto in Gestori schemi e gestori Byte-Stream. Il chiamante deve specificare almeno uno di questi valori.

Al termine dell'operazione, il resolver di origine chiama il metodo IMFAsyncCallback::Invoke . Il metodo Invoke deve chiamare IMFSourceResolver::EndCreateObjectFromByteStream per ottenere un puntatore all'origine multimediale.

Requisiti

   
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Mfuuid.lib

Vedi anche

IMFSourceResolver

Resolver di origine