1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
|
/*
* Copyright (C) 2005 Dmitry Timoshkov
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
import "oaidl.idl";
cpp_quote("#define NAVDIR_UP 1")
cpp_quote("#define NAVDIR_DOWN 2")
cpp_quote("#define NAVDIR_LEFT 3")
cpp_quote("#define NAVDIR_RIGHT 4")
cpp_quote("#define NAVDIR_NEXT 5")
cpp_quote("#define NAVDIR_PREVIOUS 6")
cpp_quote("#define NAVDIR_FIRSTCHILD 7")
cpp_quote("#define NAVDIR_LASTCHILD 8")
cpp_quote("#define ROLE_SYSTEM_TITLEBAR 1")
cpp_quote("#define ROLE_SYSTEM_MENUBAR 2")
cpp_quote("#define ROLE_SYSTEM_SCROLLBAR 3")
cpp_quote("#define ROLE_SYSTEM_GRIP 4")
cpp_quote("#define ROLE_SYSTEM_SOUND 5")
cpp_quote("#define ROLE_SYSTEM_CURSOR 6")
cpp_quote("#define ROLE_SYSTEM_CARET 7")
cpp_quote("#define ROLE_SYSTEM_ALERT 8")
cpp_quote("#define ROLE_SYSTEM_WINDOW 9")
cpp_quote("#define ROLE_SYSTEM_CLIENT 10")
cpp_quote("#define ROLE_SYSTEM_MENUPOPUP 11")
cpp_quote("#define ROLE_SYSTEM_MENUITEM 12")
cpp_quote("#define ROLE_SYSTEM_TOOLTIP 13")
cpp_quote("#define ROLE_SYSTEM_APPLICATION 14")
cpp_quote("#define ROLE_SYSTEM_DOCUMENT 15")
cpp_quote("#define ROLE_SYSTEM_PANE 16")
cpp_quote("#define ROLE_SYSTEM_CHART 17")
cpp_quote("#define ROLE_SYSTEM_DIALOG 18")
cpp_quote("#define ROLE_SYSTEM_BORDER 19")
cpp_quote("#define ROLE_SYSTEM_GROUPING 20")
cpp_quote("#define ROLE_SYSTEM_SEPARATOR 21")
cpp_quote("#define ROLE_SYSTEM_TOOLBAR 22")
cpp_quote("#define ROLE_SYSTEM_STATUSBAR 23")
cpp_quote("#define ROLE_SYSTEM_TABLE 24")
cpp_quote("#define ROLE_SYSTEM_COLUMNHEADER 25")
cpp_quote("#define ROLE_SYSTEM_ROWHEADER 26")
cpp_quote("#define ROLE_SYSTEM_COLUMN 27")
cpp_quote("#define ROLE_SYSTEM_ROW 28")
cpp_quote("#define ROLE_SYSTEM_CELL 29")
cpp_quote("#define ROLE_SYSTEM_LINK 30")
cpp_quote("#define ROLE_SYSTEM_HELPBALLOON 31")
cpp_quote("#define ROLE_SYSTEM_CHARACTER 32")
cpp_quote("#define ROLE_SYSTEM_LIST 33")
cpp_quote("#define ROLE_SYSTEM_LISTITEM 34")
cpp_quote("#define ROLE_SYSTEM_OUTLINE 35")
cpp_quote("#define ROLE_SYSTEM_OUTLINEITEM 36")
cpp_quote("#define ROLE_SYSTEM_PAGETAB 37")
cpp_quote("#define ROLE_SYSTEM_PROPERTYPAGE 38")
cpp_quote("#define ROLE_SYSTEM_INDICATOR 39")
cpp_quote("#define ROLE_SYSTEM_GRAPHIC 40")
cpp_quote("#define ROLE_SYSTEM_STATICTEXT 41")
cpp_quote("#define ROLE_SYSTEM_TEXT 42")
cpp_quote("#define ROLE_SYSTEM_PUSHBUTTON 43")
cpp_quote("#define ROLE_SYSTEM_CHECKBUTTON 44")
cpp_quote("#define ROLE_SYSTEM_RADIOBUTTON 45")
cpp_quote("#define ROLE_SYSTEM_COMBOBOX 46")
cpp_quote("#define ROLE_SYSTEM_DROPLIST 47")
cpp_quote("#define ROLE_SYSTEM_PROGRESSBAR 48")
cpp_quote("#define ROLE_SYSTEM_DIAL 49")
cpp_quote("#define ROLE_SYSTEM_HOTKEYFIELD 50")
cpp_quote("#define ROLE_SYSTEM_SLIDER 51")
cpp_quote("#define ROLE_SYSTEM_SPINBUTTON 52")
cpp_quote("#define ROLE_SYSTEM_DIAGRAM 53")
cpp_quote("#define ROLE_SYSTEM_ANIMATION 54")
cpp_quote("#define ROLE_SYSTEM_EQUATION 55")
cpp_quote("#define ROLE_SYSTEM_BUTTONDROPDOWN 56")
cpp_quote("#define ROLE_SYSTEM_BUTTONMENU 57")
cpp_quote("#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58")
cpp_quote("#define ROLE_SYSTEM_WHITESPACE 59")
cpp_quote("#define ROLE_SYSTEM_PAGETABLIST 60")
cpp_quote("#define ROLE_SYSTEM_CLOCK 61")
cpp_quote("#define ROLE_SYSTEM_SPLITBUTTON 62")
cpp_quote("#define ROLE_SYSTEM_IPADDRESS 63")
cpp_quote("#define ROLE_SYSTEM_OUTLINEBUTTON 64")
cpp_quote("#define SELFLAG_NONE 0x00")
cpp_quote("#define SELFLAG_TAKEFOCUS 0x01")
cpp_quote("#define SELFLAG_TAKESELECTION 0x02")
cpp_quote("#define SELFLAG_EXTENDSELECTION 0x04")
cpp_quote("#define SELFLAG_ADDSELECTION 0x08")
cpp_quote("#define SELFLAG_REMOVESELECTION 0x10")
cpp_quote("#define SELFLAG_VALID 0x1f")
typedef GUID MSAAPROPID;
typedef enum AnnoScope
{
ANNO_THIS,
ANNO_CONTAINER
} AnnoScope;
[
local,
object,
uuid(618736e0-3c3d-11cf-810c-00aa00389b71),
pointer_default(unique)
]
interface IAccessible : IDispatch
{
typedef [unique] IAccessible *LPACCESSIBLE;
const long DISPID_ACC_PARENT = -5000;
const long DISPID_ACC_CHILDCOUNT = -5001;
const long DISPID_ACC_CHILD = -5002;
const long DISPID_ACC_NAME = -5003;
const long DISPID_ACC_VALUE = -5004;
const long DISPID_ACC_DESCRIPTION= -5005;
const long DISPID_ACC_ROLE = -5006;
const long DISPID_ACC_STATE = -5007;
const long DISPID_ACC_HELP = -5008;
const long DISPID_ACC_HELPTOPIC = -5009;
const long DISPID_ACC_KEYBOARDSHORTCUT = -5010;
const long DISPID_ACC_FOCUS = -5011;
const long DISPID_ACC_SELECTION = -5012;
const long DISPID_ACC_DEFAULTACTION = -5013;
const long DISPID_ACC_SELECT = -5014;
const long DISPID_ACC_LOCATION = -5015;
const long DISPID_ACC_NAVIGATE = -5016;
const long DISPID_ACC_HITTEST = -5017;
const long DISPID_ACC_DODEFAULTACTION = -5018;
[hidden, propget, id(DISPID_ACC_PARENT)] HRESULT accParent([out, retval]IDispatch** ppdispParent);
[hidden, propget, id(DISPID_ACC_CHILDCOUNT)] HRESULT accChildCount([out, retval] long* pcountChildren);
[hidden, propget, id(DISPID_ACC_CHILD)] HRESULT accChild([in] VARIANT varChildID, [out, retval]IDispatch **ppdispChild);
[hidden, propget, id(DISPID_ACC_NAME)] HRESULT accName([in]VARIANT varID, [out, retval] BSTR* pszName);
[hidden, propget, id(DISPID_ACC_VALUE)] HRESULT accValue([in]VARIANT varID, [out, retval] BSTR* pszValue);
[hidden, propget, id(DISPID_ACC_DESCRIPTION)] HRESULT accDescription([in]VARIANT varID, [out, retval] BSTR* pszDescription);
[hidden, propget, id(DISPID_ACC_ROLE)] HRESULT accRole([in]VARIANT varID, [out, retval]VARIANT* pvarRole);
[hidden, propget, id(DISPID_ACC_STATE)] HRESULT accState([in]VARIANT varID, [out, retval]VARIANT* pvarState);
[hidden, propget, id(DISPID_ACC_HELP)] HRESULT accHelp([in]VARIANT varID, [out, retval]BSTR* pszHelp);
[hidden, propget, id(DISPID_ACC_HELPTOPIC)] HRESULT accHelpTopic([out]BSTR* pszHelpFile, [in]VARIANT varID, [out, retval] long* pidTopic);
[hidden, propget, id(DISPID_ACC_KEYBOARDSHORTCUT)] HRESULT accKeyboardShortcut([in]VARIANT varID, [out, retval] BSTR* pszKeyboardShortcut);
[hidden, propget, id(DISPID_ACC_FOCUS)] HRESULT accFocus([out, retval] VARIANT* pvarID);
[hidden, propget, id(DISPID_ACC_SELECTION)] HRESULT accSelection([out, retval] VARIANT* pvarID);
[hidden, propget, id(DISPID_ACC_DEFAULTACTION)] HRESULT accDefaultAction([in]VARIANT varID, [out, retval] BSTR* pszDefaultAction);
[hidden, id(DISPID_ACC_SELECT)] HRESULT accSelect([in]long flagsSelect, [in]VARIANT varID);
[hidden, id(DISPID_ACC_LOCATION)] HRESULT accLocation([out]long* pxLeft, [out]long* pyTop, [out]long* pcxWidth, [out]long* pcyHeight, [in]VARIANT varID);
[hidden, id(DISPID_ACC_NAVIGATE)] HRESULT accNavigate([in]long navDir, [in]VARIANT varStart, [out, retval] VARIANT* pvarEnd);
[hidden, id(DISPID_ACC_HITTEST)] HRESULT accHitTest([in]long xLeft, [in]long yTop, [out,retval] VARIANT* pvarID);
[hidden, id(DISPID_ACC_DODEFAULTACTION)] HRESULT accDoDefaultAction([in]VARIANT varID);
[hidden, propput, id(DISPID_ACC_NAME)] HRESULT accName([in]VARIANT varID, [in]BSTR pszName);
[hidden, propput, id(DISPID_ACC_VALUE)] HRESULT accValue([in]VARIANT varID, [out, retval]BSTR pszValue);
}
[
object,
uuid(03022430-ABC4-11d0-BDE2-00AA001A1953),
hidden,
oleautomation,
pointer_default(unique)
]
interface IAccessibleHandler : IUnknown
{
typedef [unique] IAccessibleHandler *LPACCESSIBLEHANDLER;
HRESULT AccessibleObjectFromID( [in] long hwnd, [in] long lObjectID, [out] LPACCESSIBLE *pIAccessible );
}
[
object,
uuid(7852b78d-1cfd-41c1-a615-9c0c85960b5f),
pointer_default(unique)
]
interface IAccIdentity : IUnknown
{
HRESULT GetIdentityString ([in] DWORD dwIDChild, [out] BYTE **ppIDString, [out] DWORD *pdwIDStringLen);
}
[
object,
uuid(76c0dbbb-15e0-4e7b-b61b-20eeea2001e0),
pointer_default(unique)
]
interface IAccPropServer: IUnknown
{
HRESULT GetPropValue ([in] const BYTE *pIDString, [in] DWORD dwIDStringLen, [in] MSAAPROPID idProp,
[out] VARIANT *pvarValue, [out] BOOL *pfHasProp);
}
[
object,
uuid(6e26e776-04f0-495d-80e4-3330352e3169),
pointer_default(unique)
]
interface IAccPropServices : IUnknown
{
HRESULT SetPropValue([in] const BYTE *pIDString, [in] DWORD dwIDStringLen, [in] MSAAPROPID idProp, [in] VARIANT var);
HRESULT SetPropServer([in] const BYTE * pIDString, [in] DWORD dwIDStringLen, [in] const MSAAPROPID* paProps,
[in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);
HRESULT ClearProps([in] const BYTE *pIDString, [in] DWORD dwIDStringLen, [in] const MSAAPROPID* paProps, [in] int cProps);
HRESULT SetHwndProp([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
[in] MSAAPROPID idProp, [in] VARIANT var);
HRESULT SetHwndPropStr([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
[in] MSAAPROPID idProp, [in] LPWSTR str);
HRESULT SetHwndPropServer([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
[in] const MSAAPROPID* paProps, [in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);
HRESULT ClearHwndProps([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
[in] const MSAAPROPID* paProps, [in] int cProps);
HRESULT ComposeHwndIdentityString([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild,
[out] BYTE **ppIDString, [out] DWORD* pdwIDStringLen);
HRESULT DecomposeHwndIdentityString([in] const BYTE *pIDString, [in] DWORD dwIDStringLen,
[out] HWND* phwnd, [out] DWORD* pidObject, [out] DWORD* pidChild);
HRESULT SetHmenuProp([in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in] VARIANT var);
HRESULT SetHmenuPropStr([in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in] LPWSTR str);
HRESULT SetHmenuPropServer([in] HMENU hmenu, [in] DWORD idChild, [in] const MSAAPROPID* paProps,
[in] int cProps, [in] IAccPropServer* pServer, [in] AnnoScope AnnoScope);
HRESULT ClearHmenuProps([in] HMENU hmenu, [in] DWORD idChild, [in] const MSAAPROPID* paProps, [in] int cProps);
HRESULT ComposeHmenuIdentityString([in] HMENU hmenu, [in] DWORD idChild,
[out] BYTE **ppIDString, [out] DWORD *pdwIDStringLen);
HRESULT DecomposeHmenuIdentityString([in] const BYTE *pIDString, [in] DWORD dwIDStringLen,
[out] HMENU *phmenu, [out] DWORD *pidChild);
}
[
uuid(1ea4dbf0-3c3b-11cf-810c-00aa00389b71),
lcid(0),
version(1.1),
hidden
]
library Accessibility
{
importlib ("stdole2.tlb");
interface IAccessible;
interface IAccessibleHandler;
interface IAccIdentity;
interface IAccPropServer;
interface IAccPropServices;
[
uuid(b5f8350b-0548-48b1-a6ee-88bd00b4a5e7)
]
coclass CAccPropServices
{
interface IAccPropServices;
}
};
cpp_quote("DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b, 0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);")
cpp_quote("DEFINE_GUID(CLSID_AccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6, 0xee, 0x88, 0xbd, 0x00, 0xb4, 0xa5, 0xe7);")
cpp_quote("DEFINE_GUID(IIS_IsOleaccProxy, 0x902697fa, 0x80e4, 0x4560, 0x80, 0x2a, 0xa1, 0x3f, 0x22, 0xa6, 0x47, 0x09);")
cpp_quote("LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);")
cpp_quote("HRESULT WINAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void **);")
cpp_quote("HRESULT WINAPI WindowFromAccessibleObject(IAccessible *,HWND *);")
cpp_quote("HRESULT WINAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void **);")
cpp_quote("HRESULT WINAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible **,VARIANT *);")
cpp_quote("HRESULT WINAPI AccessibleObjectFromPoint(POINT,IAccessible **,VARIANT *);")
cpp_quote("HRESULT WINAPI AccessibleChildren(IAccessible *,LONG,LONG,VARIANT *,LONG *);")
cpp_quote("void WINAPI GetOleaccVersionInfo(DWORD *,DWORD *);")
cpp_quote("HRESULT WINAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void **);")
cpp_quote("HRESULT WINAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void **);")
cpp_quote("HRESULT WINAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void **);")
cpp_quote("#define CreateStdAccessibleProxy WINELIB_NAME_AW(CreateStdAccessibleProxy)")
cpp_quote("UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);")
cpp_quote("UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);")
cpp_quote("#define GetRoleText WINELIB_NAME_AW(GetRoleText)")
cpp_quote("UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);")
cpp_quote("UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);")
cpp_quote("#define GetStateText WINELIB_NAME_AW(GetStateText)")
|