Condividi tramite


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
S_OK
Il metodo è riuscito.
MF_E_CANNOT_PARSE_BYTESTREAM
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

Vedi anche

IMFByteStreamHandler

Gestori schemi e gestori di Byte-Stream