МЕТОД 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. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Заголовок полностью проанализирован и проверен. |
|
Входной буфер не содержит допустимые данные ASF. |
|
Входной буфер слишком мал. |
|
Метод выполнен успешно, но переданный заголовок был неполным. Это код успешного возврата для всех вызовов, кроме последнего при передаче заголовка по частям. |
Комментарии
Если передать заголовок по частям, объект 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 |