CBaseControlVideo.GetImageSize 方法

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

方法 GetImageSize 检索视频图像大小信息。

语法

HRESULT GetImageSize(
   VIDEOINFOHEADER *pVideoInfo,
   long            *pBufferSize,
   RECT            *pSourceRect
);

参数

pVideoInfo

指向要填充的 VIDEOINFOHEADER 结构的指针。

pBufferSize

指向视频缓冲区大小的指针。

pSourceRect

指向源视频的矩形尺寸的指针。

返回值

返回依赖于实现的 HRESULT 值;可以是以下值之一,也可以是未列出的其他值。

返回代码 说明
E_FAIL
失败。
E_INVALIDARG
无效的参数。 数据格式不兼容。
E_UNEXPECTED
出现了意外错误。 一个或多个参数为 NULL
NOERROR
成功。

备注

此成员函数是一个帮助程序函数,用于创建 DIB 图像的内存图像呈现。 当 NULL pVideoImage 参数传递给该成员函数时,它从 CBaseControlVideo::GetCurrentImage 的基类实现中调用。 因此,此成员函数使用 pBufferSizepSourceRect 中的信息构造并返回 VIDEOINFOHEADER 结构。

要求

要求
标头
Ctlutil.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CBaseControlVideo 类