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 |
---|---|
|
Der Header wird vollständig analysiert und überprüft. |
|
Der Eingabepuffer enthält keine gültigen ASF-Daten. |
|
Der Eingabepuffer ist zu klein. |
|
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
Initialisieren des ContentInfo-Objekts einer neuen ASF-Datei