惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
H
Help Net Security
小众软件
小众软件
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题
Last Week in AI
Last Week in AI
爱范儿
爱范儿
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
博客园 - 【当耐特】
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
博客园_首页
Jina AI
Jina AI
D
Docker
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志

博客园 - antistone

GoogleEarth截图技巧(转) Windows 7 中更改用户主目录 Sybase ASE ADO.NET驱动 乱码问题解决 C#开发Windows服务入门摘要 WinForm中使用Log4NET C# 中用信号量实现读者写者问题 测试Google文件的发布功能 Linux下OpenGL开发 -- 准备篇 FCKEditor工具条定制 FCKEditor的使用-asp 石头汤的故事 在JAVA中读取文件乱码的解决办法 Struts 内容简介(转) Xvid技术中的精彩部分[转] Marshal C#中数据类型与其他语言中的数据类型之间的对应关系 神州数码网络无线校园网整体解决方案及特点 关于web应用程序安全的思考(序)(转) NHibernate快速指南
GetCurrentImage的MSND说明,暂记
antistone · 2007-01-30 · via 博客园 - antistone

IBasicVideo::GetCurrentImage 

Microsoft DirectShow 9.0

IBasicVideo::GetCurrentImage

The GetCurrentImage method retrieves the current image waiting at the renderer.

Syntax

HRESULT GetCurrentImage(
  long *pBufferSize,
  long *pDIBImage
);

Parameters

pBufferSize

[in, out] Pointer to a variable that contains the size of the buffer that the caller is passing in. If pDIBImage is NULL, this parameter receives the required buffer size.

pDIBImage

[out] Pointer to a buffer where the complete image will be stored in device-independent bitmap (DIB) format. Cast the pointer to a long pointer type.

Return Values

Returns an HRESULT value.

Remarks

The Video Renderer filter and the Video Mixing Renderer (VMR) implement this method differently.

Video Renderer only:

This method fails if the renderer is using DirectDraw acceleration. Unfortunately, this depends on the end-user's hardware configuration, so in practice this method is not reliable.

Pause the Video Renderer before calling this method. Otherwise, the method returns VFW_E_NOT_PAUSED. Make sure that the pause operation has completed by calling IMediaControl::GetState; if the pause operation has not completed, the GetCurrentImage method returns E_UNEXPECTED. Depending on what data the source filter has available, the video renderer is not guaranteed to service this request. If no image is available, it returns E_FAIL.

Video Mixing Renderer only:

This method is reliable regardless of whether the VMR is using DirectDraw acceleration and regardless of the current graph state (running, stopped, or paused).

Video Renderer and Video Mixing Renderer:

To obtain the required buffer size to hold the image, call this method with a NULL pointer in the pDIBImage parameter. The method returns the required buffer size in the pBufferSize parameter. Allocate a buffer of that size and call the method again, with pDIBImage pointing to the buffer. On the second call, use pBufferSize to specify the buffer size. If the buffer is too small to hold the complete image, the method returns E_OUTOFMEMORY.

If the method succeeds, the buffer is filled with the entire DIB image, including the BITMAPINFOHEADER structure, plus any palette entries and bit masks as defined in the Win32 BITMAPINFO structure. The format of the image depends on the type provided by the source filter, and cannot be specified in advance.

Requirements

  Header: Dshow.h.

Library: Quartz.dll