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 DECLARE_HANDLE(HUIANODE
);
38 DECLARE_HANDLE(HUIAPATTERNOBJECT
);
39 DECLARE_HANDLE(HUIATEXTRANGE
);
40 DECLARE_HANDLE(HUIAEVENT
);
42 enum AutomationIdentifierType
44 AutomationIdentifierType_Property
,
45 AutomationIdentifierType_Pattern
,
46 AutomationIdentifierType_Event
,
47 AutomationIdentifierType_ControlType
,
48 AutomationIdentifierType_TextAttribute
,
49 AutomationIdentifierType_LandmarkType
,
50 AutomationIdentifierType_Annotation
,
51 AutomationIdentifierType_Changes
,
52 AutomationIdentifierType_Style
57 ProviderType_BaseHwnd
,
59 ProviderType_NonClientArea
,
62 typedef SAFEARRAY
* WINAPI
UiaProviderCallback(HWND hwnd
,enum ProviderType providerType
);
64 HRESULT WINAPI
UiaGetReservedMixedAttributeValue(IUnknown
**value
);
65 HRESULT WINAPI
UiaGetReservedNotSupportedValue(IUnknown
**value
);
66 int WINAPI
UiaLookupId(enum AutomationIdentifierType type
, const GUID
*guid
);
67 BOOL WINAPI
UiaPatternRelease(HUIAPATTERNOBJECT hobj
);
68 HRESULT WINAPI
UiaRaiseAutomationEvent(IRawElementProviderSimple
*provider
, EVENTID id
);
69 HRESULT WINAPI
UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple
*provider
, PROPERTYID id
, VARIANT old
, VARIANT
new);
70 void WINAPI
UiaRegisterProviderCallback(UiaProviderCallback
*pCallback
);
71 LRESULT WINAPI
UiaReturnRawElementProvider(HWND hwnd
, WPARAM wParam
, LPARAM lParam
, IRawElementProviderSimple
*elprov
);
72 BOOL WINAPI
UiaTextRangeRelease(HUIATEXTRANGE hobj
);
73 HRESULT WINAPI
UiaHostProviderFromHwnd(HWND hwnd
, IRawElementProviderSimple
**elprov
);
79 #endif /* _INC_UIAUTOMATIONCOREAPI */