IMediaEventEx 接口是 Microsoft Windows 平台上使用的一种 COM 接口,用于处理多媒体事件。在 Win32 API 中,它通常与 DirectShow 相关的多媒体框架一起使用,用于捕获、处理和响应多媒体事件。

以下是关于 IMediaEventEx 接口的一些基本信息:
#include <Control.h>

// 定义 IMediaEventEx 接口的 GUID
// {56A868C0-0AD4-11CE-B03A-0020AF0BA770}
DEFINE_GUID(IID_IMediaEventEx, 
0x56A868C0, 0x0AD4, 0x11CE, 0xB0, 0x3A, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70);

// IMediaEventEx 接口的定义
DECLARE_INTERFACE_(IMediaEventEx, IMediaEvent)
{
    // IMediaEvent 接口的成员函数
    STDMETHOD(GetEventHandle)(THIS_ OAEVENT *hEvent) PURE;
    STDMETHOD(GetEvent)(THIS_ long *lEventCode, long *lParam1, long *lParam2, long msTimeout) PURE;
    STDMETHOD(WaitForCompletion)(THIS_ long msTimeout, long *pEvCode) PURE;
    STDMETHOD(CancelDefaultHandling)(THIS_ long lEvCode) PURE;
    STDMETHOD(RestoreDefaultHandling)(THIS_ long lEvCode) PURE;
    STDMETHOD(FreeEventParams)(THIS_ long lEvCode, long lParam1, long lParam2) PURE;
    STDMETHOD(SetNotifyWindow)(THIS_ OAHWND hwnd, long lMsg, long lInstanceData) PURE;
    STDMETHOD(SetNotifyFlags)(THIS_ long lNoNotifyFlags) PURE;
    STDMETHOD(GetNotifyFlags)(THIS_ long *lplNoNotifyFlags) PURE;
};

// 定义 IMediaEventEx 接口的别名
typedef IMediaEventEx *PIMediaEventEx;

这段代码展示了 IMediaEventEx 接口的定义和相关的一些函数。你可以使用这个接口来注册事件通知、等待事件的发生、取消默认处理等操作,以实现对多媒体事件的控制。这在处理视频和音频播放、捕获等场景中非常有用。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25104/Win32 API/Control.h/IMediaEventEx