Freigeben über


IMFASFContentInfo::P arseHeader-Methode (wmcontainer.h)

Analysiert die Informationen in einem ASF-Header und verwendet diese Informationen, um Werte im ContentInfo-Objekt festzulegen. Sie können den gesamten Header in einem einzelnen Puffer übergeben oder in mehreren Teilen senden.

Syntax

HRESULT ParseHeader(
  [in] IMFMediaBuffer *pIHeaderBuffer,
  [in] QWORD          cbOffsetWithinHeader
);

Parameter

[in] pIHeaderBuffer

Zeiger auf die IMFMediaBuffer-Schnittstelle eines Pufferobjekts, das den Header teilweise oder vollständig enthält. Der Puffer muss mindestens 30 Byte enthalten, was der Größe des Header-Objekts entspricht, wobei die im Header-Objekt enthaltenen Objekte nicht eingeschlossen sind (d. a. alles bis und einschließlich des Felds Reserviert2 im Header-Objekt).

[in] cbOffsetWithinHeader

Offset in Byte des ersten Byte im Puffer relativ zum Anfang des Headers.

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
Der Header wird vollständig analysiert und überprüft.
MF_E_ASF_INVALIDDATA
Der Eingabepuffer enthält keine gültigen ASF-Daten.
MF_E_BUFFERTOOSMALL
Der Eingabepuffer ist zu klein.
MF_S_ASF_PARSEINPROGRESS
Die Methode war erfolgreich, aber der übergebene Header war unvollständig. Dies ist der erfolgreiche Rückgabecode für alle Aufrufe, aber der letzte, wenn der Header in Teilen übergeben wird.

Hinweise

Wenn Sie den Header in Teilen übergeben, behält das ContentInfo-Objekt Verweise auf die Pufferobjekte bei, bis der gesamte Header analysiert wird. Schreiben Sie daher nicht über die Puffer, die an diese Methode übergeben werden.

Der Anfang des Header-Objekts weist das folgende Layout im Arbeitsspeicher auf:

Feldname Größe in Byte
Objekt-ID 16
Objektgröße 8
Anzahl der Headerobjekte 4
Reserved1 1
Reserved2 1
 

Der erste Aufruf von ParseHeader liest alles bis einschließlich Rerserved2, sodass mindestens 30 Byte erforderlich sind. (Beachten Sie, dass die IMFASFContentInfo::GetHeaderSize-Methode nur die Felder Objekt-ID und Objektgröße liest, sodass für diese Methode mindestens 24 Bytes erforderlich sind.)

Anforderungen

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

Weitere Informationen

IMFASFContentInfo

Initialisieren des ContentInfo-Objekts einer neuen ASF-Datei