OSDN Git Service

Avoid an implication that the API is exclusively 32-bit.
[mingw/mingw-org-wsl.git] / wslapi / include / shobjidl.h
1 #ifndef _SHLOBJIDL_H
2 #define _SHLOBJIDL_H
3 #if __GNUC__ >= 3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #include <ole2.h>
12 #include <shlguid.h>
13 #include <shellapi.h>
14 #pragma pack(push,1)
15 #include <commctrl.h>
16
17 extern const IID IID_ITaskbarList3;
18 extern const GUID CLSID_ITaskbarList;
19
20 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562322%28v=vs.85%29.aspx */
21 typedef enum THUMBBUTTONMASK {
22   THB_BITMAP    = 0x00000001,
23   THB_ICON      = 0x00000002,
24   THB_TOOLTIP   = 0x00000004,
25   THB_FLAGS     = 0x00000008
26 } THUMBBUTTONMASK;
27
28 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562321%28v=vs.85%29.aspx */
29 typedef enum THUMBBUTTONFLAGS {
30   THBF_ENABLED          = 0x00000000,
31   THBF_DISABLED         = 0x00000001,
32   THBF_DISMISSONCLICK   = 0x00000002,
33   THBF_NOBACKGROUND     = 0x00000004,
34   THBF_HIDDEN           = 0x00000008,
35   THBF_NONINTERACTIVE   = 0x00000010
36 } THUMBBUTTONFLAGS;
37
38 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391559%28v=vs.85%29.aspx */
39 typedef struct THUMBBUTTON {
40   THUMBBUTTONMASK  dwMask;
41   UINT             iId;
42   UINT             iBitmap;
43   HICON            hIcon;
44   WCHAR            szTip[260];
45   THUMBBUTTONFLAGS dwFlags;
46 } THUMBBUTTON, *LPTHUMBBUTTON;
47
48 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
49 typedef enum TBPFLAG {
50     TBPF_NOPROGRESS    = 0x00000000,
51     TBPF_INDETERMINATE = 0x00000001,
52     TBPF_NORMAL        = 0x00000002,
53     TBPF_ERROR         = 0x00000004,
54     TBPF_PAUSED        = 0x00000008
55 } TBPFLAG;
56
57 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774652%28v=vs.85%29.aspx */
58 #define INTERFACE ITaskbarList
59 DECLARE_INTERFACE_(ITaskbarList, IUnknown)
60 {
61         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
62         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
63         STDMETHOD_(ULONG,Release)(THIS) PURE;
64 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774650%28v=vs.85%29.aspx */
65         STDMETHOD(HrInit)(THIS) PURE;
66 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774646%28v=vs.85%29.aspx */
67         STDMETHOD(AddTab)(THIS_ HWND) PURE;
68 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774648%28v=vs.85%29.aspx */
69         STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
70 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774644%28v=vs.85%29.aspx */
71         STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
72 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774655%28v=vs.85%29.aspx */
73         STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
74 };
75 #undef INTERFACE
76 typedef ITaskbarList *LPTASKBARLIST;
77
78 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774638%28v=vs.85%29.aspx */
79 #define INTERFACE ITaskbarList2
80 DECLARE_INTERFACE_(ITaskbarList2, ITaskbarList)
81 {
82         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
83         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
84         STDMETHOD_(ULONG,Release)(THIS) PURE;
85         STDMETHOD(HrInit)(THIS) PURE;
86         STDMETHOD(AddTab)(THIS_ HWND) PURE;
87         STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
88         STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
89         STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
90 /* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774640%28v=vs.85%29.aspx */
91         STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
92 };
93 #undef INTERFACE
94 typedef ITaskbarList2 *LPTASKBARLIST2;
95
96 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391692%28v=vs.85%29.aspx */
97 #define INTERFACE ITaskbarList3
98 DECLARE_INTERFACE_(ITaskbarList3, ITaskbarList2)
99 {
100         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
101         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
102         STDMETHOD_(ULONG,Release)(THIS) PURE;
103         STDMETHOD(HrInit)(THIS) PURE;
104         STDMETHOD(AddTab)(THIS_ HWND) PURE;
105         STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
106         STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
107         STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
108         STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
109 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391698%28v=vs.85%29.aspx */
110         STDMETHOD(SetProgressValue)(THIS_ ULONGLONG,ULONGLONG) PURE;
111 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
112         STDMETHOD(SetProgressState)(THIS_ HWND,TBPFLAG) PURE;
113 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391694%28v=vs.85%29.aspx */
114         STDMETHOD(RegisterTab)(THIS_ HWND,HWND) PURE;
115 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391706%28v=vs.85%29.aspx */
116         STDMETHOD(UnregisterTab)(THIS_ HWND) PURE;
117 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391700%28v=vs.85%29.aspx */
118         STDMETHOD(SetTabOrder)(THIS_ HWND,HWND) PURE;
119 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391699%28v=vs.85%29.aspx */
120         STDMETHOD(SetTabActive)(THIS_ HWND,HWND,DWORD) PURE;
121 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391703%28v=vs.85%29.aspx */
122         STDMETHOD(ThumbBarAddButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
123 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391705%28v=vs.85%29.aspx */
124         STDMETHOD(ThumbBarUpdateButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
125 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391704%28v=vs.85%29.aspx */
126         STDMETHOD(ThumbBarSetImageList)(THIS_ HWND,HIMAGELIST) PURE;
127 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391696%28v=vs.85%29.aspx */
128         STDMETHOD(SetOverlayIcon)(THIS_ HWND,HICON,LPCWSTR) PURE;
129 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391702%28v=vs.85%29.aspx */
130         STDMETHOD(SetThumbnailTooltip)(THIS_ HWND,LPCWSTR) PURE;
131 /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391701%28v=vs.85%29.aspx */
132         STDMETHOD(SetThumbnailClip)(THIS_ HWND,RECT*) PURE;
133 };
134 #undef INTERFACE
135 typedef ITaskbarList3 *LPTASKBARLIST3;
136
137 #pragma pack(pop)
138 #ifdef __cplusplus
139 }
140 #endif
141
142
143 #endif /* _SHLOBJIDL_H */