Metodo IMFByteStreamHandler::BeginCreateObject (mfidl.h)
Avvia una richiesta asincrona per creare un'origine multimediale da un flusso di byte.
Sintassi
HRESULT BeginCreateObject(
[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 FMByteStream del flusso di byte.
[in] pwszURL
Stringa contenente l'URL originale del flusso di byte. Questo parametro può essere NULL.
[in] dwFlags
OR bit per bit di zero o più flag. Vedere Flag del resolver di origine.
[in] pProps
Puntatore all'interfaccia IPropertyStore di un archivio proprietà. Il gestore di byte-stream può usare questo archivio proprietà per configurare l'oggetto. 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 IMFByteStreamHandler::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 usare questo oggetto per contenere informazioni sullo stato. L'oggetto viene restituito al chiamante quando viene richiamato il callback.
Valore restituito
Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Impossibile analizzare il flusso di byte. |
Commenti
Il parametro dwFlags deve contenere il flag di MF_RESOLUTION_MEDIASOURCE e non deve contenere il flag di MF_RESOLUTION_BYTESTREAM.
Il gestore di flusso byte è responsabile dell'analisi del flusso e della convalida del contenuto. Se il flusso non è valido o il gestore del flusso di byte non può analizzare il flusso, il gestore deve restituire un codice di errore. Il flusso di byte non è garantito corrispondere al tipo di flusso progettato dal gestore byte per l'analisi.
Se il parametro pwszURL non è NULL, il gestore di flusso byte potrebbe usare l'URL durante il processo di risoluzione. Ad esempio, potrebbe usare l'estensione del nome file, se presente. Inoltre, il flusso di byte potrebbe contenere l'attributo MF_BYTESTREAM_CONTENT_TYPE , specificando il tipo MIME.
Al termine dell'operazione, il gestore di flusso byte chiama il metodo FMAsyncCallback::Invoke . Il metodo Invoke deve chiamare FMByteStreamHandler::EndCreateObject per ottenere un puntatore all'origine multimediale.
Requisiti
Requisito | Valore |
---|---|
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 |