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指针是否为空,这样就可以避免错误。
下面看看采取事件信号的通知方式。