MFCalculateBitmapImageSize 函数 (mfapi.h)

检索视频格式的图像大小。 给定 BITMAPINFOHEADER 结构,此函数计算 biSizeImage 成员的正确值。

语法

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

parameters

[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
此外,如果BI_BITFIELDSbiCompression,则 BITMAPINFOHEADER 结构必须后跟颜色掩码数组。

如果 BITMAPINFOHEADER 结构描述的格式不是视频格式,则此函数将失败。 例如,如果 biCompressonBI_JPEGBI_PNG ,则失败。

如果安装了 Windows Media Format 11 SDK 可再发行组件,则此函数在以下平台上可用:

  • Windows XP with Service Pack 2 (SP2) 及更高版本。
  • Windows XP Media Center Edition 2005 (WINDOWS XP Media Center Edition 2005) 和 KB925766 (2006 年 10 月更新汇总中安装了 Windows XP Media Center Edition) 。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 mfapi.h
Library Mfplat.lib
DLL Mfplat.dll

另请参阅

媒体基础函数