2 * Copyright 2012 Jacek Caban for CodeWeavers
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.
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.
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
19 #ifndef _INC_UIAUTOMATIONCOREAPI
20 #define _INC_UIAUTOMATIONCOREAPI
26 #define UIA_E_ELEMENTNOTENABLED 0x80040200
27 #define UIA_E_ELEMENTNOTAVAILABLE 0x80040201
28 #define UIA_E_NOCLICKABLEPOINT 0x80040202
29 #define UIA_E_PROXYASSEMBLYNOTLOADED 0x80040203
30 #define UIA_E_NOTSUPPORTED 0x80040204
31 #define UIA_E_INVALIDOPERATION 0x80131509
32 #define UIA_E_TIMEOUT 0x80131505
34 #define UiaAppendRuntimeId 3
35 #define UiaRootObjectId -25
37 #define UIA_PFIA_DEFAULT 0x00
38 #define UIA_PFIA_UNWRAP_BRIDGE 0x01
40 DECLARE_HANDLE(HUIANODE
);
41 DECLARE_HANDLE(HUIAPATTERNOBJECT
);
42 DECLARE_HANDLE(HUIATEXTRANGE
);
43 DECLARE_HANDLE(HUIAEVENT
);
45 enum AutomationIdentifierType
47 AutomationIdentifierType_Property
,
48 AutomationIdentifierType_Pattern
,
49 AutomationIdentifierType_Event
,
50 AutomationIdentifierType_ControlType
,
51 AutomationIdentifierType_TextAttribute
,
52 AutomationIdentifierType_LandmarkType
,
53 AutomationIdentifierType_Annotation
,
54 AutomationIdentifierType_Changes
,
55 AutomationIdentifierType_Style
60 ProviderType_BaseHwnd
,
62 ProviderType_NonClientArea
,
65 typedef SAFEARRAY
* WINAPI
UiaProviderCallback(HWND hwnd
,enum ProviderType providerType
);
67 HRESULT WINAPI
UiaGetReservedMixedAttributeValue(IUnknown
**value
);
68 HRESULT WINAPI
UiaGetReservedNotSupportedValue(IUnknown
**value
);
69 int WINAPI
UiaLookupId(enum AutomationIdentifierType type
, const GUID
*guid
);
70 BOOL WINAPI
UiaPatternRelease(HUIAPATTERNOBJECT hobj
);
71 HRESULT WINAPI
UiaRaiseAutomationEvent(IRawElementProviderSimple
*provider
, EVENTID id
);
72 HRESULT WINAPI
UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple
*, PROPERTYID
, VARIANT
, VARIANT
);
73 void WINAPI
UiaRegisterProviderCallback(UiaProviderCallback
*pCallback
);
74 LRESULT WINAPI
UiaReturnRawElementProvider(HWND hwnd
, WPARAM wParam
, LPARAM lParam
, IRawElementProviderSimple
*elprov
);
75 BOOL WINAPI
UiaTextRangeRelease(HUIATEXTRANGE hobj
);
76 HRESULT WINAPI
UiaHostProviderFromHwnd(HWND hwnd
, IRawElementProviderSimple
**elprov
);
77 HRESULT WINAPI
UiaProviderFromIAccessible(IAccessible
*acc
, long child_id
, DWORD flags
, IRawElementProviderSimple
**elprov
);
83 #endif /* _INC_UIAUTOMATIONCOREAPI */