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

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

本文简介:选择自 aoosang 的 blog

    switch (msg)

    {

        case wm_graphnotify:

            handleevent();  // application-defined function.

            break;

        // handle other windows messages here too.

    }

    return (defwindowproc(hwnd, msg, wparam, lparam));

}

由于事件通知和窗口的消息循环都是异步的,因此,当你的应用程序处理消息的时候,队列中或许有n个事件等待处理。因此,在你调用getevent的时候,一定要循环调用,直到返回一个错误码,这表明队列是空的。

当你释放imediaeventex 指针时,你可以调用setnotifywindow来取消事件通知,记住此时要给这个函数传递一个null指针。在你的事件处理程序中,在调用getevent之前一定要检查imediaeventex指针是否为空,这样就可以避免错误。

下面看看采取事件信号的通知方式。

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

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

go top