import "unknwn.idl"; #define MIXER_DATA_ASPECT_RATIO 0x00000001 #define MIXER_DATA_NATIVE_SIZE 0x00000002 #define MIXER_DATA_PALETTE 0x00000004 #define MIXER_STATE_MASK 0x00000003 #define MIXER_STATE_UNCONNECTED 0x00000000 #define MIXER_STATE_CONNECTED_STOPPED 0x00000001 #define MIXER_STATE_CONNECTED_PAUSED 0x00000002 #define MIXER_STATE_CONNECTED_PLAYING 0x00000003 interface IMixerOCXNotify; interface IMixerOCX; [ object, uuid(81A3BD31-DEE1-11d1-8508-00A0C91F9CA0), pointer_default(unique) ] interface IMixerOCXNotify : IUnknown { HRESULT OnInvalidateRect([in] LPCRECT lpcRect); HRESULT OnStatusChange([in] ULONG ulStatusFlags); HRESULT OnDataChange([in] ULONG ulDataFlags); }; [ object, uuid(81A3BD32-DEE1-11d1-8508-00A0C91F9CA0), pointer_default(unique) ] interface IMixerOCX : IUnknown { HRESULT OnDisplayChange([in] ULONG ulBitsPerPixel, [in] ULONG ulScreenWidth, [in] ULONG ulScreenHeight); HRESULT GetAspectRatio([out] LPDWORD pdwPictAspectRatioX, [out] LPDWORD pdwPictAspectRatioY); HRESULT GetVideoSize([out] LPDWORD pdwVideoWidth, [out] LPDWORD pdwVideoHeight); HRESULT GetStatus([out] LPDWORD *pdwStatus); HRESULT OnDraw([in] HDC hdcDraw, [in] LPCRECT prcDraw); HRESULT SetDrawRegion([in] LPPOINT lpptTopLeftSC, [in] LPCRECT prcDrawCC, [in] LPCRECT lprcClip); HRESULT Advise([in] IMixerOCXNotify *pmdns); HRESULT UnAdvise(); };