| /* |
| * 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); |
| } |
| } |