1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00
wine/include/uiautomationclient.idl
Connor McAdams 3079c6beba include: Add UI Automation COM client interface definitions.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-08-03 17:54:39 +02:00

1408 lines
63 KiB
Plaintext

/*
* 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("<no entry points>")]
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("<no entry points>")]
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("<no entry points>")]
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("<no entry points>")]
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;
}
}