IMFSourceResolver::BeginCreateObjectFromByteStream-Methode (mfidl.h)

Startet eine asynchrone Anforderung zum Erstellen einer Medienquelle aus einem Bytestream.

Syntax

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

Parameter

[in] pByteStream

Ein Zeiger auf die IMFByteStream-Schnittstelle des Bytestreams.

[in] pwszURL

Eine NULL-Zeichenfolge, die die ursprüngliche URL des Bytestreams enthält. Dieser Parameter kann NULL sein.

[in] dwFlags

Ein bitweiser OR eines oder mehrerer Flags. Weitere Informationen finden Sie unter Quelllöserflags.

[in] pProps

Ein Zeiger auf die IPropertyStore-Schnittstelle eines Eigenschaftenspeichers. Die -Methode übergibt den Eigenschaftenspeicher an den Bytestromhandler. Der Bytestreamhandler kann den Eigenschaftenspeicher verwenden, um die Medienquelle zu konfigurieren. Dieser Parameter kann NULL sein. Weitere Informationen finden Sie unter Konfigurieren einer Medienquelle.

[out] ppIUnknownCancelCookie

Empfängt einen IUnknown-Zeiger oder den Wert NULL. Wenn der Wert nicht NULL ist, können Sie den asynchronen Vorgang abbrechen, indem Sie diesen Zeiger an die IMFSourceResolver::CancelObjectCreation-Methode übergeben. Der Aufrufer muss die Schnittstelle freigeben. Dieser Parameter kann NULL sein.

[in] pCallback

Ein Zeiger auf die IMFAsyncCallback-Schnittstelle eines Rückrufobjekts. Der Aufrufer muss diese Schnittstelle implementieren.

[in] punkState

Ein Zeiger auf die IUnknown-Schnittstelle eines Zustandsobjekts, der vom Aufrufer definiert wird. Dieser Parameter kann NULL sein. Sie können dieses Objekt verwenden, um Zustandsinformationen aufzunehmen. Das -Objekt wird an den Aufrufer zurückgegeben, wenn der Rückruf aufgerufen wird.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
Der dwFlags-Parameter enthält sich gegenseitig ausschließende Flags.
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
Der Bytestream wird nicht unterstützt.
MF_E_BYTESTREAM_NOT_SEEKABLE
Der Bytestream unterstützt die Suche nicht.

Hinweise

Der dwFlags-Parameter muss das MF_RESOLUTION_MEDIASOURCE-Flag enthalten und darf nicht das MF_RESOLUTION_BYTESTREAM-Flag enthalten.

Der Quelllöser versucht, einen oder mehrere Byte-Stream-Handler für den Bytestream zu finden, basierend auf der Dateinamenerweiterung der URL oder dem MIME-Typ des Bytedatenstroms (oder beides). Die URL wird im optionalen pwszURL-Parameter angegeben, und der MIME-Typ kann im MF_BYTESTREAM_CONTENT_TYPE-Attribut für den Bytestream angegeben werden. Byte-Stream-Handler werden nach Dateinamenerweiterung oder MIME-Typ oder beidem registriert, wie unter Schemahandler und Byte-Stream Handler beschrieben. Der Aufrufer sollte mindestens einen dieser Werte angeben.

Nach Abschluss des Vorgangs ruft der Quelllöser die IMFAsyncCallback::Invoke-Methode auf. Die Invoke-Methode sollte IMFSourceResolver::EndCreateObjectFromByteStream aufrufen, um einen Zeiger auf die Medienquelle abzurufen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfidl.h
Bibliothek Mfuuid.lib

Weitere Informationen

IMFSourceResolver

Quelllöser