GetBitmapFormatSize 函数

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

函数GetBitmapFormatSize计算可以保存指定 BITMAPINFOHEADER 结构的 VIDEOINFO 结构所需的大小。

语法

LONG GetBitmapFormatSize(
   const BITMAPINFOHEADER *pHeader
);

参数

pHeader

指向 BITMAPINFOHEADER 结构的指针。

返回值

返回大小(以字节为单位)。

备注

BITMAPINFOHEADER 结构后跟颜色掩码或调色板条目,因此很难确定从现有 BITMAPINFOHEADER 结构构造 VIDEOINFO 结构所需的字节数。

若要将 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 (调试生成)

另请参阅

视频和图像函数