Partager via


Méthode IMFASFContentInfo::P arseHeader (wmcontainer.h)

Analyse les informations d’un en-tête ASF et utilise ces informations pour définir des valeurs dans l’objet ContentInfo. Vous pouvez passer l’en-tête entier dans une mémoire tampon unique ou l’envoyer en plusieurs parties.

Syntaxe

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

Paramètres

[in] pIHeaderBuffer

Pointeur vers l’interface IMFMediaBuffer d’un objet tampon contenant tout ou partie de l’en-tête. La mémoire tampon doit contenir au moins 30 octets, ce qui correspond à la taille de l’objet Header, sans inclure les objets contenus dans l’objet Header (autrement dit, tout jusqu’à et y compris le champ Reserved2 dans l’objet Header).

[in] cbOffsetWithinHeader

Décalage, en octets, du premier octet de la mémoire tampon par rapport au début de l’en-tête.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
L’en-tête est complètement analysé et validé.
MF_E_ASF_INVALIDDATA
La mémoire tampon d’entrée ne contient pas de données ASF valides.
MF_E_BUFFERTOOSMALL
La mémoire tampon d’entrée est trop petite.
MF_S_ASF_PARSEINPROGRESS
La méthode a réussi, mais l’en-tête passé était incomplet. Il s’agit du code de retour réussi pour tous les appels, sauf le dernier lors du passage de l’en-tête par morceaux.

Remarques

Si vous transmettez l’en-tête par morceaux, l’objet ContentInfo conserve les références aux objets de mémoire tampon jusqu’à ce que l’en-tête entier soit analysé. Par conséquent, n’écrivez pas sur les mémoires tampons passées dans cette méthode.

Le début de l’objet Header a la disposition suivante en mémoire :

Nom du champ Taille en octets
ID objet 16
Taille de l’objet 8
Nombre d’objets d’en-tête 4
Reserved1 1
Reserved2 1
 

Le premier appel à ParseHeader lit tout jusqu’à et y compris Rerserved2, de sorte qu’il nécessite un minimum de 30 octets. (Notez que la méthode IMFASFContentInfo::GetHeaderSize lit uniquement les champs ID d’objet et Taille de l’objet, de sorte que la méthode nécessite un minimum de 24 octets.)

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wmcontainer.h
Bibliothèque Mfuuid.lib

Voir aussi

IMFASFContentInfo

Initialisation de l’objet ContentInfo d’un nouveau fichier ASF