Функция 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));
}
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|