' ########################################################################################
' Microsoft Windows
' File: UIAutomationCore.inc
' Contents: UIAutomation interface definitions and related types and enums
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_UIAutomationCore_PBI)
#DEFINE PBX_UIAutomationCore_PBI
%EQUATE `UIAUTOMATIONCORE_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
#INCLUDE ONCE "Legacy/COM/OleAcc.inc"
' enum NavigateDirection
%EQUATE `NavigateDirection_Parent = 0
%EQUATE `NavigateDirection_NextSibling = 1
%EQUATE `NavigateDirection_PreviousSibling = 2
%EQUATE `NavigateDirection_FirstChild = 3
%EQUATE `NavigateDirection_LastChild = 4
' enum ProviderOptions
%EQUATE `ProviderOptions_ClientSideProvider = &H1
%EQUATE `ProviderOptions_ServerSideProvider = &H2
%EQUATE `ProviderOptions_NonClientAreaProvider = &H4
%EQUATE `ProviderOptions_OverrideProvider = &H8
%EQUATE `ProviderOptions_ProviderOwnsSetFocus = &H10
%EQUATE `ProviderOptions_UseComThreading = &H20
' enum StructureChangeType
%EQUATE `StructureChangeType_ChildAdded = 0
%EQUATE `StructureChangeType_ChildRemoved = %StructureChangeType_ChildAdded + 1
%EQUATE `StructureChangeType_ChildrenInvalidated = %StructureChangeType_ChildRemoved + 1
%EQUATE `StructureChangeType_ChildrenBulkAdded = %StructureChangeType_ChildrenInvalidated + 1
%EQUATE `StructureChangeType_ChildrenBulkRemoved = %StructureChangeType_ChildrenBulkAdded + 1
%EQUATE `StructureChangeType_ChildrenReordered = %StructureChangeType_ChildrenBulkRemoved + 1
' enum OrientationType
%EQUATE `OrientationType_None = 0
%EQUATE `OrientationType_Horizontal = 1
%EQUATE `OrientationType_Vertical = 2
' enum DockPosition
%EQUATE `DockPosition_Top = 0
%EQUATE `DockPosition_Left = 1
%EQUATE `DockPosition_Bottom = 2
%EQUATE `DockPosition_Right = 3
%EQUATE `DockPosition_Fill = 4
%EQUATE `DockPosition_None = 5
' enum ExpandCollapseState
%EQUATE `ExpandCollapseState_Collapsed = 0
%EQUATE `ExpandCollapseState_Expanded = 1
%EQUATE `ExpandCollapseState_PartiallyExpanded = 2
%EQUATE `ExpandCollapseState_LeafNode = 3
' enum ScrollAmount
%EQUATE `ScrollAmount_LargeDecrement = 0
%EQUATE `ScrollAmount_SmallDecrement = 1
%EQUATE `ScrollAmount_NoAmount = 2
%EQUATE `ScrollAmount_LargeIncrement = 3
%EQUATE `ScrollAmount_SmallIncrement = 4
' enum RowOrColumnMajor
%EQUATE `RowOrColumnMajor_RowMajor = 0
%EQUATE `RowOrColumnMajor_ColumnMajor = 1
%EQUATE `RowOrColumnMajor_Indeterminate = 2
' enum ToggleState
%EQUATE `ToggleState_Off = 0
%EQUATE `ToggleState_On = 1
%EQUATE `ToggleState_Indeterminate = 2
' enum WindowVisualState
%EQUATE `WindowVisualState_Normal = 0
%EQUATE `WindowVisualState_Maximized = 1
%EQUATE `WindowVisualState_Minimized = 2
' enum SynchronizedInputType
%EQUATE `SynchronizedInputType_KeyUp = &H1
%EQUATE `SynchronizedInputType_KeyDown = &H2
%EQUATE `SynchronizedInputType_LeftMouseUp = &H4
%EQUATE `SynchronizedInputType_LeftMouseDown = &H8
%EQUATE `SynchronizedInputType_RightMouseUp = &H10
%EQUATE `SynchronizedInputType_RightMouseDown = &H20
' enum WindowInteractionState
%EQUATE `WindowInteractionState_Running = 0
%EQUATE `WindowInteractionState_Closing = 1
%EQUATE `WindowInteractionState_ReadyForUserInteraction = 2
%EQUATE `WindowInteractionState_BlockedByModalWindow = 3
%EQUATE `WindowInteractionState_NotResponding = 4
' enum TextUnit
%EQUATE `TextUnit_Character = 0
%EQUATE `TextUnit_Format = 1
%EQUATE `TextUnit_Word = 2
%EQUATE `TextUnit_Line = 3
%EQUATE `TextUnit_Paragraph = 4
%EQUATE `TextUnit_Page = 5
%EQUATE `TextUnit_Document = 6
' enum TextPatternRangeEndpoint
%EQUATE `TextPatternRangeEndpoint_Start = 0
%EQUATE `TextPatternRangeEndpoint_End = 1
' enum SupportedTextSelection
%EQUATE `SupportedTextSelection_None = 0
%EQUATE `SupportedTextSelection_Single = 1
%EQUATE `SupportedTextSelection_Multiple = 2
' enum AnimationStyle
%EQUATE `AnimationStyle_None = 0
%EQUATE `AnimationStyle_LasVegasLights = 1
%EQUATE `AnimationStyle_BlinkingBackground = 2
%EQUATE `AnimationStyle_SparkleText = 3
%EQUATE `AnimationStyle_MarchingBlackAnts = 4
%EQUATE `AnimationStyle_MarchingRedAnts = 5
%EQUATE `AnimationStyle_Shimmer = 6
%EQUATE `AnimationStyle_Other = -1
' enum BulletStyle
%EQUATE `BulletStyle_None = 0
%EQUATE `BulletStyle_HollowRoundBullet = 1
%EQUATE `BulletStyle_FilledRoundBullet = 2
%EQUATE `BulletStyle_HollowSquareBullet = 3
%EQUATE `BulletStyle_FilledSquareBullet = 4
%EQUATE `BulletStyle_DashBullet = 5
%EQUATE `BulletStyle_Other = -1
' enum CapStyle
%EQUATE `CapStyle_None = 0
%EQUATE `CapStyle_SmallCap = 1
%EQUATE `CapStyle_AllCap = 2
%EQUATE `CapStyle_AllPetiteCaps = 3
%EQUATE `CapStyle_PetiteCaps = 4
%EQUATE `CapStyle_Unicase = 5
%EQUATE `CapStyle_Titling = 6
%EQUATE `CapStyle_Other = -1
' enum FlowDirections
%EQUATE `FlowDirections_Default = 0
%EQUATE `FlowDirections_RightToLeft = 1
%EQUATE `FlowDirections_BottomToTop = 2
%EQUATE `FlowDirections_Vertical = 4
' enum HorizontalTextAlignment
%EQUATE `HorizontalTextAlignment_Left = 0
%EQUATE `HorizontalTextAlignment_Centered = 1
%EQUATE `HorizontalTextAlignment_Right = 2
%EQUATE `HorizontalTextAlignment_Justified = 3
' enum OutlineStyles
%EQUATE `OutlineStyles_None = 0
%EQUATE `OutlineStyles_Outline = 1
%EQUATE `OutlineStyles_Shadow = 2
%EQUATE `OutlineStyles_Engraved = 4
%EQUATE `OutlineStyles_Embossed = 8
' enum TextDecorationLineStyle
%EQUATE `TextDecorationLineStyle_None = 0
%EQUATE `TextDecorationLineStyle_Single = 1
%EQUATE `TextDecorationLineStyle_WordsOnly = 2
%EQUATE `TextDecorationLineStyle_Double = 3
%EQUATE `TextDecorationLineStyle_Dot = 4
%EQUATE `TextDecorationLineStyle_Dash = 5
%EQUATE `TextDecorationLineStyle_DashDot = 6
%EQUATE `TextDecorationLineStyle_DashDotDot = 7
%EQUATE `TextDecorationLineStyle_Wavy = 8
%EQUATE `TextDecorationLineStyle_ThickSingle = 9
%EQUATE `TextDecorationLineStyle_DoubleWavy = 11
%EQUATE `TextDecorationLineStyle_ThickWavy = 12
%EQUATE `TextDecorationLineStyle_LongDash = 13
%EQUATE `TextDecorationLineStyle_ThickDash = 14
%EQUATE `TextDecorationLineStyle_ThickDashDot = 15
%EQUATE `TextDecorationLineStyle_ThickDashDotDot = 16
%EQUATE `TextDecorationLineStyle_ThickDot = 17
%EQUATE `TextDecorationLineStyle_ThickLongDash = 18
%EQUATE `TextDecorationLineStyle_Other = -1
'typedef int PROPERTYID;
'typedef int PATTERNID;
'typedef int EVENTID;
'typedef int TEXTATTRIBUTEID;
'typedef int CONTROLTYPEID;
' // Size = 32 bytes
TYPE UiaRect BYTE
 left AS DOUBLE
 top AS DOUBLE
 width AS DOUBLE
 height AS DOUBLE
END TYPE
' // Size = 16 bytes
TYPE UiaPoint BYTE
 x AS DOUBLE
 y AS DOUBLE
END TYPE
' enum UIAutomationType
%EQUATE `UIAutomationType_Int = &H1
%EQUATE `UIAutomationType_Bool = &H2
%EQUATE `UIAutomationType_String = &H3
%EQUATE `UIAutomationType_Double = &H4
%EQUATE `UIAutomationType_Point = &H5
%EQUATE `UIAutomationType_Rect = &H6
%EQUATE `UIAutomationType_Element = &H7
%EQUATE `UIAutomationType_Array = &H10000
%EQUATE `UIAutomationType_Out = &H20000
%EQUATE `UIAutomationType_IntArray = %UIAutomationType_Int OR %UIAutomationType_Array
%EQUATE `UIAutomationType_BoolArray = %UIAutomationType_Bool OR %UIAutomationType_Array
%EQUATE `UIAutomationType_StringArray = %UIAutomationType_String OR %UIAutomationType_Array
%EQUATE `UIAutomationType_DoubleArray = %UIAutomationType_Double OR %UIAutomationType_Array
%EQUATE `UIAutomationType_PointArray = %UIAutomationType_Point OR %UIAutomationType_Array
%EQUATE `UIAutomationType_RectArray = %UIAutomationType_Rect OR %UIAutomationType_Array
%EQUATE `UIAutomationType_ElementArray = %UIAutomationType_Element OR %UIAutomationType_Array
%EQUATE `UIAutomationType_OutInt = %UIAutomationType_Int OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutBool = %UIAutomationType_Bool OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutString = %UIAutomationType_String OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutDouble = %UIAutomationType_Double OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutPoint = %UIAutomationType_Point OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutRect = %UIAutomationType_Rect OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutElement = %UIAutomationType_Element OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutIntArray = (%UIAutomationType_Int OR %UIAutomationType_Array) OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutBoolArray = (%UIAutomationType_Bool OR %UIAutomationType_Array) OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutStringArray = (%UIAutomationType_String OR %UIAutomationType_Array) OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutDoubleArray = (%UIAutomationType_Double OR %UIAutomationType_Array) OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutPointArray = (%UIAutomationType_Point OR %UIAutomationType_Array) OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutRectArray = (%UIAutomationType_Rect OR %UIAutomationType_Array) OR %UIAutomationType_Out
%EQUATE `UIAutomationType_OutElementArray = (%UIAutomationType_Element OR %UIAutomationType_Array) OR %UIAutomationType_Out
' // Size = 8 bytes
TYPE UIAutomationParameter DWORD
 type AS LONG ' enum UIAutomationType
 pData AS DWORD ' void*
END TYPE
' // Size = 24 bytes
TYPE UIAutomationPropertyInfo DWORD
 guid AS GUID ' GUID
 pProgrammaticName AS WSTRINGZ PTR
 type AS LONG ' enum UIAutomationType
END TYPE
' // Size = 20 bytes
TYPE UIAutomationEventInfo DWORD
 guid AS GUID ' GUID
 pProgrammaticName AS WSTRINGZ PTR
END TYPE
' // Size = 24 bytes
TYPE UIAutomationMethodInfo DWORD
 pProgrammaticName AS WSTRINGZ PTR
 doSetFocus AS LONG
 cInParameters AS DWORD ' UINT
 cOutParameters AS DWORD ' UINT
 pParameterTypes AS LONG ' enum UIAutomationType *
 pParameterNames AS WSTRINGZ PTR ' LPCWSTR *
END TYPE
' // Size = 80 bytes
TYPE UIAutomationPatternInfo DWORD
 guid AS GUID ' GUID
 pProgrammaticName AS WSTRINGZ PTR
 providerInterfaceId AS GUID ' GUID
 clientInterfaceId AS GUID ' GUID
 cProperties AS DWORD ' UINT
 pProperties AS UIAutomationPropertyInfo PTR ' struct UIAutomationPropertyInfo *
 cMethods AS DWORD ' UINT
 pMethods AS UIAutomationMethodInfo PTR ' struct UIAutomationMethodInfo *
 cEvents AS DWORD ' UINT
 pEvents AS UIAutomationEventInfo PTR ' struct UIAutomationEventInfo *
 pPatternHandler AS DWORD PTR ' IUIAutomationPatternHandler *
END TYPE
#IF NOT %DEF(%UIA_OtherConstants_MODULE_DEFINED)
 %UIA_OtherConstants_MODULE_DEFINED = 1
'const double UIA_ScrollPatternNoScroll = -1;
%EQUATE `UIA_ScrollPatternNoScroll = -1
#ENDIF ' /* __UIA_OtherConstants_MODULE_DEFINED__ */
'EXTERN_C const IID LIBID_UIA;
' ########################################################################################
' IRawElementProviderSimple interface
' IID = D6DD68D1-86FD-4332-8666-9ABEDEA2D24C
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRawElementProviderSimple_INTERFACE_DEFINED)
 %IRawElementProviderSimple_INTERFACE_DEFINED = 1
$IID_IRawElementProviderSimple = GUID$("{D6DD68D1-86FD-4332-8666-9ABEDEA2D24C}")
INTERFACE IRawElementProviderSimple $IID_IRawElementProviderSimple
 INHERIT IAutomation
 ' =====================================================================================
 PROPERTY GET ProviderOptions ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
 METHOD GetPatternProvider ( ' VTable offset = 16
 BYVAL patternId AS LONG
 ) AS IUnknown
 ' =====================================================================================
 METHOD GetPropertyValue ( ' VTable offset = 20
 BYVAL propertyId AS LONG
 ) AS VARIANT
 ' =====================================================================================
 PROPERTY GET HostRawElementProvider ( ' VTable offset = 24
 ) AS IRawElementProviderSimple
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRawElementProviderSimple_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IAccessibleEx
' IID = F8B80ADA-2C44-48D0-89BE-5FF23C9CD875
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IAccessibleEx_INTERFACE_DEFINED)
 %IAccessibleEx_INTERFACE_DEFINED = 1
$IID_IAccessibleEx = GUID$("{F8B80ADA-2C44-48D0-89BE-5FF23C9CD875}")
INTERFACE IAccessibleEx $IID_IAccessibleEx
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetObjectForChild ( ' VTable offset = 12
 BYVAL idChild AS LONG
 ) AS IAccessibleEx
 ' =====================================================================================
 METHOD GetIAccessiblePair ( ' VTable offset = 16
 BYREF ppAcc AS IAccessible
 , BYREF pidChild AS LONG
 ) ' void
 ' =====================================================================================
 METHOD GetRuntimeId ( ' VTable offset = 20
 ) AS DWORD
 ' =====================================================================================
 METHOD ConvertReturnedElement ( ' VTable offset = 24
 BYVAL pIn AS IRawElementProviderSimple
 , BYREF ppRetValOut AS IAccessibleEx
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IAccessibleEx_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IRawElementProviderFragmentRoot
' IID = 620CE2A5-AB8F-40A9-86CB-DE3C75599B58
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRawElementProviderFragmentRoot_INTERFACE_DEFINED)
 %IRawElementProviderFragmentRoot_INTERFACE_DEFINED = 1
$IID_IRawElementProviderFragmentRoot = GUID$("{620CE2A5-AB8F-40A9-86CB-DE3C75599B58}")
INTERFACE IRawElementProviderFragmentRoot $IID_IRawElementProviderFragmentRoot
 INHERIT IAutomation
 ' =====================================================================================
 METHOD ElementProviderFromPoint ( ' VTable offset = 12
 BYVAL x AS DOUBLE
 , BYVAL y AS DOUBLE
 ) AS IRawElementProviderFragment
 ' =====================================================================================
 METHOD GetFocus ( ' VTable offset = 16
 ) AS IRawElementProviderFragment
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IRawElementProviderFragment
' IID = F7063DA8-8359-439C-9297-BBC5299A7D87
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRawElementProviderFragment_INTERFACE_DEFINED)
 %IRawElementProviderFragment_INTERFACE_DEFINED = 1
$IID_IRawElementProviderFragment = GUID$("{F7063DA8-8359-439C-9297-BBC5299A7D87}")
INTERFACE IRawElementProviderFragment $IID_IRawElementProviderFragment
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Navigate ( ' VTable offset = 12
 BYVAL direction AS LONG
 ) AS IRawElementProviderFragment
 ' =====================================================================================
 METHOD GetRuntimeId ( ' VTable offset = 16
 ) AS DWORD
 ' =====================================================================================
 PROPERTY GET BoundingRectangle ( ' VTable offset = 20
 ) AS UiaRect
 ' =====================================================================================
 METHOD GetEmbeddedFragmentRoots ( ' VTable offset = 24
 ) AS DWORD
 ' =====================================================================================
 METHOD SetFocus ( ' VTable offset = 28
 ) ' void
 ' =====================================================================================
 PROPERTY GET FragmentRoot ( ' VTable offset = 32
 ) AS IRawElementProviderFragmentRoot
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRawElementProviderFragment_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IRawElementProviderAdviseEvents
' IID = A407B27B-0F6D-4427-9292-473C7BF93258
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRawElementProviderAdviseEvents_INTERFACE_DEFINED)
 %IRawElementProviderAdviseEvents_INTERFACE_DEFINED = 1
$IID_IRawElementProviderAdviseEvents = GUID$("{A407B27B-0F6D-4427-9292-473C7BF93258}")
INTERFACE IRawElementProviderAdviseEvents $IID_IRawElementProviderAdviseEvents
 INHERIT IUnknown
 ' =====================================================================================
 METHOD AdviseEventAdded ( ' VTable offset = 12
 BYVAL eventId AS LONG
 , BYVAL propertyIDs AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD AdviseEventRemoved ( ' VTable offset = 16
 BYVAL eventId AS LONG
 , BYVAL propertyIDs AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRawElementProviderAdviseEvents_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IRawElementProviderHwndOverride
' IID = 1D5DF27C-8947-4425-B8D9-79787BB460B8
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRawElementProviderHwndOverride_INTERFACE_DEFINED)
 %IRawElementProviderHwndOverride_INTERFACE_DEFINED = 1
$IID_IRawElementProviderHwndOverride = GUID$("{1D5DF27C-8947-4425-B8D9-79787BB460B8}")
INTERFACE IRawElementProviderHwndOverride $IID_IRawElementProviderHwndOverride
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetOverrideProviderForHwnd ( ' VTable offset = 12
 BYVAL hwnd AS DWORD
 ) AS IRawElementProviderSimple
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRawElementProviderHwndOverride_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IProxyProviderWinEventSink
' IID = 4FD82B78-A43E-46AC-9803-0A6969C7C183
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IProxyProviderWinEventSink_INTERFACE_DEFINED)
 %IProxyProviderWinEventSink_INTERFACE_DEFINED = 1
$IID_IProxyProviderWinEventSink = GUID$("{4FD82B78-A43E-46AC-9803-0A6969C7C183}")
INTERFACE IProxyProviderWinEventSink $IID_IProxyProviderWinEventSink
 INHERIT IUnknown
 ' =====================================================================================
 METHOD AddAutomationPropertyChangedEvent ( ' VTable offset = 12
 BYVAL pProvider AS IRawElementProviderSimple
 , BYVAL id AS LONG
 , BYVAL newValue AS VARIANT
 ) AS LONG
 ' =====================================================================================
 METHOD AddAutomationEvent ( ' VTable offset = 16
 BYVAL pProvider AS IRawElementProviderSimple
 , BYVAL id AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD AddStructureChangedEvent ( ' VTable offset = 20
 BYVAL pProvider AS IRawElementProviderSimple
 , BYVAL structureChangeType AS LONG
 , BYVAL runtimeId AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IProxyProviderWinEventSink_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IProxyProviderWinEventHandler
' IID = 89592AD4-F4E0-43D5-A3B6-BAD7E111B435
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IProxyProviderWinEventHandler_INTERFACE_DEFINED)
 %IProxyProviderWinEventHandler_INTERFACE_DEFINED = 1
$IID_IProxyProviderWinEventHandler = GUID$("{89592AD4-F4E0-43D5-A3B6-BAD7E111B435}")
INTERFACE IProxyProviderWinEventHandler $IID_IProxyProviderWinEventHandler
 INHERIT IUnknown
 ' =====================================================================================
 METHOD RespondToWinEvent ( ' VTable offset = 12
 BYVAL idWinEvent AS DWORD
 , BYVAL hwnd AS DWORD
 , BYVAL idObject AS LONG
 , BYVAL idChild AS LONG
 , BYVAL pSink AS IProxyProviderWinEventSink
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IProxyProviderWinEventHandler_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IDockProvider
' IID = 159BC72C-4AD3-485E-9637-D7052EDF0146
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IDockProvider_INTERFACE_DEFINED)
 %IDockProvider_INTERFACE_DEFINED = 1
$IID_IDockProvider = GUID$("{159BC72C-4AD3-485E-9637-D7052EDF0146}")
INTERFACE IDockProvider $IID_IDockProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD SetDockPosition ( ' VTable offset = 12
 BYVAL dockPosition AS LONG
 ) ' void
 ' =====================================================================================
 PROPERTY GET DockPosition ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IDockProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IExpandCollapseProvider
' IID = D847D3A5-CAB0-4A98-8C32-ECB45C59AD24
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IExpandCollapseProvider_INTERFACE_DEFINED)
 %IExpandCollapseProvider_INTERFACE_DEFINED = 1
$IID_IExpandCollapseProvider = GUID$("{D847D3A5-CAB0-4A98-8C32-ECB45C59AD24}")
INTERFACE IExpandCollapseProvider $IID_IExpandCollapseProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Expand ( ' VTable offset = 12
 ) ' void
 ' =====================================================================================
 METHOD Collapse ( ' VTable offset = 16
 ) ' void
 ' =====================================================================================
 PROPERTY GET ExpandCollapseState ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IExpandCollapseProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IGridProvider
' IID = B17D6187-0907-464B-A168-0EF17A1572B1
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IGridProvider_INTERFACE_DEFINED)
 %IGridProvider_INTERFACE_DEFINED = 1
$IID_IGridProvider = GUID$("{B17D6187-0907-464B-A168-0EF17A1572B1}")
INTERFACE IGridProvider $IID_IGridProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetItem ( ' VTable offset = 12
 BYVAL row AS LONG
 , BYVAL column AS LONG
 ) AS IRawElementProviderSimple
 ' =====================================================================================
 PROPERTY GET RowCount ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET ColumnCount ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IGridProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IGridItemProvider
' IID = D02541F1-FB81-4D64-AE32-F520F8A6DBD1
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IGridItemProvider_INTERFACE_DEFINED)
 %IGridItemProvider_INTERFACE_DEFINED = 1
$IID_IGridItemProvider = GUID$("{D02541F1-FB81-4D64-AE32-F520F8A6DBD1}")
INTERFACE IGridItemProvider $IID_IGridItemProvider
 INHERIT IAutomation
 ' =====================================================================================
 PROPERTY GET Row ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET Column ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET RowSpan ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET ColumnSpan ( ' VTable offset = 24
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET ContainingGrid ( ' VTable offset = 28
 ) AS IRawElementProviderSimple
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IGridItemProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IInvokeProvider
' IID = 54FCB24B-E18E-47A2-B4D3-ECCBE77599A2
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IInvokeProvider_INTERFACE_DEFINED)
 %IInvokeProvider_INTERFACE_DEFINED = 1
$IID_IInvokeProvider = GUID$("{54FCB24B-E18E-47A2-B4D3-ECCBE77599A2}")
INTERFACE IInvokeProvider $IID_IInvokeProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Invoke ( ' VTable offset = 12
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IInvokeProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IMultipleViewProvider
' IID = 6278CAB1-B556-4A1A-B4E0-418ACC523201
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IMultipleViewProvider_INTERFACE_DEFINED)
 %IMultipleViewProvider_INTERFACE_DEFINED = 1
$IID_IMultipleViewProvider = GUID$("{6278CAB1-B556-4A1A-B4E0-418ACC523201}")
INTERFACE IMultipleViewProvider $IID_IMultipleViewProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetViewName ( ' VTable offset = 12
 BYVAL viewId AS LONG
 ) AS WSTRING
 ' =====================================================================================
 METHOD SetCurrentView ( ' VTable offset = 16
 BYVAL viewId AS LONG
 ) ' void
 ' =====================================================================================
 PROPERTY GET CurrentView ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
 METHOD GetSupportedViews ( ' VTable offset = 24
 ) AS DWORD
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IMultipleViewProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IRangeValueProvider
' IID = 36DC7AEF-33E6-4691-AFE1-2BE7274B3D33
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRangeValueProvider_INTERFACE_DEFINED)
 %IRangeValueProvider_INTERFACE_DEFINED = 1
$IID_IRangeValueProvider = GUID$("{36DC7AEF-33E6-4691-AFE1-2BE7274B3D33}")
INTERFACE IRangeValueProvider $IID_IRangeValueProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD SetValue ( ' VTable offset = 12
 BYVAL val AS DOUBLE
 ) ' void
 ' =====================================================================================
 PROPERTY GET Value ( ' VTable offset = 16
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET IsReadOnly ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET Maximum ( ' VTable offset = 24
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET Minimum ( ' VTable offset = 28
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET LargeChange ( ' VTable offset = 32
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET SmallChange ( ' VTable offset = 36
 ) AS DOUBLE
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRangeValueProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IScrollItemProvider
' IID = 2360C714-4BF1-4B26-BA65-9B21316127EB
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IScrollItemProvider_INTERFACE_DEFINED)
 %IScrollItemProvider_INTERFACE_DEFINED = 1
$IID_IScrollItemProvider = GUID$("{2360C714-4BF1-4B26-BA65-9B21316127EB}")
INTERFACE IScrollItemProvider $IID_IScrollItemProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD ScrollIntoView ( ' VTable offset = 12
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IScrollItemProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ISelectionProvider
' IID = FB8B03AF-3BDF-48D4-BD36-1A65793BE168
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ISelectionProvider_INTERFACE_DEFINED)
 %ISelectionProvider_INTERFACE_DEFINED = 1
$IID_ISelectionProvider = GUID$("{FB8B03AF-3BDF-48D4-BD36-1A65793BE168}")
INTERFACE ISelectionProvider $IID_ISelectionProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetSelection ( ' VTable offset = 12
 ) AS DWORD
 ' =====================================================================================
 PROPERTY GET CanSelectMultiple ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET IsSelectionRequired ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ISelectionProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IScrollProvider
' IID = B38B8077-1FC3-42A5-8CAE-D40C2215055A
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IScrollProvider_INTERFACE_DEFINED)
 %IScrollProvider_INTERFACE_DEFINED = 1
$IID_IScrollProvider = GUID$("{B38B8077-1FC3-42A5-8CAE-D40C2215055A}")
INTERFACE IScrollProvider $IID_IScrollProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Scroll ( ' VTable offset = 12
 BYVAL horizontalAmount AS LONG
 , BYVAL verticalAmount AS LONG
 ) ' void
 ' =====================================================================================
 METHOD SetScrollPercent ( ' VTable offset = 16
 BYVAL horizontalPercent AS DOUBLE
 , BYVAL verticalPercent AS DOUBLE
 ) ' void
 ' =====================================================================================
 PROPERTY GET HorizontalScrollPercent ( ' VTable offset = 20
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET VerticalScrollPercent ( ' VTable offset = 24
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET HorizontalViewSize ( ' VTable offset = 28
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET VerticalViewSize ( ' VTable offset = 32
 ) AS DOUBLE
 ' =====================================================================================
 PROPERTY GET HorizontallyScrollable ( ' VTable offset = 36
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET VerticallyScrollable ( ' VTable offset = 40
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IScrollProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ISelectionItemProvider
' IID = 2ACAD808-B2D4-452D-A407-91FF1AD167B2
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ISelectionItemProvider_INTERFACE_DEFINED)
 %ISelectionItemProvider_INTERFACE_DEFINED = 1
$IID_ISelectionItemProvider = GUID$("{2ACAD808-B2D4-452D-A407-91FF1AD167B2}")
INTERFACE ISelectionItemProvider $IID_ISelectionItemProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Select ( ' VTable offset = 12
 ) ' void
 ' =====================================================================================
 METHOD AddToSelection ( ' VTable offset = 16
 ) ' void
 ' =====================================================================================
 METHOD RemoveFromSelection ( ' VTable offset = 20
 ) ' void
 ' =====================================================================================
 PROPERTY GET IsSelected ( ' VTable offset = 24
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET SelectionContainer ( ' VTable offset = 28
 ) AS IRawElementProviderSimple
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ISelectionItemProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ISynchronizedInputProvider
' IID = 29DB1A06-02CE-4CF7-9B42-565D4FAB20EE
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ISynchronizedInputProvider_INTERFACE_DEFINED)
 %ISynchronizedInputProvider_INTERFACE_DEFINED = 1
$IID_ISynchronizedInputProvider = GUID$("{29DB1A06-02CE-4CF7-9B42-565D4FAB20EE}")
INTERFACE ISynchronizedInputProvider $IID_ISynchronizedInputProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD StartListening ( ' VTable offset = 12
 BYVAL inputType AS LONG
 ) ' void
 ' =====================================================================================
 METHOD Cancel ( ' VTable offset = 16
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ISelectionItemProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITableProvider
' IID = 9C860395-97B3-490A-B52A-858CC22AF166
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITableProvider_INTERFACE_DEFINED)
 %ITableProvider_INTERFACE_DEFINED = 1
$IID_ITableProvider = GUID$("{9C860395-97B3-490A-B52A-858CC22AF166}")
INTERFACE ITableProvider $IID_ITableProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetRowHeaders ( ' VTable offset = 12
 ) AS DWORD
 ' =====================================================================================
 METHOD GetColumnHeaders ( ' VTable offset = 16
 ) AS DWORD
 ' =====================================================================================
 PROPERTY GET RowOrColumnMajor ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITableProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITableItemProvider
' IID = B9734FA6-771F-4D78-9C90-2517999349CD
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITableItemProvider_INTERFACE_DEFINED)
 %ITableItemProvider_INTERFACE_DEFINED = 1
$IID_ITableItemProvider = GUID$("{B9734FA6-771F-4D78-9C90-2517999349CD}")
INTERFACE ITableItemProvider $IID_ITableItemProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetRowHeaderItems ( ' VTable offset = 12
 ) AS DWORD
 ' =====================================================================================
 METHOD GetColumnHeaderItems ( ' VTable offset = 16
 ) AS DWORD
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITableItemProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IToggleProvider
' IID = 56D00BD0-C4F4-433C-A836-1A52A57E0892
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IToggleProvider_INTERFACE_DEFINED)
 %IToggleProvider_INTERFACE_DEFINED = 1
$IID_IToggleProvider = GUID$("{56D00BD0-C4F4-433C-A836-1A52A57E0892}")
INTERFACE IToggleProvider $IID_IToggleProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Toggle ( ' VTable offset = 12
 ) ' void
 ' =====================================================================================
 PROPERTY GET ToggleState ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IToggleProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITransformProvider
' IID = 6829DDC4-4F91-4FFA-B86F-BD3E2987CB4C
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITransformProvider_INTERFACE_DEFINED)
 %ITransformProvider_INTERFACE_DEFINED = 1
$IID_ITransformProvider = GUID$("{6829DDC4-4F91-4FFA-B86F-BD3E2987CB4C}")
INTERFACE ITransformProvider $IID_ITransformProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Move ( ' VTable offset = 12
 BYVAL x AS DOUBLE
 , BYVAL y AS DOUBLE
 ) ' void
 ' =====================================================================================
 METHOD Resize ( ' VTable offset = 16
 BYVAL width AS DOUBLE
 , BYVAL height AS DOUBLE
 ) ' void
 ' =====================================================================================
 METHOD Rotate ( ' VTable offset = 20
 BYVAL degrees AS DOUBLE
 ) ' void
 ' =====================================================================================
 PROPERTY GET CanMove ( ' VTable offset = 24
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET CanResize ( ' VTable offset = 28
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET CanRotate ( ' VTable offset = 32
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITransformProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IValueProvider
' IID = C7935180-6FB3-4201-B174-7DF73ADBF64A
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IValueProvider_INTERFACE_DEFINED)
 %IValueProvider_INTERFACE_DEFINED = 1
$IID_IValueProvider = GUID$("{C7935180-6FB3-4201-B174-7DF73ADBF64A}")
INTERFACE IValueProvider $IID_IValueProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD SetValue ( ' VTable offset = 12
 BYREF val AS WSTRINGZ
 ) ' void
 ' =====================================================================================
 PROPERTY GET Value ( ' VTable offset = 16
 ) AS WSTRING
 ' =====================================================================================
 PROPERTY GET IsReadOnly ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IValueProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IWindowProvider
' IID = 987DF77B-DB06-4D77-8F8A-86A9C3BB90B9
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IWindowProvider_INTERFACE_DEFINED)
 %IWindowProvider_INTERFACE_DEFINED = 1
$IID_IWindowProvider = GUID$("{987DF77B-DB06-4D77-8F8A-86A9C3BB90B9}")
INTERFACE IWindowProvider $IID_IWindowProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD SetVisualState ( ' VTable offset = 12
 BYVAL state AS LONG
 ) ' void
 ' =====================================================================================
 METHOD Close ( ' VTable offset = 16
 ) ' void
 ' =====================================================================================
 METHOD WaitForInputIdle ( ' VTable offset = 20
 BYVAL milliseconds AS LONG
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET CanMaximize ( ' VTable offset = 24
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET CanMinimize ( ' VTable offset = 28
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET IsModal ( ' VTable offset = 32
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET WindowVisualState ( ' VTable offset = 36
 ) AS LONG ' enum WindowVisualState *pRetVal
 ' =====================================================================================
 PROPERTY GET WindowInteractionState ( ' VTable offset = 40
 ) AS LONG ' enum WindowVisualState *pRetVal
 ' =====================================================================================
 PROPERTY GET IsTopmost ( ' VTable offset = 44
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IWindowProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ILegacyIAccessibleProvider
' IID = E44C3566-915D-4070-99C6-047BFF5A08F5
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ILegacyIAccessibleProvider_INTERFACE_DEFINED)
 %ILegacyIAccessibleProvider_INTERFACE_DEFINED = 1
$IID_ILegacyIAccessibleProvider = GUID$("{E44C3566-915D-4070-99C6-047BFF5A08F5}")
INTERFACE ILegacyIAccessibleProvider $IID_ILegacyIAccessibleProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Select ( ' VTable offset = 12
 BYVAL flagsSelect AS LONG
 ) ' void
 ' =====================================================================================
 METHOD DoDefaultAction ( ' VTable offset = 16
 ) ' void
 ' =====================================================================================
 METHOD SetValue ( ' VTable offset = 20
 BYREF szValue AS WSTRINGZ
 ) ' void
 ' =====================================================================================
 METHOD GetIAccessible ( ' VTable offset = 24
 ) AS IAccessible
 ' =====================================================================================
 PROPERTY GET ChildId ( ' VTable offset = 28
 ) AS LONG
 ' =====================================================================================
 PROPERTY GET Name ( ' VTable offset = 32
 ) AS WSTRING
 ' =====================================================================================
 PROPERTY GET Value ( ' VTable offset = 36
 ) AS WSTRING
 ' =====================================================================================
 PROPERTY GET Description ( ' VTable offset = 40
 ) AS WSTRING
 ' =====================================================================================
 PROPERTY GET Role ( ' VTable offset = 44
 ) AS DWORD
 ' =====================================================================================
 PROPERTY GET State ( ' VTable offset = 48
 ) AS DWORD
 ' =====================================================================================
 PROPERTY GET Help ( ' VTable offset = 52
 ) AS WSTRING
 ' =====================================================================================
 PROPERTY GET KeyboardShortcut ( ' VTable offset = 56
 ) AS WSTRING
 ' =====================================================================================
 METHOD GetSelection ( ' VTable offset = 60
 ) AS DWORD
 ' =====================================================================================
 PROPERTY GET DefaultAction ( ' VTable offset = 64
 ) AS WSTRING
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ILegacyIAccessibleProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IItemContainerProvider
' IID = E747770B-39CE-4382-AB30-D8FB3F336F24
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IItemContainerProvider_INTERFACE_DEFINED)
 %IItemContainerProvider_INTERFACE_DEFINED = 1
$IID_IItemContainerProvider = GUID$("{E747770B-39CE-4382-AB30-D8FB3F336F24}")
INTERFACE IItemContainerProvider $IID_IItemContainerProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD FindItemByProperty ( ' VTable offset = 12
 BYVAL pStartAfter AS IRawElementProviderSimple
 , BYVAL propertyId AS LONG
 , BYVAL value AS VARIANT
 ) AS IRawElementProviderSimple
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IItemContainerProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IVirtualizedItemProvider
' IID = CB98B665-2D35-4FAC-AD35-F3C60D0C0B8B
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IVirtualizedItemProvider_INTERFACE_DEFINED)
 %IVirtualizedItemProvider_INTERFACE_DEFINED = 1
$IID_IVirtualizedItemProvider = GUID$("{CB98B665-2D35-4FAC-AD35-F3C60D0C0B8B}")
INTERFACE IVirtualizedItemProvider $IID_IVirtualizedItemProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Realize ( ' VTable offset = 12
 ) ' void
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IVirtualizedItemProviderr_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITextRangeProvider
' IID = 5347AD7B-C355-46F8-AFF5-909033582F63
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITextRangeProvider_INTERFACE_DEFINED)
 %ITextRangeProvider_INTERFACE_DEFINED = 1
$IID_ITextRangeProvider = GUID$("{5347AD7B-C355-46F8-AFF5-909033582F63}")
INTERFACE ITextRangeProvider $IID_ITextRangeProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD Clone ( ' VTable offset = 12
 ) AS ITextRangeProvider
 ' =====================================================================================
 METHOD Compare ( ' VTable offset = 16
 BYVAL range AS ITextRangeProvider
 ) AS LONG
 ' =====================================================================================
 METHOD CompareEndpoints ( ' VTable offset = 20
 BYVAL endpoint AS LONG
 , BYVAL targetRange AS ITextRangeProvider
 , BYVAL targetEndpoint AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD ExpandToEnclosingUnit ( ' VTable offset = 24
 BYVAL unit AS LONG
 ) ' void
 ' =====================================================================================
 METHOD FindAttribute ( ' VTable offset = 28
 BYVAL attributeId AS LONG
 , BYVAL val AS VARIANT
 , BYVAL backward AS LONG
 ) AS ITextRangeProvider
 ' =====================================================================================
 METHOD FindText ( ' VTable offset = 32
 BYVAL text AS WSTRING
 , BYVAL backward AS LONG
 , BYVAL ignoreCase AS LONG
 ) AS ITextRangeProvider
 ' =====================================================================================
 METHOD GetAttributeValue ( ' VTable offset = 36
 BYVAL attributeId AS LONG
 ) AS VARIANT
 ' =====================================================================================
 METHOD GetBoundingRectangles ( ' VTable offset = 40
 ) AS DWORD
 ' =====================================================================================
 METHOD GetEnclosingElement ( ' VTable offset = 44
 ) AS IRawElementProviderSimple
 ' =====================================================================================
 METHOD GetText ( ' VTable offset = 48
 BYVAL maxLength AS LONG
 ) AS WSTRING
 ' =====================================================================================
 METHOD Move ( ' VTable offset = 52
 BYVAL unit AS LONG
 , BYVAL count AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD MoveEndpointByUnit ( ' VTable offset = 56
 BYVAL endpoint AS LONG
 , BYVAL unit AS LONG
 , BYVAL count AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD MoveEndpointByRange ( ' VTable offset = 60
 BYVAL endpoint AS LONG
 , BYVAL targetRange AS LONG
 , BYVAL targetEndpoint AS LONG
 ) ' void
 ' =====================================================================================
 METHOD Select ( ' VTable offset = 64
 ) ' void
 ' =====================================================================================
 METHOD AddToSelection ( ' VTable offset = 68
 ) ' void
 ' =====================================================================================
 METHOD RemoveFromSelection ( ' VTable offset = 72
 ) ' void
 ' =====================================================================================
 METHOD ScrollIntoView ( ' VTable offset = 76
 BYVAL alignToTop AS LONG
 ) ' void
 ' =====================================================================================
 METHOD GetChildren ( ' VTable offset = 80
 ) AS DWORD
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITextRangeProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITextProvider
' IID = 3589C92C-63F3-4367-99BB-ADA653B77CF2
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITextProvider_INTERFACE_DEFINED)
 %ITextProvider_INTERFACE_DEFINED = 1
$IID_ITextProvider = GUID$("{3589C92C-63F3-4367-99BB-ADA653B77CF2}")
INTERFACE ITextProvider $IID_ITextProvider
 INHERIT IAutomation
 ' =====================================================================================
 METHOD GetSelection ( ' VTable offset = 12
 ) AS DWORD
 ' =====================================================================================
 METHOD GetVisibleRanges ( ' VTable offset = 16
 ) AS DWORD
 ' =====================================================================================
 METHOD RangeFromChild ( ' VTable offset = 20
 BYVAL childElement AS IRawElementProviderSimple
 ) AS ITextRangeProvider
 ' =====================================================================================
 METHOD RangeFromPoint ( ' VTable offset = 24
 BYVAL point AS UiaPoint
 ) AS ITextRangeProvider
 ' =====================================================================================
 PROPERTY GET DocumentRange ( ' VTable offset = 28
 ) AS ITextRangeProvider
 ' =====================================================================================
 PROPERTY GET SupportedTextSelection ( ' VTable offset = 36
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITextProvider_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IUIAutomationPatternInstance
' IID = C03A7FE4-9431-409F-BED8-AE7C2299BC8D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IUIAutomationPatternInstance_INTERFACE_DEFINED)
 %IUIAutomationPatternInstance_INTERFACE_DEFINED = 1
$IID_IUIAutomationPatternInstance = GUID$("{C03A7FE4-9431-409F-BED8-AE7C2299BC8D}")
INTERFACE IUIAutomationPatternInstance $IID_IUIAutomationPatternInstance
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetProperty ( ' VTable offset = 12
 BYVAL index AS DWORD
 , BYVAL cached AS LONG
 , BYVAL type AS LONG
 , BYREF pPtr AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD CallMethod ( ' VTable offset = 16
 BYVAL index AS DWORD
 , BYREF pParams AS UIAutomationParameter
 , BYVAL cParams AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IUIAutomationPatternInstance_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IUIAutomationPatternHandler
' IID = D97022F3-A947-465E-8B2A-AC4315FA54E8
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IUIAutomationPatternHandler_INTERFACE_DEFINED)
 %IUIAutomationPatternHandler_INTERFACE_DEFINED = 1
$IID_IUIAutomationPatternHandler = GUID$("{D97022F3-A947-465E-8B2A-AC4315FA54E8}")
INTERFACE IUIAutomationPatternHandler $IID_IUIAutomationPatternHandler
 INHERIT IUnknown
 ' =====================================================================================
 METHOD CreateClientWrapper ( ' VTable offset = 12
 BYVAL pPatternInstance AS IUIAutomationPatternInstance
 , BYREF pClientWrapper AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD Dispatch_ ( ' VTable offset = 16
 BYVAL pTarget AS IUnknown
 , BYVAL index AS DWORD
 , BYREF pParams AS UIAutomationParameter
 , BYVAL cParams AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IUIAutomationPatternHandler_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IUIAutomationRegistrar
' IID = 8609C4EC-4A1A-4D88-A357-5A66E060E1CF
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IUIAutomationRegistrar_INTERFACE_DEFINED)
 %IUIAutomationRegistrar_INTERFACE_DEFINED = 1
$IID_IUIAutomationRegistrar = GUID$("{8609C4EC-4A1A-4D88-A357-5A66E060E1CF}")
INTERFACE IUIAutomationRegistrar $IID_IUIAutomationRegistrar
 INHERIT IUnknown
 ' =====================================================================================
 METHOD RegisterProperty ( ' VTable offset = 12
 BYREF property AS UIAutomationPropertyInfo
 , BYREF propertyId AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD RegisterEvent ( ' VTable offset = 16
 BYREF event AS UIAutomationEventInfo
 , BYREF eventId AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD RegisterPattern ( ' VTable offset = 20
 BYREF pattern AS UIAutomationPatternInfo
 , BYREF pPatternId AS LONG
 , BYREF pPatternAvailablePropertyId AS LONG
 , BYVAL propertyIdCount AS DWORD
 , BYREF pPropertyIds AS LONG
 , BYVAL eventIdCount AS DWORD
 , BYREF pEventIds AS LONG
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IUIAutomationRegistrar_INTERFACE_DEFINED__ */
$CLSID_CUIAutomationRegistrar = GUID$("{6E29FABF-9977-42D1-8D0E-CA7E61AD87E6}")
#ENDIF
