|  | /* | 
|  | * Copyright 2012 Jacek Caban for CodeWeavers | 
|  | * | 
|  | * 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 | 
|  | */ | 
|  |  | 
|  | #ifndef _INC_UIAUTOMATIONCOREAPI | 
|  | #define _INC_UIAUTOMATIONCOREAPI | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #define UIA_E_ELEMENTNOTENABLED       0x80040200 | 
|  | #define UIA_E_ELEMENTNOTAVAILABLE     0x80040201 | 
|  | #define UIA_E_NOCLICKABLEPOINT        0x80040202 | 
|  | #define UIA_E_PROXYASSEMBLYNOTLOADED  0x80040203 | 
|  | #define UIA_E_NOTSUPPORTED            0x80040204 | 
|  | #define UIA_E_INVALIDOPERATION        0x80131509 | 
|  | #define UIA_E_TIMEOUT                 0x80131505 | 
|  |  | 
|  | #define UiaAppendRuntimeId  3 | 
|  | #define UiaRootObjectId     -25 | 
|  |  | 
|  | DECLARE_HANDLE(HUIANODE); | 
|  | DECLARE_HANDLE(HUIAPATTERNOBJECT); | 
|  | DECLARE_HANDLE(HUIATEXTRANGE); | 
|  | DECLARE_HANDLE(HUIAEVENT); | 
|  |  | 
|  | enum AutomationIdentifierType | 
|  | { | 
|  | AutomationIdentifierType_Property, | 
|  | AutomationIdentifierType_Pattern, | 
|  | AutomationIdentifierType_Event, | 
|  | AutomationIdentifierType_ControlType, | 
|  | AutomationIdentifierType_TextAttribute, | 
|  | AutomationIdentifierType_LandmarkType, | 
|  | AutomationIdentifierType_Annotation, | 
|  | AutomationIdentifierType_Changes, | 
|  | AutomationIdentifierType_Style | 
|  | }; | 
|  |  | 
|  | enum ProviderType | 
|  | { | 
|  | ProviderType_BaseHwnd, | 
|  | ProviderType_Proxy, | 
|  | ProviderType_NonClientArea, | 
|  | }; | 
|  |  | 
|  | typedef SAFEARRAY * WINAPI UiaProviderCallback(HWND hwnd,enum ProviderType providerType); | 
|  |  | 
|  | HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value); | 
|  | HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value); | 
|  | int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid); | 
|  | WINBOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj); | 
|  | HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id); | 
|  | void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *pCallback); | 
|  | LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov); | 
|  | WINBOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj); | 
|  | HRESULT WINAPI UiaHostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **elprov); | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* _INC_UIAUTOMATIONCOREAPI */ |