Поделиться через


МЕТОД IMFASFContentInfo::P arseHeader (wmcontainer.h)

Анализирует сведения в заголовке ASF и использует их для задания значений в объекте ContentInfo. Вы можете передать весь заголовок в одном буфере или отправить его несколькими частями.

Синтаксис

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

Параметры

[in] pIHeaderBuffer

Указатель на интерфейс IMFMediaBuffer объекта buffer, содержащего часть или весь заголовок. Буфер должен содержать не менее 30 байт, что соответствует размеру объекта header, не включая объекты, содержащиеся в объекте header (т. е. все, вплоть до поля Reserved2 в объекте заголовка).

[in] cbOffsetWithinHeader

Смещение (в байтах) первого байта в буфере относительно начала заголовка.

Возвращаемое значение

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Заголовок полностью проанализирован и проверен.
MF_E_ASF_INVALIDDATA
Входной буфер не содержит допустимые данные ASF.
MF_E_BUFFERTOOSMALL
Входной буфер слишком мал.
MF_S_ASF_PARSEINPROGRESS
Метод выполнен успешно, но переданный заголовок был неполным. Это код успешного возврата для всех вызовов, кроме последнего при передаче заголовка по частям.

Комментарии

Если передать заголовок по частям, объект ContentInfo будет хранить ссылки на объекты буфера до тех пор, пока не будет проанализирован весь заголовок. Поэтому не записывайте буферы, переданные в этот метод.

Начало объекта Header имеет следующий макет в памяти:

Имя поля Размер (в байтах)
Идентификатор объекта. 16
Размер объекта 8
Количество объектов заголовков 4
Reserved1 1
Reserved2 1
 

Первый вызов ParseHeader считывает все данные, вплоть до Rerserved2, поэтому требуется не менее 30 байт. (Обратите внимание, что метод IMFASFContentInfo::GetHeaderSize считывает только поля Идентификатор объекта и Размер объекта, поэтому для этого метода требуется не менее 24 байт.)

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header wmcontainer.h
Библиотека Mfuuid.lib

См. также раздел

IMFASFContentInfo

Инициализация объекта ContentInfo нового ASF-файла