Share via


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

Analiza la información de un encabezado ASF y usa esa información para establecer valores en el objeto ContentInfo. Puede pasar todo el encabezado en un único búfer o enviarlo en varias partes.

Sintaxis

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

Parámetros

[in] pIHeaderBuffer

Puntero a la interfaz IMFMediaBuffer de un objeto de búfer que contiene algunos o todos los encabezados. El búfer debe contener al menos 30 bytes, que es el tamaño del objeto header, no incluidos los objetos incluidos en el objeto header (es decir, todo hasta y incluido el campo Reserved2 en el objeto header).

[in] cbOffsetWithinHeader

Desplazamiento, en bytes, del primer byte del búfer con respecto al principio del encabezado.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El encabezado se analiza y valida por completo.
MF_E_ASF_INVALIDDATA
El búfer de entrada no contiene datos ASF válidos.
MF_E_BUFFERTOOSMALL
El búfer de entrada es demasiado pequeño.
MF_S_ASF_PARSEINPROGRESS
El método se realizó correctamente, pero el encabezado pasado estaba incompleto. Este es el código de retorno correcto para todas las llamadas, pero la última al pasar el encabezado en partes.

Observaciones

Si pasa el encabezado en partes, el objeto ContentInfo mantendrá las referencias a los objetos de búfer hasta que se analice todo el encabezado. Por lo tanto, no escriba sobre los búferes pasados a este método.

El inicio del objeto Header tiene el siguiente diseño en memoria:

Nombre del campo Tamaño en bytes
Identificador de objeto 16
Tamaño de objeto 8
Número de objetos de encabezado 4
Reserved1 1
Reserved2 1
 

La primera llamada a ParseHeader lee todo hasta e incluye Rerserved2, por lo que requiere un mínimo de 30 bytes. (Tenga en cuenta que el método IMFASFContentInfo::GetHeaderSize solo lee los campos Id. de objeto y Tamaño de objeto, por lo que ese método requiere un mínimo de 24 bytes).

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wmcontainer.h
Library Mfuuid.lib

Consulte también

IMFASFContentInfo

Inicialización del objeto ContentInfo de un nuevo archivo ASF