Método IMFASFContentInfo::P arseHeader (wmcontainer.h)
Analisa as informações em um cabeçalho ASF e usa essas informações para definir valores no objeto ContentInfo. Você pode passar o cabeçalho inteiro em um único buffer ou enviá-lo em várias partes.
Sintaxe
HRESULT ParseHeader(
[in] IMFMediaBuffer *pIHeaderBuffer,
[in] QWORD cbOffsetWithinHeader
);
Parâmetros
[in] pIHeaderBuffer
Ponteiro para a interface IMFMediaBuffer de um objeto buffer que contém alguns ou todos os cabeçalhos. O buffer deve conter pelo menos 30 bytes, que é o tamanho do Objeto Header, sem incluir os objetos contidos no Objeto Header (ou seja, tudo até e incluindo o campo Reserved2 no Objeto Header).
[in] cbOffsetWithinHeader
Deslocamento, em bytes, do primeiro byte no buffer em relação ao início do cabeçalho.
Valor retornado
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O cabeçalho é completamente analisado e validado. |
|
O buffer de entrada não contém dados ASF válidos. |
|
O buffer de entrada é muito pequeno. |
|
O método foi bem-sucedido, mas o cabeçalho passado estava incompleto. Esse é o código de retorno bem-sucedido para todas as chamadas, exceto a última ao passar o cabeçalho em partes. |
Comentários
Se você passar o cabeçalho em partes, o objeto ContentInfo manterá referências aos objetos buffer até que todo o cabeçalho seja analisado. Portanto, não escreva sobre os buffers passados para esse método.
O início do objeto Header tem o seguinte layout na memória:
Nome do campo | Tamanho em Bytes |
---|---|
ID de objeto | 16 |
Tamanho do objeto | 8 |
Número de objetos de cabeçalho | 4 |
Reserved1 | 1 |
Reserved2 | 1 |
A primeira chamada para ParseHeader lê tudo até e incluindo Rerserved2, portanto, requer um mínimo de 30 bytes. (Observe que o método IMFASFContentInfo::GetHeaderSize lê apenas os campos ID do Objeto e Tamanho do Objeto, de modo que o método requer um mínimo de 24 bytes.)
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wmcontainer.h |
Biblioteca | Mfuuid.lib |