IMFByteStreamHandler::BeginCreateObject-Methode (mfidl.h)
Startet eine asynchrone Anforderung zum Erstellen einer Medienquelle aus einem Bytestream.
Syntax
HRESULT BeginCreateObject(
[in] IMFByteStream *pByteStream,
[in] LPCWSTR pwszURL,
[in] DWORD dwFlags,
[in] IPropertyStore *pProps,
[out] IUnknown **ppIUnknownCancelCookie,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
Parameter
[in] pByteStream
Zeiger auf die IMFByteStream-Schnittstelle des Bytestreams.
[in] pwszURL
Zeichenfolge, die die ursprüngliche URL des Bytestreams enthält. Dieser Parameter kann NULL sein.
[in] dwFlags
Bitweise OR mit null oder mehr Flags. Weitere Informationen finden Sie unter Quelllöserflags.
[in] pProps
Zeiger auf die IPropertyStore-Schnittstelle eines Eigenschaftenspeichers. Der byte-stream-Handler kann diesen Eigenschaftenspeicher verwenden, um das Objekt 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 IMFByteStreamHandler::CancelObjectCreation-Methode übergeben. Der Aufrufer muss die Schnittstelle freigeben. Dieser Parameter kann NULL sein.
[in] pCallback
Zeiger auf die IMFAsyncCallback-Schnittstelle eines Rückrufobjekts. Der Aufrufer muss diese Schnittstelle implementieren.
[in] punkState
Zeiger auf die IUnknown-Schnittstelle eines Zustandsobjekts, das 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 Bytedatenstrom kann nicht analysiert werden. |
Hinweise
Der dwFlags-Parameter muss das MF_RESOLUTION_MEDIASOURCE-Flag enthalten und darf nicht das MF_RESOLUTION_BYTESTREAM-Flag enthalten.
Der Bytestreamhandler ist für die Analyse des Datenstroms und die Überprüfung des Inhalts verantwortlich. Wenn der Stream ungültig ist oder der Bytedatenstromhandler den Stream nicht analysieren kann, sollte der Handler einen Fehlercode zurückgeben. Es ist nicht garantiert, dass der Bytestream dem Typ des Datenstroms entspricht, für den der Bytehandler konzipiert ist.
Wenn der pwszURL-Parameter nicht NULL ist, kann der Bytestreamhandler die URL während des Auflösungsprozesses verwenden. (Wenn vorhanden, kann z. B. die Dateinamenerweiterung verwendet werden.) Außerdem kann der Bytestream das attribut MF_BYTESTREAM_CONTENT_TYPE enthalten, das den MIME-Typ angibt.
Nach Abschluss des Vorgangs ruft der byte-stream-Handler die IMFAsyncCallback::Invoke-Methode auf. Die Invoke-Methode sollte IMFByteStreamHandler::EndCreateObject aufrufen, um einen Zeiger auf die Medienquelle abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
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 |