/* * 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 "uiautomationcore.idl"; cpp_quote( "#ifndef _INC_UIAUTOMATIONCOREAPI" ) enum TreeScope { TreeScope_Element = 0x01, TreeScope_Children = 0x02, TreeScope_Descendants = 0x04, TreeScope_Parent = 0x08, TreeScope_Ancestors = 0x10, TreeScope_SubTree = TreeScope_Element | TreeScope_Children | TreeScope_Descendants, }; enum PropertyConditionFlags { PropertyConditionFlags_None = 0x00, PropertyConditionFlags_IgnoreCase = 0x01, }; enum AutomationElementMode { AutomationElementMode_None = 0x00, AutomationElementMode_Full = 0x01, }; enum TreeTraversalOptions { TreeTraversalOptions_Default = 0x00, TreeTraversalOptions_PostOrder = 0x01, TreeTraversalOptions_LastToFirstOrder = 0x02, }; enum ConnectionRecoveryBehaviorOptions { ConnectionRecoveryBehaviorOptions_Disabled = 0x00, ConnectionRecoveryBehaviorOptions_Enabled = 0x01, }; enum CoalesceEventsOptions { CoalesceEventsOptions_Disabled = 0x00, CoalesceEventsOptions_Enabled = 0x01, }; cpp_quote( "#endif" ) struct ExtendedProperty { BSTR PropertyName; BSTR PropertyValue; }; typedef void * UIA_HWND; [ uuid(944de083-8fb8-45cf-bcb7-c477acb2f897), lcid(0), version(1.0) ] library UIAutomationClient { importlib ("stdole2.tlb"); /* FIXME: Uncomment when properly supported in widl [dllname("")] module UIA_PatternIds { */ const long UIA_InvokePatternId = 10000; const long UIA_SelectionPatternId = 10001; const long UIA_ValuePatternId = 10002; const long UIA_RangeValuePatternId = 10003; const long UIA_ScrollPatternId = 10004; const long UIA_ExpandCollapsePatternId = 10005; const long UIA_GridPatternId = 10006; const long UIA_GridItemPatternId = 10007; const long UIA_MultipleViewPatternId = 10008; const long UIA_WindowPatternId = 10009; const long UIA_SelectionItemPatternId = 10010; const long UIA_DockPatternId = 10011; const long UIA_TablePatternId = 10012; const long UIA_TableItemPatternId = 10013; const long UIA_TextPatternId = 10014; const long UIA_TogglePatternId = 10015; const long UIA_TransformPatternId = 10016; const long UIA_ScrollItemPatternId = 10017; const long UIA_LegacyIAccessiblePatternId = 10018; const long UIA_ItemContainerPatternId = 10019; const long UIA_VirtualizedItemPatternId = 10020; const long UIA_SynchronizedInputPatternId = 10021; const long UIA_ObjectModelPatternId = 10022; const long UIA_AnnotationPatternId = 10023; const long UIA_TextPattern2Id = 10024; const long UIA_StylesPatternId = 10025; const long UIA_SpreadsheetPatternId = 10026; const long UIA_SpreadsheetItemPatternId = 10027; const long UIA_TransformPattern2Id = 10028; const long UIA_TextChildPatternId = 10029; const long UIA_DragPatternId = 10030; const long UIA_DropTargetPatternId = 10031; const long UIA_TextEditPatternId = 10032; const long UIA_CustomNavigationPatternId = 10033; /* } */ /* FIXME: Uncomment when properly supported in widl [dllname("")] module UIA_EventIds { */ const long UIA_ToolTipOpenedEventId = 20000; const long UIA_ToolTipClosedEventId = 20001; const long UIA_StructureChangedEventId = 20002; const long UIA_MenuOpenedEventId = 20003; const long UIA_AutomationPropertyChangedEventId = 20004; const long UIA_AutomationFocusChangedEventId = 20005; const long UIA_AsyncContentLoadedEventId = 20006; const long UIA_MenuClosedEventId = 20007; const long UIA_LayoutInvalidatedEventId = 20008; const long UIA_Invoke_InvokedEventId = 20009; const long UIA_SelectionItem_ElementAddedToSelectionEventId = 20010; const long UIA_SelectionItem_ElementRemovedFromSelectionEventId = 20011; const long UIA_SelectionItem_ElementSelectedEventId= 20012; const long UIA_Selection_InvalidatedEventId = 20013; const long UIA_Text_TextSelectionChangedEventId = 20014; const long UIA_Text_TextChangedEventId = 20015; const long UIA_Window_WindowOpenedEventId = 20016; const long UIA_Window_WindowClosedEventId = 20017; const long UIA_MenuModeStartEventId = 20018; const long UIA_MenuModeEndEventId = 20019; const long UIA_InputReachedTargetEventId = 20020; const long UIA_InputReachedOtherElementEventId = 20021; const long UIA_InputDiscardedEventId = 20022; const long UIA_SystemAlertEventId = 20023; const long UIA_LiveRegionChangedEventId = 20024; const long UIA_HostedFragmentRootsInvalidatedEventId = 20025; const long UIA_Drag_DragStartEventId = 20026; const long UIA_Drag_DragCancelEventId = 20027; const long UIA_Drag_DragCompleteEventId = 20028; const long UIA_DropTarget_DragEnterEventId = 20029; const long UIA_DropTarget_DragLeaveEventId = 20030; const long UIA_DropTarget_DroppedEventId = 20031; const long UIA_TextEdit_TextChangedEventId = 20032; const long UIA_TextEdit_ConversionTargetChangedEventId = 20033; /* }; */ /* FIXME: Uncomment when properly supported in widl [dllname("")] module UIA_PropertyIds { */ const long UIA_RuntimeIdPropertyId = 30000; const long UIA_BoundingRectanglePropertyId = 30001; const long UIA_ProcessIdPropertyId = 30002; const long UIA_ControlTypePropertyId = 30003; const long UIA_LocalizedControlTypePropertyId = 30004; const long UIA_NamePropertyId = 30005; const long UIA_AcceleratorKeyPropertyId = 30006; const long UIA_AccessKeyPropertyId = 30007; const long UIA_HasKeyboardFocusPropertyId = 30008; const long UIA_IsKeyboardFocusablePropertyId = 30009; const long UIA_IsEnabledPropertyId = 30010; const long UIA_AutomationIdPropertyId = 30011; const long UIA_ClassNamePropertyId = 30012; const long UIA_HelpTextPropertyId = 30013; const long UIA_ClickablePointPropertyId = 30014; const long UIA_CulturePropertyId = 30015; const long UIA_IsControlElementPropertyId = 30016; const long UIA_IsContentElementPropertyId = 30017; const long UIA_LabeledByPropertyId = 30018; const long UIA_IsPasswordPropertyId = 30019; const long UIA_NativeWindowHandlePropertyId = 30020; const long UIA_ItemTypePropertyId = 30021; const long UIA_IsOffscreenPropertyId = 30022; const long UIA_OrientationPropertyId = 30023; const long UIA_FrameworkIdPropertyId = 30024; const long UIA_IsRequiredForFormPropertyId = 30025; const long UIA_ItemStatusPropertyId = 30026; const long UIA_IsDockPatternAvailablePropertyId = 30027; const long UIA_IsExpandCollapsePatternAvailablePropertyId = 30028; const long UIA_IsGridItemPatternAvailablePropertyId = 30029; const long UIA_IsGridPatternAvailablePropertyId = 30030; const long UIA_IsInvokePatternAvailablePropertyId = 30031; const long UIA_IsMultipleViewPatternAvailablePropertyId = 30032; const long UIA_IsRangeValuePatternAvailablePropertyId = 30033; const long UIA_IsScrollPatternAvailablePropertyId = 30034; const long UIA_IsScrollItemPatternAvailablePropertyId = 30035; const long UIA_IsSelectionItemPatternAvailablePropertyId = 30036; const long UIA_IsSelectionPatternAvailablePropertyId = 30037; const long UIA_IsTablePatternAvailablePropertyId = 30038; const long UIA_IsTableItemPatternAvailablePropertyId = 30039; const long UIA_IsTextPatternAvailablePropertyId = 30040; const long UIA_IsTogglePatternAvailablePropertyId = 30041; const long UIA_IsTransformPatternAvailablePropertyId = 30042; const long UIA_IsValuePatternAvailablePropertyId = 30043; const long UIA_IsWindowPatternAvailablePropertyId = 30044; const long UIA_ValueValuePropertyId = 30045; const long UIA_ValueIsReadOnlyPropertyId = 30046; const long UIA_RangeValueValuePropertyId = 30047; const long UIA_RangeValueIsReadOnlyPropertyId = 30048; const long UIA_RangeValueMinimumPropertyId = 30049; const long UIA_RangeValueMaximumPropertyId = 30050; const long UIA_RangeValueLargeChangePropertyId = 30051; const long UIA_RangeValueSmallChangePropertyId = 30052; const long UIA_ScrollHorizontalScrollPercentPropertyId = 30053; const long UIA_ScrollHorizontalViewSizePropertyId = 30054; const long UIA_ScrollVerticalScrollPercentPropertyId = 30055; const long UIA_ScrollVerticalViewSizePropertyId = 30056; const long UIA_ScrollHorizontallyScrollablePropertyId = 30057; const long UIA_ScrollVerticallyScrollablePropertyId = 30058; const long UIA_SelectionSelectionPropertyId = 30059; const long UIA_SelectionCanSelectMultiplePropertyId = 30060; const long UIA_SelectionIsSelectionRequiredPropertyId = 30061; const long UIA_GridRowCountPropertyId = 30062; const long UIA_GridColumnCountPropertyId = 30063; const long UIA_GridItemRowPropertyId = 30064; const long UIA_GridItemColumnPropertyId = 30065; const long UIA_GridItemRowSpanPropertyId = 30066; const long UIA_GridItemColumnSpanPropertyId = 30067; const long UIA_GridItemContainingGridPropertyId = 30068; const long UIA_DockDockPositionPropertyId = 30069; const long UIA_ExpandCollapseExpandCollapseStatePropertyId = 30070; const long UIA_MultipleViewCurrentViewPropertyId = 30071; const long UIA_MultipleViewSupportedViewsPropertyId = 30072; const long UIA_WindowCanMaximizePropertyId = 30073; const long UIA_WindowCanMinimizePropertyId = 30074; const long UIA_WindowWindowVisualStatePropertyId = 30075; const long UIA_WindowWindowInteractionStatePropertyId = 30076; const long UIA_WindowIsModalPropertyId = 30077; const long UIA_WindowIsTopmostPropertyId = 30078; const long UIA_SelectionItemIsSelectedPropertyId = 30079; const long UIA_SelectionItemSelectionContainerPropertyId = 30080; const long UIA_TableRowHeadersPropertyId = 30081; const long UIA_TableColumnHeadersPropertyId = 30082; const long UIA_TableRowOrColumnMajorPropertyId = 30083; const long UIA_TableItemRowHeaderItemsPropertyId = 30084; const long UIA_TableItemColumnHeaderItemsPropertyId = 30085; const long UIA_ToggleToggleStatePropertyId = 30086; const long UIA_TransformCanMovePropertyId = 30087; const long UIA_TransformCanResizePropertyId = 30088; const long UIA_TransformCanRotatePropertyId = 30089; const long UIA_IsLegacyIAccessiblePatternAvailablePropertyId = 30090; const long UIA_LegacyIAccessibleChildIdPropertyId = 30091; const long UIA_LegacyIAccessibleNamePropertyId = 30092; const long UIA_LegacyIAccessibleValuePropertyId = 30093; const long UIA_LegacyIAccessibleDescriptionPropertyId = 30094; const long UIA_LegacyIAccessibleRolePropertyId = 30095; const long UIA_LegacyIAccessibleStatePropertyId = 30096; const long UIA_LegacyIAccessibleHelpPropertyId = 30097; const long UIA_LegacyIAccessibleKeyboardShortcutPropertyId = 30098; const long UIA_LegacyIAccessibleSelectionPropertyId = 30099; const long UIA_LegacyIAccessibleDefaultActionPropertyId = 30100; const long UIA_AriaRolePropertyId = 30101; const long UIA_AriaPropertiesPropertyId = 30102; const long UIA_IsDataValidForFormPropertyId = 30103; const long UIA_ControllerForPropertyId = 30104; const long UIA_DescribedByPropertyId = 30105; const long UIA_FlowsToPropertyId = 30106; const long UIA_ProviderDescriptionPropertyId = 30107; const long UIA_IsItemContainerPatternAvailablePropertyId = 30108; const long UIA_IsVirtualizedItemPatternAvailablePropertyId = 30109; const long UIA_IsSynchronizedInputPatternAvailablePropertyId = 30110; const long UIA_OptimizeForVisualContentPropertyId = 30111; const long UIA_IsObjectModelPatternAvailablePropertyId = 30112; const long UIA_AnnotationAnnotationTypeIdPropertyId = 30113; const long UIA_AnnotationAnnotationTypeNamePropertyId = 30114; const long UIA_AnnotationAuthorPropertyId = 30115; const long UIA_AnnotationDateTimePropertyId = 30116; const long UIA_AnnotationTargetPropertyId = 30117; const long UIA_IsAnnotationPatternAvailablePropertyId = 30118; const long UIA_IsTextPattern2AvailablePropertyId = 30119; const long UIA_StylesStyleIdPropertyId = 30120; const long UIA_StylesStyleNamePropertyId = 30121; const long UIA_StylesFillColorPropertyId = 30122; const long UIA_StylesFillPatternStylePropertyId = 30123; const long UIA_StylesShapePropertyId = 30124; const long UIA_StylesFillPatternColorPropertyId = 30125; const long UIA_StylesExtendedPropertiesPropertyId = 30126; const long UIA_IsStylesPatternAvailablePropertyId = 30127; const long UIA_IsSpreadsheetPatternAvailablePropertyId = 30128; const long UIA_SpreadsheetItemFormulaPropertyId = 30129; const long UIA_SpreadsheetItemAnnotationObjectsPropertyId = 30130; const long UIA_SpreadsheetItemAnnotationTypesPropertyId = 30131; const long UIA_IsSpreadsheetItemPatternAvailablePropertyId = 30132; const long UIA_Transform2CanZoomPropertyId = 30133; const long UIA_IsTransformPattern2AvailablePropertyId = 30134; const long UIA_LiveSettingPropertyId = 30135; const long UIA_IsTextChildPatternAvailablePropertyId = 30136; const long UIA_IsDragPatternAvailablePropertyId = 30137; const long UIA_DragIsGrabbedPropertyId = 30138; const long UIA_DragDropEffectPropertyId = 30139; const long UIA_DragDropEffectsPropertyId = 30140; const long UIA_IsDropTargetPatternAvailablePropertyId = 30141; const long UIA_DropTargetDropTargetEffectPropertyId = 30142; const long UIA_DropTargetDropTargetEffectsPropertyId = 30143; const long UIA_DragGrabbedItemsPropertyId = 30144; const long UIA_Transform2ZoomLevelPropertyId = 30145; const long UIA_Transform2ZoomMinimumPropertyId = 30146; const long UIA_Transform2ZoomMaximumPropertyId = 30147; const long UIA_FlowsFromPropertyId = 30148; const long UIA_IsTextEditPatternAvailablePropertyId = 30149; const long UIA_IsPeripheralPropertyId = 30150; const long UIA_IsCustomNavigationPatternAvailablePropertyId = 30151; const long UIA_PositionInSetPropertyId = 30152; const long UIA_SizeOfSetPropertyId = 30153; const long UIA_LevelPropertyId = 30154; const long UIA_AnnotationTypesPropertyId = 30155; const long UIA_AnnotationObjectsPropertyId = 30156; const long UIA_LandmarkTypePropertyId = 30157; const long UIA_LocalizedLandmarkTypePropertyId = 30158; const long UIA_FullDescriptionPropertyId = 30159; const long UIA_FillColorPropertyId = 30160; const long UIA_OutlineColorPropertyId = 30161; const long UIA_FillTypePropertyId = 30162; const long UIA_VisualEffectsPropertyId = 30163; const long UIA_OutlineThicknessPropertyId = 30164; const long UIA_CenterPointPropertyId = 30165; const long UIA_RotationPropertyId = 30166; const long UIA_SizePropertyId = 30167; const long UIA_IsSelectionPattern2AvailablePropertyId = 30168; const long UIA_Selection2FirstSelectedItemPropertyId = 30169; const long UIA_Selection2LastSelectedItemPropertyId = 30170; const long UIA_Selection2CurrentSelectedItemPropertyId = 30171; const long UIA_Selection2ItemCountPropertyId = 30172; const long UIA_HeadingLevelPropertyId = 30173; const long UIA_IsDialogPropertyId = 30174; /* } */ /* FIXME: Uncomment when properly supported in widl [dllname("")] module UIA_ControlTypeIds { */ const long UIA_ButtonControlTypeId = 50000; const long UIA_CalendarControlTypeId = 50001; const long UIA_CheckBoxControlTypeId = 50002; const long UIA_ComboBoxControlTypeId = 50003; const long UIA_EditControlTypeId = 50004; const long UIA_HyperlinkControlTypeId = 50005; const long UIA_ImageControlTypeId = 50006; const long UIA_ListItemControlTypeId = 50007; const long UIA_ListControlTypeId = 50008; const long UIA_MenuControlTypeId = 50009; const long UIA_MenuBarControlTypeId = 50010; const long UIA_MenuItemControlTypeId = 50011; const long UIA_ProgressBarControlTypeId = 50012; const long UIA_RadioButtonControlTypeId = 50013; const long UIA_ScrollBarControlTypeId = 50014; const long UIA_SliderControlTypeId = 50015; const long UIA_SpinnerControlTypeId = 50016; const long UIA_StatusBarControlTypeId = 50017; const long UIA_TabControlTypeId = 50018; const long UIA_TabItemControlTypeId = 50019; const long UIA_TextControlTypeId = 50020; const long UIA_ToolBarControlTypeId = 50021; const long UIA_ToolTipControlTypeId = 50022; const long UIA_TreeControlTypeId = 50023; const long UIA_TreeItemControlTypeId = 50024; const long UIA_CustomControlTypeId = 50025; const long UIA_GroupControlTypeId = 50026; const long UIA_ThumbControlTypeId = 50027; const long UIA_DataGridControlTypeId = 50028; const long UIA_DataItemControlTypeId = 50029; const long UIA_DocumentControlTypeId = 50030; const long UIA_SplitButtonControlTypeId = 50031; const long UIA_WindowControlTypeId = 50032; const long UIA_PaneControlTypeId = 50033; const long UIA_HeaderControlTypeId = 50034; const long UIA_HeaderItemControlTypeId = 50035; const long UIA_TableControlTypeId = 50036; const long UIA_TitleBarControlTypeId = 50037; const long UIA_SeparatorControlTypeId = 50038; const long UIA_SemanticZoomControlTypeId = 50039; const long UIA_AppBarControlTypeId = 50040; /* }; */ interface IUIAutomationElement; interface IUIAutomationElementArray; [ object, uuid(352ffba8-0973-437c-a61f-f64cafd81df9), pointer_default(unique) ] interface IUIAutomationCondition : IUnknown { } [ object, uuid(1b4e1f2e-75eb-4d0b-8952-5a69988e2307), pointer_default(unique) ] interface IUIAutomationBoolCondition : IUIAutomationCondition { [propget] HRESULT BooleanValue([out, retval] BOOL *boolVal); } [ object, uuid(99ebf2cb-5578-4267-9ad4-afd6ea77e94b), pointer_default(unique) ] interface IUIAutomationPropertyCondition : IUIAutomationCondition { [propget] HRESULT PropertyId([out, retval] PROPERTYID *propertyId); [propget] HRESULT PropertyValue([out, retval] VARIANT *propertyValue); [propget] HRESULT PropertyConditionFlags([out, retval] enum PropertyConditionFlags *flags); } [ object, uuid(a7d0af36-b912-45fe-9855-091ddc174aec), pointer_default(unique) ] interface IUIAutomationAndCondition : IUIAutomationCondition { [propget] HRESULT ChildCount([out, retval] int *childCount); HRESULT GetChildrenAsNativeArray( [out, size_is( ,*childArrayCount)] IUIAutomationCondition ***childArray, [out] int *childArrayCount); HRESULT GetChildren([out, retval] SAFEARRAY(IUIAutomationCondition) *childArray); } [ object, uuid(8753f032-3db1-47b5-a1fc-6e34a266c712), pointer_default(unique) ] interface IUIAutomationOrCondition : IUIAutomationCondition { [propget] HRESULT ChildCount([out, retval] int *childCount); HRESULT GetChildrenAsNativeArray( [out, size_is( ,*childArrayCount)] IUIAutomationCondition ***childArray, [out] int *childArrayCount); HRESULT GetChildren([out, retval] SAFEARRAY(IUIAutomationCondition) *childArray); } [ object, uuid(f528b657-847b-498c-8896-d52b565407a1), pointer_default(unique) ] interface IUIAutomationNotCondition : IUIAutomationCondition { HRESULT GetChild([out, retval] IUIAutomationCondition **condition); } [ object, uuid(b32a92b5-bc25-4078-9c08-d7ee95c48e03), pointer_default(unique) ] interface IUIAutomationCacheRequest : IUnknown { HRESULT AddProperty([in] PROPERTYID propertyId); HRESULT AddPattern([in] PATTERNID patternId); HRESULT Clone([out, retval] IUIAutomationCacheRequest **clonedRequest); [propget] HRESULT TreeScope([out, retval] enum TreeScope *scope); [propput] HRESULT TreeScope([in] enum TreeScope scope); [propget] HRESULT TreeFilter([out, retval] IUIAutomationCondition **filter); [propput] HRESULT TreeFilter([in] IUIAutomationCondition *filter); [propget] HRESULT AutomationElementMode([out, retval] enum AutomationElementMode *mode); [propput] HRESULT AutomationElementMode([in] enum AutomationElementMode mode); } [ object, uuid(4042c624-389c-4afc-a630-9df854a541fc), pointer_default(unique) ] interface IUIAutomationTreeWalker : IUnknown { HRESULT GetParentElement( [in] IUIAutomationElement *element, [out, retval] IUIAutomationElement **parent); HRESULT GetFirstChildElement( [in] IUIAutomationElement *element, [out, retval] IUIAutomationElement **first); HRESULT GetLastChildElement( [in] IUIAutomationElement *element, [out, retval] IUIAutomationElement **last); HRESULT GetNextSiblingElement( [in] IUIAutomationElement *element, [out, retval] IUIAutomationElement **next); HRESULT GetPreviousSiblingElement( [in] IUIAutomationElement *element, [out, retval] IUIAutomationElement **previous); HRESULT NormalizeElement( [in] IUIAutomationElement *element, [out, retval] IUIAutomationElement **normalized); HRESULT GetParentElementBuildCache( [in] IUIAutomationElement *element, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **parent); HRESULT GetFirstChildElementBuildCache( [in] IUIAutomationElement *element, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **first); HRESULT GetLastChildElementBuildCache( [in] IUIAutomationElement *element, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **last); HRESULT GetNextSiblingElementBuildCache( [in] IUIAutomationElement *element, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **next); HRESULT GetPreviousSiblingElementBuildCache( [in] IUIAutomationElement *element, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **previous); HRESULT NormalizeElementBuildCache( [in] IUIAutomationElement *element, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **normalized); [propget] HRESULT Condition([out, retval] IUIAutomationCondition **condition); } [ object, uuid(146c3c17-f12e-4e22-8c27-f894b9b79c69), pointer_default(unique), oleautomation ] interface IUIAutomationEventHandler : IUnknown { HRESULT HandleAutomationEvent( [in] IUIAutomationElement *sender, [in] EVENTID eventId); } [ object, uuid(40cd37d4-c756-4b0c-8c6f-bddfeeb13b50), pointer_default(unique), oleautomation ] interface IUIAutomationPropertyChangedEventHandler : IUnknown { HRESULT HandlePropertyChangedEvent( [in] IUIAutomationElement *sender, [in] PROPERTYID propertyId, [in] VARIANT newValue); } [ object, uuid(e81d1b4e-11c5-42f8-9754-e7036c79f054), pointer_default(unique), oleautomation ] interface IUIAutomationStructureChangedEventHandler : IUnknown { HRESULT HandleStructureChangedEvent( [in] IUIAutomationElement *sender, [in] enum StructureChangeType changeType, [in] SAFEARRAY(int) runtimeId); } [ object, uuid(c270f6b5-5c69-4290-9745-7a7f97169468), pointer_default(unique), oleautomation ] interface IUIAutomationFocusChangedEventHandler : IUnknown { HRESULT HandleFocusChangedEvent([in] IUIAutomationElement *sender); } [ object, uuid(92faa680-e704-4156-931a-e32d5bb38f3f), pointer_default(unique), oleautomation ] interface IUIAutomationTextEditTextChangedEventHandler : IUnknown { HRESULT HandleTextEditTextChangedEvent( [in] IUIAutomationElement *sender, [in] enum TextEditChangeType textEditChangeType, [in] SAFEARRAY(BSTR) eventStrings); } [ object, uuid(58edca55-2c3e-4980-b1b9-56c17f27a2a0), pointer_default(unique), oleautomation ] interface IUIAutomationChangesEventHandler : IUnknown { HRESULT HandleChangesEvent( [in] IUIAutomationElement *sender, [in, size_is(changesCount)] struct UiaChangeInfo *uiaChanges, [in] int changesCount); } interface IUIAutomationNotificationEventHandler; interface IUIAutomationInvokePattern; interface IUIAutomationDockPattern; interface IUIAutomationExpandCollapsePattern; interface IUIAutomationGridPattern; interface IUIAutomationGridItemPattern; interface IUIAutomationMultipleViewPattern; interface IUIAutomationObjectModelPattern; interface IUIAutomationRangeValuePattern; interface IUIAutomationScrollPattern; interface IUIAutomationScrollItemPattern; interface IUIAutomationSelectionPattern; interface IUIAutomationSelectionItemPattern; interface IUIAutomationSynchronizedInputPattern; interface IUIAutomationTablePattern; interface IUIAutomationTableItemPattern; interface IUIAutomationTogglePattern; interface IUIAutomationTransformPattern; [ object, uuid(a94cd8b1-0844-4cd6-9d2d-640537ab39e9), pointer_default(unique) ] interface IUIAutomationValuePattern : IUnknown { HRESULT SetValue([in] BSTR val); [propget] HRESULT CurrentValue([out, retval] BSTR *retVal); [propget] HRESULT CurrentIsReadOnly([out, retval] BOOL *retVal); [propget] HRESULT CachedValue([out, retval] BSTR *retVal); [propget] HRESULT CachedIsReadOnly([out, retval] BOOL *retVal); } [ object, uuid(0faef453-9208-43ef-bbb2-3b485177864f), pointer_default(unique) ] interface IUIAutomationWindowPattern : IUnknown { HRESULT Close(); HRESULT WaitForInputIdle( [in] int milliseconds, [out, retval] BOOL *success); HRESULT SetWindowVisualState([in] enum WindowVisualState state); [propget] HRESULT CurrentCanMaximize([out, retval] BOOL *retVal); [propget] HRESULT CurrentCanMinimize([out, retval] BOOL *retVal); [propget] HRESULT CurrentIsModal([out, retval] BOOL *retVal); [propget] HRESULT CurrentIsTopmost([out, retval] BOOL *retVal); [propget] HRESULT CurrentWindowVisualState([out, retval] enum WindowVisualState *retVal); [propget] HRESULT CurrentWindowInteractionState([out, retval] enum WindowInteractionState *retVal); [propget] HRESULT CachedCanMaximize([out, retval] BOOL *retVal); [propget] HRESULT CachedCanMinimize([out, retval] BOOL *retVal); [propget] HRESULT CachedIsModal([out, retval] BOOL *retVal); [propget] HRESULT CachedIsTopmost([out, retval] BOOL *retVal); [propget] HRESULT CachedWindowVisualState([out, retval] enum WindowVisualState *retVal); [propget] HRESULT CachedWindowInteractionState([out, retval] enum WindowInteractionState *retVal); } interface IUIAutomationTextRange; interface IUIAutomationTextRange2; interface IUIAutomationTextRangeArray; interface IUIAutomationTextPattern; interface IUIAutomationTextPattern2; interface IUIAutomationTextEditPattern; interface IUIAutomationCustomNavigationPattern; interface IUIAutomationActiveTextPositionChangedEventHandler; [ object, uuid(828055ad-355b-4435-86d5-3b51c14a9b1b), pointer_default(unique) ] interface IUIAutomationLegacyIAccessiblePattern: IUnknown { HRESULT Select(long flagsSelect); HRESULT DoDefaultAction(); HRESULT SetValue(LPCWSTR szValue); [propget] HRESULT CurrentChildId([out, retval] int *pRetVal); [propget] HRESULT CurrentName([out, retval] BSTR *pszName); [propget] HRESULT CurrentValue([out, retval] BSTR *pszValue); [propget] HRESULT CurrentDescription([out, retval] BSTR *pszDescription); [propget] HRESULT CurrentRole([out, retval] DWORD *pdwRole); [propget] HRESULT CurrentState([out, retval] DWORD *pdwState); [propget] HRESULT CurrentHelp([out, retval] BSTR *pszHelp); [propget] HRESULT CurrentKeyboardShortcut([out, retval] BSTR *pszKeyboardShortcut); HRESULT GetCurrentSelection([out, retval] IUIAutomationElementArray **pvarSelectedChildren); [propget] HRESULT CurrentDefaultAction([out, retval] BSTR *pszDefaultAction); [propget] HRESULT CachedChildId([out, retval] int *pRetVal); [propget] HRESULT CachedName([out, retval] BSTR *pszName); [propget] HRESULT CachedValue([out, retval] BSTR *pszValue); [propget] HRESULT CachedDescription([out, retval] BSTR *pszDescription); [propget] HRESULT CachedRole([out, retval] DWORD *pdwRole); [propget] HRESULT CachedState([out, retval] DWORD *pdwState); [propget] HRESULT CachedHelp([out, retval] BSTR *pszHelp); [propget] HRESULT CachedKeyboardShortcut([out, retval] BSTR *pszKeyboardShortcut); HRESULT GetCachedSelection([out, retval] IUIAutomationElementArray **pvarSelectedChildren); [propget] HRESULT CachedDefaultAction([out, retval] BSTR *pszDefaultAction); HRESULT GetIAccessible([out, retval] IAccessible **ppAccessible); }; interface IUIAutomationItemContainerPattern; interface IUIAutomationVirtualizedItemPattern; interface IUIAutomationAnnotationPattern; interface IUIAutomationStylesPattern; interface IUIAutomationSpreadsheetPattern; interface IUIAutomationSpreadsheetItemPattern; interface IUIAutomationTransformPattern2; interface IUIAutomationTextChildPattern; interface IUIAutomationDragPattern; interface IUIAutomationDropTargetPattern; [ object, uuid(d22108aa-8ac5-49a5-837b-37bbb3d7591e), pointer_default(unique) ] interface IUIAutomationElement : IUnknown { HRESULT SetFocus(); HRESULT GetRuntimeId([out, retval] SAFEARRAY(int) *runtimeId); HRESULT FindFirst( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [out, retval] IUIAutomationElement **found); HRESULT FindAll( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [out, retval] IUIAutomationElementArray **found); HRESULT FindFirstBuildCache( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **found); HRESULT FindAllBuildCache( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElementArray **found); HRESULT BuildUpdatedCache( [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **updatedElement); HRESULT GetCurrentPropertyValue( [in] PROPERTYID propertyId, [out, retval] VARIANT *retVal); HRESULT GetCurrentPropertyValueEx( [in] PROPERTYID propertyId, [in] BOOL ignoreDefaultValue, [out, retval] VARIANT *retVal); HRESULT GetCachedPropertyValue( [in] PROPERTYID propertyId, [out, retval] VARIANT *retVal); HRESULT GetCachedPropertyValueEx( [in] PROPERTYID propertyId, [in] BOOL ignoreDefaultValue, [out, retval] VARIANT *retVal); HRESULT GetCurrentPatternAs( [in] PATTERNID patternId, [in] REFIID riid, [out, iid_is(riid), retval] void **patternObject); HRESULT GetCachedPatternAs( [in] PATTERNID patternId, [in] REFIID riid, [out, iid_is(riid), retval] void **patternObject); HRESULT GetCurrentPattern( [in] PATTERNID patternId, [out, retval] IUnknown **patternObject); HRESULT GetCachedPattern( [in] PATTERNID patternId, [out, retval] IUnknown **patternObject); HRESULT GetCachedParent([out, retval] IUIAutomationElement **parent); HRESULT GetCachedChildren([out, retval] IUIAutomationElementArray **children); [propget] HRESULT CurrentProcessId([out, retval] int *retVal); [propget] HRESULT CurrentControlType([out, retval] CONTROLTYPEID *retVal); [propget] HRESULT CurrentLocalizedControlType([out, retval] BSTR *retVal); [propget] HRESULT CurrentName([out, retval] BSTR *retVal); [propget] HRESULT CurrentAcceleratorKey([out, retval] BSTR *retVal); [propget] HRESULT CurrentAccessKey([out, retval] BSTR *retVal); [propget] HRESULT CurrentHasKeyboardFocus([out, retval] BOOL *retVal); [propget] HRESULT CurrentIsKeyboardFocusable([out, retval] BOOL *retVal); [propget] HRESULT CurrentIsEnabled([out, retval] BOOL *retVal); [propget] HRESULT CurrentAutomationId([out, retval] BSTR *retVal); [propget] HRESULT CurrentClassName([out, retval] BSTR *retVal); [propget] HRESULT CurrentHelpText([out, retval] BSTR *retVal); [propget] HRESULT CurrentCulture([out, retval] int *retVal); [propget] HRESULT CurrentIsControlElement([out, retval] BOOL *retVal); [propget] HRESULT CurrentIsContentElement([out, retval] BOOL *retVal); [propget] HRESULT CurrentIsPassword([out, retval] BOOL *retVal); [propget] HRESULT CurrentNativeWindowHandle([out, retval] UIA_HWND *retVal); [propget] HRESULT CurrentItemType([out, retval] BSTR *retVal); [propget] HRESULT CurrentIsOffscreen([out, retval] BOOL *retVal); [propget] HRESULT CurrentOrientation([out, retval] enum OrientationType *retVal); [propget] HRESULT CurrentFrameworkId([out, retval] BSTR *retVal); [propget] HRESULT CurrentIsRequiredForForm([out, retval] BOOL *retVal); [propget] HRESULT CurrentItemStatus([out, retval] BSTR *retVal); [propget] HRESULT CurrentBoundingRectangle([out, retval] RECT *retVal); [propget] HRESULT CurrentLabeledBy([out, retval] IUIAutomationElement **retVal); [propget] HRESULT CurrentAriaRole([out, retval] BSTR *retVal); [propget] HRESULT CurrentAriaProperties([out, retval] BSTR *retVal); [propget] HRESULT CurrentIsDataValidForForm([out, retval] BOOL *retVal); [propget] HRESULT CurrentControllerFor([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CurrentDescribedBy([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CurrentFlowsTo([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CurrentProviderDescription([out, retval] BSTR *retVal); [propget] HRESULT CachedProcessId([out, retval] int *retVal); [propget] HRESULT CachedControlType([out, retval] CONTROLTYPEID *retVal); [propget] HRESULT CachedLocalizedControlType([out, retval] BSTR *retVal); [propget] HRESULT CachedName([out, retval] BSTR *retVal); [propget] HRESULT CachedAcceleratorKey([out, retval] BSTR *retVal); [propget] HRESULT CachedAccessKey([out, retval] BSTR *retVal); [propget] HRESULT CachedHasKeyboardFocus([out, retval] BOOL *retVal); [propget] HRESULT CachedIsKeyboardFocusable([out, retval] BOOL *retVal); [propget] HRESULT CachedIsEnabled([out, retval] BOOL *retVal); [propget] HRESULT CachedAutomationId([out, retval] BSTR *retVal); [propget] HRESULT CachedClassName([out, retval] BSTR *retVal); [propget] HRESULT CachedHelpText([out, retval] BSTR *retVal); [propget] HRESULT CachedCulture([out, retval] int *retVal); [propget] HRESULT CachedIsControlElement([out, retval] BOOL *retVal); [propget] HRESULT CachedIsContentElement([out, retval] BOOL *retVal); [propget] HRESULT CachedIsPassword([out, retval] BOOL *retVal); [propget] HRESULT CachedNativeWindowHandle([out, retval] UIA_HWND *retVal); [propget] HRESULT CachedItemType([out, retval] BSTR *retVal); [propget] HRESULT CachedIsOffscreen([out, retval] BOOL *retVal); [propget] HRESULT CachedOrientation([out, retval] enum OrientationType *retVal); [propget] HRESULT CachedFrameworkId([out, retval] BSTR *retVal); [propget] HRESULT CachedIsRequiredForForm([out, retval] BOOL *retVal); [propget] HRESULT CachedItemStatus([out, retval] BSTR *retVal); [propget] HRESULT CachedBoundingRectangle([out, retval] RECT *retVal); [propget] HRESULT CachedLabeledBy([out, retval] IUIAutomationElement **retVal); [propget] HRESULT CachedAriaRole([out, retval] BSTR *retVal); [propget] HRESULT CachedAriaProperties([out, retval] BSTR *retVal); [propget] HRESULT CachedIsDataValidForForm([out, retval] BOOL *retVal); [propget] HRESULT CachedControllerFor([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CachedDescribedBy([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CachedFlowsTo([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CachedProviderDescription([out, retval] BSTR *retVal); HRESULT GetClickablePoint( [out] POINT *clickable, [out, retval] BOOL *gotClickable); } [ object, uuid(6749c683-f70d-4487-a698-5f79d55290d6), pointer_default(unique) ] interface IUIAutomationElement2 : IUIAutomationElement { [propget] HRESULT CurrentOptimizeForVisualContent([out, retval] BOOL *retVal); [propget] HRESULT CachedOptimizeForVisualContent([out, retval] BOOL *retVal); [propget] HRESULT CurrentLiveSetting([out, retval] enum LiveSetting *retVal); [propget] HRESULT CachedLiveSetting([out, retval] enum LiveSetting *retVal); [propget] HRESULT CurrentFlowsFrom([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CachedFlowsFrom([out, retval] IUIAutomationElementArray **retVal); } [ object, uuid(8471df34-aee0-4a01-a7de-7db9af12c296), pointer_default(unique) ] interface IUIAutomationElement3 : IUIAutomationElement2 { HRESULT ShowContextMenu(); [propget] HRESULT CurrentIsPeripheral([out, retval] BOOL *retVal); [propget] HRESULT CachedIsPeripheral([out, retval] BOOL *retVal); } [ object, uuid(3b6e233c-52fb-4063-a4c9-77c075c2a06b), pointer_default(unique) ] interface IUIAutomationElement4 : IUIAutomationElement3 { [propget] HRESULT CurrentPositionInSet([out, retval] int *retVal); [propget] HRESULT CurrentSizeOfSet([out, retval] int *retVal); [propget] HRESULT CurrentLevel([out, retval] int *retVal); [propget] HRESULT CurrentAnnotationTypes([out, retval] SAFEARRAY(int) *retVal); [propget] HRESULT CurrentAnnotationObjects([out, retval] IUIAutomationElementArray **retVal); [propget] HRESULT CachedPositionInSet([out, retval] int *retVal); [propget] HRESULT CachedSizeOfSet([out, retval] int *retVal); [propget] HRESULT CachedLevel([out, retval] int *retVal); [propget] HRESULT CachedAnnotationTypes([out, retval] SAFEARRAY(int) *retVal); [propget] HRESULT CachedAnnotationObjects([out, retval] IUIAutomationElementArray **retVal); } [ object, uuid(98141c1d-0d0e-4175-bbe2-6bff455842a7), pointer_default(unique) ] interface IUIAutomationElement5 : IUIAutomationElement4 { [propget] HRESULT CurrentLandmarkType([out, retval] LANDMARKTYPEID *retVal); [propget] HRESULT CurrentLocalizedLandmarkType([out, retval] BSTR *retVal); [propget] HRESULT CachedLandmarkType([out, retval] LANDMARKTYPEID *retVal); [propget] HRESULT CachedLocalizedLandmarkType([out, retval] BSTR *retVal); } [ object, uuid(4780d450-8bca-4977-afa5-a4a517f555e3), pointer_default(unique) ] interface IUIAutomationElement6 : IUIAutomationElement5 { [propget] HRESULT CurrentFullDescription([out, retval] BSTR *retVal); [propget] HRESULT CachedFullDescription([out, retval] BSTR *retVal); } [ object, uuid(204e8572-cfc3-4c11-b0c8-7da7420750b7), pointer_default(unique) ] interface IUIAutomationElement7 : IUIAutomationElement6 { HRESULT FindFirstWithOptions( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [in] enum TreeTraversalOptions traversalOptions, [in] IUIAutomationElement *root, [out, retval] IUIAutomationElement **found); HRESULT FindAllWithOptions( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [in] enum TreeTraversalOptions traversalOptions, [in] IUIAutomationElement *root, [out, retval] IUIAutomationElementArray **found); HRESULT FindFirstWithOptionsBuildCache( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [in] IUIAutomationCacheRequest *cacheRequest, [in] enum TreeTraversalOptions traversalOptions, [in] IUIAutomationElement *root, [out, retval] IUIAutomationElement **found); HRESULT FindAllWithOptionsBuildCache( [in] enum TreeScope scope, [in] IUIAutomationCondition *condition, [in] IUIAutomationCacheRequest *cacheRequest, [in] enum TreeTraversalOptions traversalOptions, [in] IUIAutomationElement *root, [out, retval] IUIAutomationElementArray **found); HRESULT GetCurrentMetadataValue( [in] int targetId, [in] METADATAID metadataId, [out, retval] VARIANT *returnVal); } [ object, uuid(8c60217d-5411-4cde-bcc0-1ceda223830c), pointer_default(unique) ] interface IUIAutomationElement8 : IUIAutomationElement7 { [propget] HRESULT CurrentHeadingLevel([out, retval] HEADINGLEVELID *retVal); [propget] HRESULT CachedHeadingLevel([out, retval] HEADINGLEVELID *retVal); } [ object, uuid(39325fac-039d-440e-a3a3-5eb81a5cecc3), pointer_default(unique) ] interface IUIAutomationElement9 : IUIAutomationElement8 { [propget] HRESULT CurrentIsDialog([out, retval] BOOL *retVal); [propget] HRESULT CachedIsDialog([out, retval] BOOL *retVal); } [ object, uuid(14314595-b4bc-4055-95f2-58f2e42c9855), pointer_default(unique) ] interface IUIAutomationElementArray : IUnknown { [propget] HRESULT Length([out, retval] int *length); HRESULT GetElement( [in] int index, [out, retval] IUIAutomationElement **element); } interface IUIAutomationProxyFactory; interface IUIAutomationProxyFactoryEntry; interface IUIAutomationProxyFactoryMapping; [ object, uuid(c9ee12f2-c13b-4408-997c-639914377f4e), pointer_default(unique) ] interface IUIAutomationEventHandlerGroup : IUnknown { HRESULT AddActiveTextPositionChangedEventHandler( [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationActiveTextPositionChangedEventHandler *handler); HRESULT AddAutomationEventHandler( [in] EVENTID eventId, [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationEventHandler *handler); HRESULT AddChangesEventHandler( [in] enum TreeScope scope, [in, size_is(changesCount)] int *changeTypes, [in] int changesCount, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationChangesEventHandler *handler); HRESULT AddNotificationEventHandler( [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationNotificationEventHandler *handler); HRESULT AddPropertyChangedEventHandler( [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationPropertyChangedEventHandler *handler, [in, size_is(propertyCount)] PROPERTYID *propertyArray, [in] int propertyCount); HRESULT AddStructureChangedEventHandler( [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationStructureChangedEventHandler *handler); HRESULT AddTextEditTextChangedEventHandler( [in] enum TreeScope scope, [in] enum TextEditChangeType textEditChangeType, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationTextEditTextChangedEventHandler *handler); } [ object, uuid(30cbe57d-d9d0-452a-ab13-7ac5ac4825ee), pointer_default(unique) ] interface IUIAutomation : IUnknown { HRESULT CompareElements( [in] IUIAutomationElement *el1, [in] IUIAutomationElement *el2, [out, retval] BOOL *areSame); HRESULT CompareRuntimeIds( [in] SAFEARRAY(int) runtimeId1, [in] SAFEARRAY(int) runtimeId2, [out, retval] BOOL *areSame); HRESULT GetRootElement([out, retval] IUIAutomationElement **root); HRESULT ElementFromHandle( [in] UIA_HWND hwnd, [out, retval] IUIAutomationElement **element); HRESULT ElementFromPoint( [in] POINT pt, [out, retval] IUIAutomationElement **element); HRESULT GetFocusedElement([out, retval] IUIAutomationElement **element); HRESULT GetRootElementBuildCache( [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **root); HRESULT ElementFromHandleBuildCache( [in] UIA_HWND hwnd, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **element); HRESULT ElementFromPointBuildCache( [in] POINT pt, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **element); HRESULT GetFocusedElementBuildCache( [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **element); HRESULT CreateTreeWalker( [in] IUIAutomationCondition *pCondition, [out, retval] IUIAutomationTreeWalker **walker); [propget] HRESULT ControlViewWalker([out, retval] IUIAutomationTreeWalker **walker); [propget] HRESULT ContentViewWalker([out, retval] IUIAutomationTreeWalker **walker); [propget] HRESULT RawViewWalker([out, retval] IUIAutomationTreeWalker **walker); [propget] HRESULT RawViewCondition([out, retval] IUIAutomationCondition **condition); [propget] HRESULT ControlViewCondition([out, retval] IUIAutomationCondition **condition); [propget] HRESULT ContentViewCondition([out, retval] IUIAutomationCondition **condition); HRESULT CreateCacheRequest([out, retval] IUIAutomationCacheRequest **cacheRequest); HRESULT CreateTrueCondition([out, retval] IUIAutomationCondition **newCondition); HRESULT CreateFalseCondition([out, retval] IUIAutomationCondition **newCondition); HRESULT CreatePropertyCondition( [in] PROPERTYID propertyId, [in] VARIANT value, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreatePropertyConditionEx( [in] PROPERTYID propertyId, [in] VARIANT value, [in] enum PropertyConditionFlags flags, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreateAndCondition( [in] IUIAutomationCondition *condition1, [in] IUIAutomationCondition *condition2, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreateAndConditionFromArray( [in] SAFEARRAY(IUIAutomationCondition) conditions, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreateAndConditionFromNativeArray( [in, size_is(conditionCount)] IUIAutomationCondition **conditions, [in] int conditionCount, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreateOrCondition( [in] IUIAutomationCondition *condition1, [in] IUIAutomationCondition *condition2, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreateOrConditionFromArray( [in] SAFEARRAY(IUIAutomationCondition) conditions, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreateOrConditionFromNativeArray( [in, size_is(conditionCount)] IUIAutomationCondition **conditions, [in] int conditionCount, [out, retval] IUIAutomationCondition **newCondition); HRESULT CreateNotCondition( [in] IUIAutomationCondition *condition, [out, retval] IUIAutomationCondition **newCondition); HRESULT AddAutomationEventHandler( [in] EVENTID eventId, [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationEventHandler *handler); HRESULT RemoveAutomationEventHandler( [in] EVENTID eventId, [in] IUIAutomationElement *element, [in] IUIAutomationEventHandler *handler); HRESULT AddPropertyChangedEventHandlerNativeArray( [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationPropertyChangedEventHandler *handler, [in, size_is(propertyCount)] PROPERTYID *propertyArray, [in] int propertyCount); HRESULT AddPropertyChangedEventHandler( [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationPropertyChangedEventHandler *handler, [in] SAFEARRAY(PROPERTYID) propertyArray); HRESULT RemovePropertyChangedEventHandler( [in] IUIAutomationElement *element, [in] IUIAutomationPropertyChangedEventHandler *handler); HRESULT AddStructureChangedEventHandler( [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationStructureChangedEventHandler *handler); HRESULT RemoveStructureChangedEventHandler( [in] IUIAutomationElement *element, [in] IUIAutomationStructureChangedEventHandler *handler); HRESULT AddFocusChangedEventHandler( [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationFocusChangedEventHandler *handler); HRESULT RemoveFocusChangedEventHandler([in] IUIAutomationFocusChangedEventHandler *handler); HRESULT RemoveAllEventHandlers(); HRESULT IntNativeArrayToSafeArray( [in, size_is(arrayCount)] int *array, [in] int arrayCount, [out, retval] SAFEARRAY(int) *safeArray); HRESULT IntSafeArrayToNativeArray( [in] SAFEARRAY(int) intArray, [out, size_is( ,*arrayCount)] int **array, [out, retval] int *arrayCount); HRESULT RectToVariant( [in] RECT rc, [out, retval] VARIANT *var); HRESULT VariantToRect( [in] VARIANT var, [out, retval] RECT *rc); HRESULT SafeArrayToRectNativeArray( [in] SAFEARRAY(double) rects, [out, size_is( ,*rectArrayCount)] RECT **rectArray, [out, retval] int *rectArrayCount); HRESULT CreateProxyFactoryEntry( [in] IUIAutomationProxyFactory *factory, [out, retval] IUIAutomationProxyFactoryEntry **factoryEntry); [propget] HRESULT ProxyFactoryMapping([out, retval] IUIAutomationProxyFactoryMapping **factoryMapping); HRESULT GetPropertyProgrammaticName( [in] PROPERTYID property, [out, retval] BSTR *name); HRESULT GetPatternProgrammaticName( [in] PATTERNID pattern, [out, retval] BSTR *name); HRESULT PollForPotentialSupportedPatterns( [in] IUIAutomationElement *pElement, [out] SAFEARRAY(int) *patternIds, [out] SAFEARRAY(BSTR) *patternNames); HRESULT PollForPotentialSupportedProperties( [in] IUIAutomationElement *pElement, [out] SAFEARRAY(int) *propertyIds, [out] SAFEARRAY(BSTR) *propertyNames); HRESULT CheckNotSupported( [in] VARIANT value, [out, retval] BOOL *isNotSupported); [propget] HRESULT ReservedNotSupportedValue([out, retval] IUnknown **notSupportedValue); [propget] HRESULT ReservedMixedAttributeValue([out, retval] IUnknown **mixedAttributeValue); HRESULT ElementFromIAccessible( [in] IAccessible *accessible, [in] int childId, [out, retval] IUIAutomationElement **element); HRESULT ElementFromIAccessibleBuildCache( [in] IAccessible *accessible, [in] int childId, [in] IUIAutomationCacheRequest *cacheRequest, [out, retval] IUIAutomationElement **element); } [ object, uuid(34723aff-0c9d-49d0-9896-7ab52df8cd8a), pointer_default(unique) ] interface IUIAutomation2 : IUIAutomation { [propget] HRESULT AutoSetFocus([out, retval] BOOL *autoSetFocus); [propput] HRESULT AutoSetFocus([in] BOOL autoSetFocus); [propget] HRESULT ConnectionTimeout([out, retval] DWORD *timeout); [propput] HRESULT ConnectionTimeout([in] DWORD timeout); [propget] HRESULT TransactionTimeout([out, retval] DWORD *timeout); [propput] HRESULT TransactionTimeout([in] DWORD timeout); } [ object, uuid(73d768da-9b51-4b89-936e-c209290973e7), pointer_default(unique) ] interface IUIAutomation3 : IUIAutomation2 { HRESULT AddTextEditTextChangedEventHandler( [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in] enum TextEditChangeType textEditChangeType, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationTextEditTextChangedEventHandler *handler); HRESULT RemoveTextEditTextChangedEventHandler( [in] IUIAutomationElement *element, [in] IUIAutomationTextEditTextChangedEventHandler *handler); } [ object, uuid(1189c02a-05f8-4319-8e21-e817e3db2860), pointer_default(unique) ] interface IUIAutomation4 : IUIAutomation3 { HRESULT AddChangesEventHandler( [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in, size_is(changesCount)] int *changeTypes, [in] int changesCount, [in] IUIAutomationCacheRequest *pCacheRequest, [in] IUIAutomationChangesEventHandler *handler); HRESULT RemoveChangesEventHandler( [in] IUIAutomationElement *element, [in] IUIAutomationChangesEventHandler *handler); } [ object, uuid(25f700c8-d816-4057-a9dc-3cbdee77e256), pointer_default(unique) ] interface IUIAutomation5 : IUIAutomation4 { HRESULT AddNotificationEventHandler( [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationNotificationEventHandler *handler); HRESULT RemoveNotificationEventHandler( [in] IUIAutomationElement *element, [in] IUIAutomationNotificationEventHandler *handler); } [ object, uuid(aae072da-29e3-413d-87a7-192dbf81ed10), pointer_default(unique) ] interface IUIAutomation6 : IUIAutomation5 { HRESULT CreateEventHandlerGroup([out] IUIAutomationEventHandlerGroup **handlerGroup); HRESULT AddEventHandlerGroup( [in] IUIAutomationElement *element, [in] IUIAutomationEventHandlerGroup *handlerGroup); HRESULT RemoveEventHandlerGroup( [in] IUIAutomationElement *element, [in] IUIAutomationEventHandlerGroup *handlerGroup); [propget] HRESULT ConnectionRecoveryBehavior( [out, retval] enum ConnectionRecoveryBehaviorOptions *connectionRecoveryBehaviorOptions); [propput] HRESULT ConnectionRecoveryBehavior( [in] enum ConnectionRecoveryBehaviorOptions connectionRecoveryBehaviorOptions); [propget] HRESULT CoalesceEvents([out, retval] enum CoalesceEventsOptions *coalesceEventsOptions); [propput] HRESULT CoalesceEvents([in] enum CoalesceEventsOptions coalesceEventsOptions); HRESULT AddActiveTextPositionChangedEventHandler( [in] IUIAutomationElement *element, [in] enum TreeScope scope, [in] IUIAutomationCacheRequest *cacheRequest, [in] IUIAutomationActiveTextPositionChangedEventHandler *handler); HRESULT RemoveActiveTextPositionChangedEventHandler( [in] IUIAutomationElement *element, [in] IUIAutomationActiveTextPositionChangedEventHandler *handler); } [ uuid(ff48dba4-60ef-4201-aa87-54103eef594e), version(1.0), threading(both) ] coclass CUIAutomation { [default] interface IUIAutomation; } [ uuid(e22ad333-b25f-460c-83d0-0581107395c9), version(1.0), threading(both) ] coclass CUIAutomation8 { [default] interface IUIAutomation2; interface IUIAutomation3; interface IUIAutomation4; interface IUIAutomation5; interface IUIAutomation6; } }