Share via


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
S_OK
Die Methode wurde erfolgreich ausgeführt.
MF_E_CANNOT_PARSE_BYTESTREAM
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

Weitere Informationen

IMFByteStreamHandler

Schemahandler und Byte-Stream Handler