[CLASSPNP] Fix MSVC build. Brought to you by Timo.
[reactos.git] / reactos / sdk / include / dxsdk / mixerocx.idl
1 import "unknwn.idl";
2
3 #define MIXER_DATA_ASPECT_RATIO 0x00000001
4 #define MIXER_DATA_NATIVE_SIZE 0x00000002
5 #define MIXER_DATA_PALETTE 0x00000004
6 #define MIXER_STATE_MASK 0x00000003
7 #define MIXER_STATE_UNCONNECTED 0x00000000
8 #define MIXER_STATE_CONNECTED_STOPPED 0x00000001
9 #define MIXER_STATE_CONNECTED_PAUSED 0x00000002
10 #define MIXER_STATE_CONNECTED_PLAYING 0x00000003
11
12 interface IMixerOCXNotify;
13 interface IMixerOCX;
14
15 [
16 object,
17 uuid(81A3BD31-DEE1-11d1-8508-00A0C91F9CA0),
18 pointer_default(unique)
19 ]
20 interface IMixerOCXNotify : IUnknown
21 {
22 HRESULT OnInvalidateRect([in] LPCRECT lpcRect);
23 HRESULT OnStatusChange([in] ULONG ulStatusFlags);
24 HRESULT OnDataChange([in] ULONG ulDataFlags);
25 };
26
27 [
28 object,
29 uuid(81A3BD32-DEE1-11d1-8508-00A0C91F9CA0),
30 pointer_default(unique)
31 ]
32 interface IMixerOCX : IUnknown
33 {
34 HRESULT OnDisplayChange([in] ULONG ulBitsPerPixel, [in] ULONG ulScreenWidth, [in] ULONG ulScreenHeight);
35 HRESULT GetAspectRatio([out] LPDWORD pdwPictAspectRatioX, [out] LPDWORD pdwPictAspectRatioY);
36 HRESULT GetVideoSize([out] LPDWORD pdwVideoWidth, [out] LPDWORD pdwVideoHeight);
37 HRESULT GetStatus([out] LPDWORD *pdwStatus);
38 HRESULT OnDraw([in] HDC hdcDraw, [in] LPCRECT prcDraw);
39 HRESULT SetDrawRegion([in] LPPOINT lpptTopLeftSC, [in] LPCRECT prcDrawCC, [in] LPCRECT lprcClip);
40 HRESULT Advise([in] IMixerOCXNotify *pmdns);
41 HRESULT UnAdvise();
42 };