Функция MFCalculateBitmapImageSize (mfapi.h)

Извлекает размер изображения для видеоформата. При использовании структуры BITMAPINFOHEADER эта функция вычисляет правильное значение члена biSizeImage .

Синтаксис

HRESULT MFCalculateBitmapImageSize(
  [in]  const BITMAPINFOHEADER *pBMIH,
  [in]  UINT32                 cbBufSize,
  [out] UINT32                 *pcbImageSize,
  [out] BOOL                   *pbKnown
);

Параметры

[in] pBMIH

Указатель на структуру BITMAPINFOHEADER , описывающую формат.

[in] cbBufSize

Размер буфера pBMIH в байтах. Размер включает все цветовые маски или записи палитры, которые соответствуют структуре BITMAPINFOHEADER .

[out] pcbImageSize

Получает размер изображения в байтах.

[out] pbKnown

Получает значение TRUE , если функция распознает формат видео. В противном случае получает значение FALSE. Этот параметр может принимать значение NULL.

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

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

Код возврата Описание
S_OK
Функция выполнена успешно.
E_INVALIDARG
Недопустимая структура BITMAPINFOHEADER или слишком малое значение cbBufSize.

Комментарии

Перед вызовом этой функции необходимо задать по крайней мере следующие элементы структуры BITMAPINFOHEADER :

  • biCompression
  • biBitCount
  • biWidth
  • biHeight
Кроме того, если параметр biCompressionBI_BITFIELDS, за структурой BITMAPINFOHEADER должен следовать массив цветовых масок.

Эта функция завершается сбоем, если структура BITMAPINFOHEADER описывает формат, который не является форматом видео. Например, он завершается ошибкой, если параметр biCompressonBI_JPEG или BI_PNG .

Эта функция доступна на следующих платформах, если установлены распространяемые компоненты пакета SDK для Windows Media Format 11:

  • Windows XP с пакетом обновления 2 (SP2) и более поздних версий.
  • Windows XP Media Center Edition 2005 с установленными kb900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления для Windows XP Media Center Edition за октябрь 2006 г.).

Требования

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

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

Функции Media Foundation