直接显示SetNotifyWindow函数

时间:2015-01-19 09:28:05

标签: c# winapi directshow directshow.net

sourceforge我下载了一些示例来帮助我使用Direct Show库。在代码中他定义了一个常量(用它作为地址)在 SetNotifyWindow 中使用它我不喜欢#39;理解为什么我们引用我们最终定义的某些消息。

常量(消息):

 // Application-defined message to notify app of filtergraph events
 public const int WM_GRAPHNOTIFY = 0x8000 + 1;

媒体事件属性:

// provides method to retrieve the events 
IMediaEventEx mediaEventEx;

SetNotifyWindow函数使用此地址:

 //set the notify window
        //(NB:hr-->hresult (com device error for more http://msdn.microsoft.com/en-us/library/windows/desktop/dd375623%28v=vs.85%29.aspx)
        int hr = mediaEventEx.SetNotifyWindow(ptr, WM_GRAPHNOTIFY, IntPtr.Zero);

1 个答案:

答案 0 :(得分:0)

您正在设置通知。当你应该进行一些处理时,你告诉FGM要发回给你的消息。

来自MSDN on IMediaEventEx::SetNotifyWindow

  

当窗口收到消息时,应调用IMediaEvent::GetEvent方法来检索事件。事件是异步的,因此队列可能包含多个事件(或没有事件)。重复调用GetEvent,直到它返回错误代码。