| /* | |
| * 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 | |
| */ | |
| #define DO_NO_IMPORTS | |
| import "oaidl.idl"; | |
| import "oleacc.idl"; | |
| enum ProviderOptions { | |
| ProviderOptions_ClientSideProvider = 0x0001, | |
| ProviderOptions_ServerSideProvider = 0x0002, | |
| ProviderOptions_NonClientAreaProvider = 0x0004, | |
| ProviderOptions_OverrideProvider = 0x0008, | |
| ProviderOptions_ProviderOwnsSetFocus = 0x0010, | |
| ProviderOptions_UseComThreading = 0x0020 | |
| }; | |
| typedef int PROPERTYID; | |
| typedef int PATTERNID; | |
| typedef int EVENTID; | |
| typedef int TEXTATTRIBUTEID; | |
| typedef int CONTROLTYPEID; | |
| [ | |
| version(1.0), | |
| uuid(930299ce-9965-4dec-b0f4-a54848d4b667), | |
| lcid(0), | |
| hidden | |
| ] | |
| library UIA | |
| { | |
| importlib("stdole2.tlb"); | |
| [ | |
| object, | |
| uuid(d6dd68d1-86fd-4332-8666-9abedea2d24c), | |
| pointer_default(unique) | |
| ] | |
| interface IRawElementProviderSimple : IUnknown | |
| { | |
| [propget] HRESULT ProviderOptions([out, retval] enum ProviderOptions *pRetVal); | |
| HRESULT GetPatternProvider( | |
| [in] PATTERNID patternId, | |
| [out, retval] IUnknown **pRetVal); | |
| HRESULT GetPropertyValue( | |
| [in] PROPERTYID propertyId, | |
| [out, retval] VARIANT *pRetVal); | |
| [propget] HRESULT HostRawElementProvider([out, retval] IRawElementProviderSimple **pRetVal); | |
| } | |
| [ | |
| object, | |
| uuid(f8b80ada-2c44-48d0-89be-5ff23c9cd875), | |
| pointer_default(unique), | |
| oleautomation | |
| ] | |
| interface IAccessibleEx : IUnknown | |
| { | |
| HRESULT GetObjectForChild( | |
| [in] long idChild, | |
| [out, retval] IAccessibleEx **pRetVal); | |
| HRESULT GetIAccessiblePair( | |
| [out] IAccessible **ppAcc, | |
| [out] long *pidChild); | |
| HRESULT GetRuntimeId( | |
| [out, retval] SAFEARRAY(int) *pRetVal); | |
| HRESULT ConvertReturnedElement( | |
| [in] IRawElementProviderSimple *pIn, | |
| [out] IAccessibleEx **ppRetValOut); | |
| } | |
| } |