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