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 |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Der dwFlags-Parameter enthält sich gegenseitig ausschließende Flags. |
|
Der Bytestream wird nicht unterstützt. |
|
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 |