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 |
---|---|
|
Il metodo è riuscito. |
|
Il parametro dwFlags contiene flag che si escludono a vicenda. |
|
Il flusso di byte non è supportato. |
|
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 |