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


Функция GetBitmapFormatSize

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Функция GetBitmapFormatSize вычисляет размер, необходимый для структуры VIDEOINFO , которая может содержать указанную структуру BITMAPINFOHEADER .

Синтаксис

LONG GetBitmapFormatSize(
   const BITMAPINFOHEADER *pHeader
);

Параметры

pHeader

Указатель на структуру BITMAPINFOHEADER .

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

Возвращает размер в байтах.

Комментарии

За структурой BITMAPINFOHEADER могут следовать цветовые маски или записи палитры, поэтому может быть трудно определить количество байтов, необходимых для создания структуры VIDEOINFO на основе существующей структуры BITMAPINFOHEADER .

Чтобы скопировать структуру BITMAPINFOHEADER в структуру VIDEOINFO , используйте макрос HEADER , который вычисляет правильное смещение.

Примеры

LONG size = GetBitmapFormatSize(&bmi);

VIDEOINFO *pVi = static_cast<VIDEOINFO*>(CoTaskMemAlloc(size));

if (pVi != NULL)
{
    CopyMemory(HEADER(pVi), &bmi, sizeof(BITMAPINFOHEADER));
}

Требования

Требование Значение
Заголовок
Wxutil.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

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

Функции видео и изображений