DirectShow中的事件通知机制[3]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 aoosang 的 blog

 应用程序通过调用图表管理器的imediaevent::getevent方法来从事件队列中获取事件。如果有事件发生,该函数就返回一个事件码和两个参数,如果没有事件,则一直阻塞直到有事件发生和超过某个时间。调用getevent函数后,应用程序必须调用imediaevent::freeeventparams来释放事件码所带参数的资源。例如,某个参数可能是由filter graph分配的内存。

下面的代码演示了如何从事件队列中提取事件

long evcode, param1, param2;

hresult hr;

while (hr = pevent->getevent(&evcode, &param1, &param2, 0), succeeded(hr))

{

    switch(evcode)

    {

        // call application-defined functions for each

        // type of event that you want to handle.

    }

    hr = pevent->freeeventparams(evcode, param1, param2);

}

本文关键:DirectShow中的事件通知机制
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top