1/* 2 * Copyright (C) 2005 Dmitry Timoshkov 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19import "oaidl.idl"; 20 21#ifndef __WIDL__ 22#define threading(model) 23#endif 24 25cpp_quote("#define NAVDIR_MIN 0") 26cpp_quote("#define NAVDIR_UP 1") 27cpp_quote("#define NAVDIR_DOWN 2") 28cpp_quote("#define NAVDIR_LEFT 3") 29cpp_quote("#define NAVDIR_RIGHT 4") 30cpp_quote("#define NAVDIR_NEXT 5") 31cpp_quote("#define NAVDIR_PREVIOUS 6") 32cpp_quote("#define NAVDIR_FIRSTCHILD 7") 33cpp_quote("#define NAVDIR_LASTCHILD 8") 34cpp_quote("#define NAVDIR_MAX 9") 35 36cpp_quote("#define ROLE_SYSTEM_TITLEBAR 1") 37cpp_quote("#define ROLE_SYSTEM_MENUBAR 2") 38cpp_quote("#define ROLE_SYSTEM_SCROLLBAR 3") 39cpp_quote("#define ROLE_SYSTEM_GRIP 4") 40cpp_quote("#define ROLE_SYSTEM_SOUND 5") 41cpp_quote("#define ROLE_SYSTEM_CURSOR 6") 42cpp_quote("#define ROLE_SYSTEM_CARET 7") 43cpp_quote("#define ROLE_SYSTEM_ALERT 8") 44cpp_quote("#define ROLE_SYSTEM_WINDOW 9") 45cpp_quote("#define ROLE_SYSTEM_CLIENT 10") 46cpp_quote("#define ROLE_SYSTEM_MENUPOPUP 11") 47cpp_quote("#define ROLE_SYSTEM_MENUITEM 12") 48cpp_quote("#define ROLE_SYSTEM_TOOLTIP 13") 49cpp_quote("#define ROLE_SYSTEM_APPLICATION 14") 50cpp_quote("#define ROLE_SYSTEM_DOCUMENT 15") 51cpp_quote("#define ROLE_SYSTEM_PANE 16") 52cpp_quote("#define ROLE_SYSTEM_CHART 17") 53cpp_quote("#define ROLE_SYSTEM_DIALOG 18") 54cpp_quote("#define ROLE_SYSTEM_BORDER 19") 55cpp_quote("#define ROLE_SYSTEM_GROUPING 20") 56cpp_quote("#define ROLE_SYSTEM_SEPARATOR 21") 57cpp_quote("#define ROLE_SYSTEM_TOOLBAR 22") 58cpp_quote("#define ROLE_SYSTEM_STATUSBAR 23") 59cpp_quote("#define ROLE_SYSTEM_TABLE 24") 60cpp_quote("#define ROLE_SYSTEM_COLUMNHEADER 25") 61cpp_quote("#define ROLE_SYSTEM_ROWHEADER 26") 62cpp_quote("#define ROLE_SYSTEM_COLUMN 27") 63cpp_quote("#define ROLE_SYSTEM_ROW 28") 64cpp_quote("#define ROLE_SYSTEM_CELL 29") 65cpp_quote("#define ROLE_SYSTEM_LINK 30") 66cpp_quote("#define ROLE_SYSTEM_HELPBALLOON 31") 67cpp_quote("#define ROLE_SYSTEM_CHARACTER 32") 68cpp_quote("#define ROLE_SYSTEM_LIST 33") 69cpp_quote("#define ROLE_SYSTEM_LISTITEM 34") 70cpp_quote("#define ROLE_SYSTEM_OUTLINE 35") 71cpp_quote("#define ROLE_SYSTEM_OUTLINEITEM 36") 72cpp_quote("#define ROLE_SYSTEM_PAGETAB 37") 73cpp_quote("#define ROLE_SYSTEM_PROPERTYPAGE 38") 74cpp_quote("#define ROLE_SYSTEM_INDICATOR 39") 75cpp_quote("#define ROLE_SYSTEM_GRAPHIC 40") 76cpp_quote("#define ROLE_SYSTEM_STATICTEXT 41") 77cpp_quote("#define ROLE_SYSTEM_TEXT 42") 78cpp_quote("#define ROLE_SYSTEM_PUSHBUTTON 43") 79cpp_quote("#define ROLE_SYSTEM_CHECKBUTTON 44") 80cpp_quote("#define ROLE_SYSTEM_RADIOBUTTON 45") 81cpp_quote("#define ROLE_SYSTEM_COMBOBOX 46") 82cpp_quote("#define ROLE_SYSTEM_DROPLIST 47") 83cpp_quote("#define ROLE_SYSTEM_PROGRESSBAR 48") 84cpp_quote("#define ROLE_SYSTEM_DIAL 49") 85cpp_quote("#define ROLE_SYSTEM_HOTKEYFIELD 50") 86cpp_quote("#define ROLE_SYSTEM_SLIDER 51") 87cpp_quote("#define ROLE_SYSTEM_SPINBUTTON 52") 88cpp_quote("#define ROLE_SYSTEM_DIAGRAM 53") 89cpp_quote("#define ROLE_SYSTEM_ANIMATION 54") 90cpp_quote("#define ROLE_SYSTEM_EQUATION 55") 91cpp_quote("#define ROLE_SYSTEM_BUTTONDROPDOWN 56") 92cpp_quote("#define ROLE_SYSTEM_BUTTONMENU 57") 93cpp_quote("#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58") 94cpp_quote("#define ROLE_SYSTEM_WHITESPACE 59") 95cpp_quote("#define ROLE_SYSTEM_PAGETABLIST 60") 96cpp_quote("#define ROLE_SYSTEM_CLOCK 61") 97cpp_quote("#define ROLE_SYSTEM_SPLITBUTTON 62") 98cpp_quote("#define ROLE_SYSTEM_IPADDRESS 63") 99cpp_quote("#define ROLE_SYSTEM_OUTLINEBUTTON 64") 100 101cpp_quote("#define SELFLAG_NONE 0x00") 102cpp_quote("#define SELFLAG_TAKEFOCUS 0x01") 103cpp_quote("#define SELFLAG_TAKESELECTION 0x02") 104cpp_quote("#define SELFLAG_EXTENDSELECTION 0x04") 105cpp_quote("#define SELFLAG_ADDSELECTION 0x08") 106cpp_quote("#define SELFLAG_REMOVESELECTION 0x10") 107cpp_quote("#define SELFLAG_VALID 0x1f") 108 109cpp_quote("#ifndef STATE_SYSTEM_UNAVAILABLE") 110cpp_quote("#define STATE_SYSTEM_NORMAL 0x00000000") 111cpp_quote("#define STATE_SYSTEM_UNAVAILABLE 0x00000001") 112cpp_quote("#define STATE_SYSTEM_SELECTED 0x00000002") 113cpp_quote("#define STATE_SYSTEM_FOCUSED 0x00000004") 114cpp_quote("#define STATE_SYSTEM_PRESSED 0x00000008") 115cpp_quote("#define STATE_SYSTEM_CHECKED 0x00000010") 116cpp_quote("#define STATE_SYSTEM_MIXED 0x00000020") 117cpp_quote("#define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED") 118cpp_quote("#define STATE_SYSTEM_READONLY 0x00000040") 119cpp_quote("#define STATE_SYSTEM_HOTTRACKED 0x00000080") 120cpp_quote("#define STATE_SYSTEM_DEFAULT 0x00000100") 121cpp_quote("#define STATE_SYSTEM_EXPANDED 0x00000200") 122cpp_quote("#define STATE_SYSTEM_COLLAPSED 0x00000400") 123cpp_quote("#define STATE_SYSTEM_BUSY 0x00000800") 124cpp_quote("#define STATE_SYSTEM_FLOATING 0x00001000") 125cpp_quote("#define STATE_SYSTEM_MARQUEED 0x00002000") 126cpp_quote("#define STATE_SYSTEM_ANIMATED 0x00004000") 127cpp_quote("#define STATE_SYSTEM_INVISIBLE 0x00008000") 128cpp_quote("#define STATE_SYSTEM_OFFSCREEN 0x00010000") 129cpp_quote("#define STATE_SYSTEM_SIZEABLE 0x00020000") 130cpp_quote("#define STATE_SYSTEM_MOVEABLE 0x00040000") 131cpp_quote("#define STATE_SYSTEM_SELFVOICING 0x00080000") 132cpp_quote("#define STATE_SYSTEM_FOCUSABLE 0x00100000") 133cpp_quote("#define STATE_SYSTEM_SELECTABLE 0x00200000") 134cpp_quote("#define STATE_SYSTEM_LINKED 0x00400000") 135cpp_quote("#define STATE_SYSTEM_TRAVERSED 0x00800000") 136cpp_quote("#define STATE_SYSTEM_MULTISELECTABLE 0x01000000") 137cpp_quote("#define STATE_SYSTEM_EXTSELECTABLE 0x02000000") 138cpp_quote("#define STATE_SYSTEM_ALERT_LOW 0x04000000") 139cpp_quote("#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000") 140cpp_quote("#define STATE_SYSTEM_ALERT_HIGH 0x10000000") 141cpp_quote("#define STATE_SYSTEM_PROTECTED 0x20000000") 142cpp_quote("#define STATE_SYSTEM_VALID 0x7FFFFFFF") 143cpp_quote("#endif") 144cpp_quote("#ifndef STATE_SYSTEM_HASPOPUP") 145cpp_quote("#define STATE_SYSTEM_HASPOPUP 0x40000000") 146cpp_quote("#endif") 147 148typedef GUID MSAAPROPID; 149 150typedef enum AnnoScope 151{ 152 ANNO_THIS, 153 ANNO_CONTAINER 154} AnnoScope; 155 156[ 157 object, 158 hidden, 159 dual, 160 uuid(618736e0-3c3d-11cf-810c-00aa00389b71), 161 pointer_default(unique) 162] 163interface IAccessible : IDispatch 164{ 165 typedef [unique] IAccessible *LPACCESSIBLE; 166 const long DISPID_ACC_PARENT = -5000; 167 const long DISPID_ACC_CHILDCOUNT = -5001; 168 const long DISPID_ACC_CHILD = -5002; 169 const long DISPID_ACC_NAME = -5003; 170 const long DISPID_ACC_VALUE = -5004; 171 const long DISPID_ACC_DESCRIPTION= -5005; 172 const long DISPID_ACC_ROLE = -5006; 173 const long DISPID_ACC_STATE = -5007; 174 const long DISPID_ACC_HELP = -5008; 175 const long DISPID_ACC_HELPTOPIC = -5009; 176 const long DISPID_ACC_KEYBOARDSHORTCUT = -5010; 177 const long DISPID_ACC_FOCUS = -5011; 178 const long DISPID_ACC_SELECTION = -5012; 179 const long DISPID_ACC_DEFAULTACTION = -5013; 180 const long DISPID_ACC_SELECT = -5014; 181 const long DISPID_ACC_LOCATION = -5015; 182 const long DISPID_ACC_NAVIGATE = -5016; 183 const long DISPID_ACC_HITTEST = -5017; 184 const long DISPID_ACC_DODEFAULTACTION = -5018; 185 186 [hidden, propget, id(DISPID_ACC_PARENT)] HRESULT accParent([out, retval]IDispatch** ppdispParent); 187 [hidden, propget, id(DISPID_ACC_CHILDCOUNT)] HRESULT accChildCount([out, retval] long* pcountChildren); 188 [hidden, propget, id(DISPID_ACC_CHILD)] HRESULT accChild([in] VARIANT varChildID, [out, retval]IDispatch **ppdispChild); 189 [hidden, propget, id(DISPID_ACC_NAME)] HRESULT accName([in, optional] VARIANT varID, [out, retval] BSTR* pszName); 190 [hidden, propget, id(DISPID_ACC_VALUE)] HRESULT accValue([in, optional] VARIANT varID, [out, retval] BSTR* pszValue); 191 [hidden, propget, id(DISPID_ACC_DESCRIPTION)] HRESULT accDescription([in, optional] VARIANT varID, [out, retval] BSTR *description); 192 [hidden, propget, id(DISPID_ACC_ROLE)] HRESULT accRole([in, optional] VARIANT varID, [out, retval] VARIANT *role); 193 [hidden, propget, id(DISPID_ACC_STATE)] HRESULT accState([in, optional] VARIANT varID, [out, retval] VARIANT *state); 194 [hidden, propget, id(DISPID_ACC_HELP)] HRESULT accHelp([in, optional] VARIANT varID, [out, retval] BSTR *help); 195 [hidden, propget, id(DISPID_ACC_HELPTOPIC)] HRESULT accHelpTopic([out] BSTR *helpfile, [in, optional] VARIANT varID, [out, retval] long* pidTopic); 196 [hidden, propget, id(DISPID_ACC_KEYBOARDSHORTCUT)] HRESULT accKeyboardShortcut([in, optional] VARIANT varID, [out, retval] BSTR *shortcut); 197 [hidden, propget, id(DISPID_ACC_FOCUS)] HRESULT accFocus([out, retval] VARIANT* pvarID); 198 [hidden, propget, id(DISPID_ACC_SELECTION)] HRESULT accSelection([out, retval] VARIANT* pvarID); 199 [hidden, propget, id(DISPID_ACC_DEFAULTACTION)] HRESULT accDefaultAction([in, optional] VARIANT varID, [out, retval] BSTR *action); 200 201 [hidden, id(DISPID_ACC_SELECT)] HRESULT accSelect([in] long flagsSelect, [in, optional] VARIANT varID); 202 [hidden, id(DISPID_ACC_LOCATION)] HRESULT accLocation([out] long *left, [out] long *top, [out] long *width, [out] long *height, [in, optional] VARIANT varID); 203 [hidden, id(DISPID_ACC_NAVIGATE)] HRESULT accNavigate([in] long dir, [in, optional] VARIANT varStart, [out, retval] VARIANT *pvarEnd); 204 [hidden, id(DISPID_ACC_HITTEST)] HRESULT accHitTest([in] long left, [in] long top, [out, retval] VARIANT *pvarID); 205 [hidden, id(DISPID_ACC_DODEFAULTACTION)] HRESULT accDoDefaultAction([in, optional] VARIANT varID); 206 207 [hidden, propput, id(DISPID_ACC_NAME)] HRESULT accName([in, optional] VARIANT varID, [in] BSTR name); 208 [hidden, propput, id(DISPID_ACC_VALUE)] HRESULT accValue([in, optional] VARIANT varID, [in] BSTR value); 209} 210 211[ 212 object, 213 uuid(03022430-ABC4-11d0-BDE2-00AA001A1953), 214 hidden, 215 oleautomation, 216 pointer_default(unique) 217] 218interface IAccessibleHandler : IUnknown 219{ 220 typedef [unique] IAccessibleHandler *LPACCESSIBLEHANDLER; 221 222 HRESULT AccessibleObjectFromID( [in] long hwnd, [in] long lObjectID, [out] LPACCESSIBLE *pIAccessible ); 223} 224 225[ 226 object, 227 uuid(7852b78d-1cfd-41c1-a615-9c0c85960b5f), 228 pointer_default(unique) 229] 230interface IAccIdentity : IUnknown 231{ 232 HRESULT GetIdentityString([in] DWORD idchild, 233 [out, size_is(,*string_len)] BYTE **str, 234 [out] DWORD *string_len); 235} 236 237[ 238 object, 239 uuid(76c0dbbb-15e0-4e7b-b61b-20eeea2001e0), 240 pointer_default(unique) 241] 242interface IAccPropServer: IUnknown 243{ 244 HRESULT GetPropValue([in, size_is(string_len)] const BYTE *str, 245 [in] DWORD string_len, 246 [in] MSAAPROPID idProp, 247 [out] VARIANT *value, 248 [out] BOOL *has_prop); 249} 250 251[ 252 object, 253 uuid(6e26e776-04f0-495d-80e4-3330352e3169), 254 pointer_default(unique) 255] 256interface IAccPropServices : IUnknown 257{ 258 HRESULT SetPropValue([in, size_is(string_len)] const BYTE *str, 259 [in] DWORD string_len, 260 [in] MSAAPROPID idProp, 261 [in] VARIANT var); 262 263 HRESULT SetPropServer([in, size_is(string_len)] const BYTE *str, 264 [in] DWORD string_len, 265 [in, size_is(cProps)] const MSAAPROPID *props, 266 [in] int cProps, 267 [in] IAccPropServer* pServer, 268 [in] AnnoScope AnnoScope); 269 270 HRESULT ClearProps([in, size_is(string_len)] const BYTE *str, 271 [in] DWORD string_len, 272 [in, size_is(cProps)] const MSAAPROPID *props, 273 [in] int cProps); 274 275 HRESULT SetHwndProp([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild, 276 [in] MSAAPROPID idProp, [in] VARIANT var); 277 278 HRESULT SetHwndPropStr([in] HWND hwnd, [in] DWORD idObject, [in] DWORD idChild, 279 [in] MSAAPROPID idProp, [in, string] LPWSTR str); 280 281 HRESULT SetHwndPropServer([in] HWND hwnd, 282 [in] DWORD idObject, 283 [in] DWORD idChild, 284 [in, size_is(cProps)] const MSAAPROPID *props, 285 [in] int cProps, 286 [in] IAccPropServer *server, 287 [in] AnnoScope scope); 288 289 HRESULT ClearHwndProps([in] HWND hwnd, 290 [in] DWORD idObject, 291 [in] DWORD idChild, 292 [in, size_is(cProps)] const MSAAPROPID *props, 293 [in] int cProps); 294 295 HRESULT ComposeHwndIdentityString([in] HWND hwnd, 296 [in] DWORD idObject, 297 [in] DWORD idChild, 298 [out, size_is(,*string_len)] BYTE **str, 299 [out] DWORD *string_len); 300 301 HRESULT DecomposeHwndIdentityString([in, size_is(string_len)] const BYTE *str, 302 [in] DWORD string_len, 303 [out] HWND *phwnd, 304 [out] DWORD *pidObject, 305 [out] DWORD *pidChild); 306 307 HRESULT SetHmenuProp([in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in] VARIANT var); 308 309 HRESULT SetHmenuPropStr([in] HMENU hmenu, [in] DWORD idChild, [in] MSAAPROPID idProp, [in, string] LPWSTR str); 310 311 HRESULT SetHmenuPropServer([in] HMENU hmenu, 312 [in] DWORD idChild, 313 [in, size_is(cProps)] const MSAAPROPID *props, 314 [in] int cProps, 315 [in] IAccPropServer *server, 316 [in] AnnoScope scope); 317 318 HRESULT ClearHmenuProps([in] HMENU hmenu, 319 [in] DWORD idChild, 320 [in, size_is(cProps)] const MSAAPROPID *props, 321 [in] int cProps); 322 323 HRESULT ComposeHmenuIdentityString([in] HMENU hmenu, 324 [in] DWORD idChild, 325 [out, size_is(,*string_len)] BYTE **str, 326 [out] DWORD *string_len); 327 328 HRESULT DecomposeHmenuIdentityString([in, size_is(string_len)] const BYTE *str, 329 [in] DWORD string_len, 330 [out] HMENU *phmenu, 331 [out] DWORD *pidChild); 332} 333 334[ 335 uuid(1ea4dbf0-3c3b-11cf-810c-00aa00389b71), 336 lcid(0), 337 version(1.1), 338 hidden 339] 340library Accessibility 341{ 342 importlib ("stdole2.tlb"); 343 interface IAccessible; 344 interface IAccessibleHandler; 345 346 interface IAccIdentity; 347 interface IAccPropServer; 348 interface IAccPropServices; 349 350 [ 351 uuid(b5f8350b-0548-48b1-a6ee-88bd00b4a5e7), 352 threading(apartment) 353 ] 354 coclass CAccPropServices 355 { 356 interface IAccPropServices; 357 } 358}; 359 360cpp_quote("DEFINE_GUID(CLSID_AccPropServices, 0xb5f8350b, 0x0548, 0x48b1, 0xa6, 0xee, 0x88, 0xbd, 0x00, 0xb4, 0xa5, 0xe7);") 361cpp_quote("DEFINE_GUID(IIS_IsOleaccProxy, 0x902697fa, 0x80e4, 0x4560, 0x80, 0x2a, 0xa1, 0x3f, 0x22, 0xa6, 0x47, 0x09);") 362 363cpp_quote("LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);") 364cpp_quote("HRESULT WINAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void **);") 365cpp_quote("HRESULT WINAPI WindowFromAccessibleObject(IAccessible *,HWND *);") 366cpp_quote("HRESULT WINAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void **);") 367cpp_quote("HRESULT WINAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible **,VARIANT *);") 368cpp_quote("HRESULT WINAPI AccessibleObjectFromPoint(POINT,IAccessible **,VARIANT *);") 369cpp_quote("HRESULT WINAPI AccessibleChildren(IAccessible *,LONG,LONG,VARIANT *,LONG *);") 370 371cpp_quote("void WINAPI GetOleaccVersionInfo(DWORD *,DWORD *);") 372cpp_quote("HRESULT WINAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void **);") 373cpp_quote("HRESULT WINAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void **);") 374cpp_quote("HRESULT WINAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void **);") 375cpp_quote("#define CreateStdAccessibleProxy WINELIB_NAME_AW(CreateStdAccessibleProxy)") 376 377cpp_quote("UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);") 378cpp_quote("UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);") 379cpp_quote("#define GetRoleText WINELIB_NAME_AW(GetRoleText)") 380cpp_quote("UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);") 381cpp_quote("UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);") 382cpp_quote("#define GetStateText WINELIB_NAME_AW(GetStateText)") 383