2 * Copyright 2012 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 enum NavigateDirection
{
24 NavigateDirection_Parent
= 0x0000,
25 NavigateDirection_NextSibling
= 0x0001,
26 NavigateDirection_PreviousSibling
= 0x0002,
27 NavigateDirection_FirstChild
= 0x0003,
28 NavigateDirection_LastChild
= 0x0004,
31 enum ProviderOptions
{
32 ProviderOptions_ClientSideProvider
= 0x0001,
33 ProviderOptions_ServerSideProvider
= 0x0002,
34 ProviderOptions_NonClientAreaProvider
= 0x0004,
35 ProviderOptions_OverrideProvider
= 0x0008,
36 ProviderOptions_ProviderOwnsSetFocus
= 0x0010,
37 ProviderOptions_UseComThreading
= 0x0020,
38 ProviderOptions_RefuseNonClientSupport
= 0x0040,
39 ProviderOptions_HasNativeIAccessible
= 0x0080,
40 ProviderOptions_UseClientCoordinates
= 0x0100,
43 enum StructureChangeType
{
44 StructureChangeType_ChildAdded
= 0x0000,
45 StructureChangeType_ChildRemoved
= 0x0001,
46 StructureChangeType_ChildrenInvalidated
= 0x0002,
47 StructureChangeType_ChildrenBulkAdded
= 0x0003,
48 StructureChangeType_ChildrenBulkRemoved
= 0x0004,
49 StructureChangeType_ChildrenReordered
= 0x0005,
52 enum TextEditChangeType
{
53 TextEditChangeType_None
= 0x0000,
54 TextEditChangeType_AutoCorrect
= 0x0001,
55 TextEditChangeType_Composition
= 0x0002,
56 TextEditChangeType_CompositionFinalized
= 0x0003,
57 TextEditChangeType_AutoComplete
= 0x0004,
60 enum OrientationType
{
61 OrientationType_None
= 0x0000,
62 OrientationType_Horizontal
= 0x0001,
63 OrientationType_Vertical
= 0x0002,
67 DockPosition_Top
= 0x0000,
68 DockPosition_Left
= 0x0001,
69 DockPosition_Bottom
= 0x0002,
70 DockPosition_Right
= 0x0003,
71 DockPosition_Fill
= 0x0004,
72 DockPosition_None
= 0x0005,
75 enum ExpandCollapseState
{
76 ExpandCollapseState_Collapsed
= 0x0000,
77 ExpandCollapseState_Expanded
= 0x0001,
78 ExpandCollapseState_PartiallyExpanded
= 0x0002,
79 ExpandCollapseState_LeafNode
= 0x0003,
83 ScrollAmount_LargeDecrement
= 0x0000,
84 ScrollAmount_SmallDecrement
= 0x0001,
85 ScrollAmount_NoAmount
= 0x0002,
86 ScrollAmount_LargeIncrement
= 0x0003,
87 ScrollAmount_SmallIncrement
= 0x0004,
90 enum RowOrColumnMajor
{
91 RowOrColumnMajor_RowMajor
= 0x0000,
92 RowOrColumnMajor_ColumnMajor
= 0x0001,
93 RowOrColumnMajor_Indeterminate
= 0x0002,
97 ToggleState_Off
= 0x0000,
98 ToggleState_On
= 0x0001,
99 ToggleState_Indeterminate
= 0x0002,
102 enum WindowVisualState
{
103 WindowVisualState_Normal
= 0x0000,
104 WindowVisualState_Maximized
= 0x0001,
105 WindowVisualState_Minimized
= 0x0002,
108 enum SynchronizedInputType
{
109 SynchronizedInputType_KeyUp
= 0x0001,
110 SynchronizedInputType_KeyDown
= 0x0002,
111 SynchronizedInputType_LeftMouseUp
= 0x0004,
112 SynchronizedInputType_LeftMouseDown
= 0x0008,
113 SynchronizedInputType_RightMouseUp
= 0x0010,
114 SynchronizedInputType_RightMouseDown
= 0x0020,
117 cpp_quote
("DEFINE_ENUM_FLAG_OPERATORS(SynchronizedInputType)")
119 enum WindowInteractionState
{
120 WindowInteractionState_Running
= 0x0000,
121 WindowInteractionState_Closing
= 0x0001,
122 WindowInteractionState_ReadyForUserInteraction
= 0x0002,
123 WindowInteractionState_BlockedByModalWindow
= 0x0003,
124 WindowInteractionState_NotResponding
= 0x0004,
128 TextUnit_Character
= 0x0000,
129 TextUnit_Format
= 0x0001,
130 TextUnit_Word
= 0x0002,
131 TextUnit_Line
= 0x0003,
132 TextUnit_Paragraph
= 0x0004,
133 TextUnit_Page
= 0x0005,
134 TextUnit_Document
= 0x0006,
137 enum TextPatternRangeEndpoint
{
138 TextPatternRangeEndpoint_Start
= 0x0000,
139 TextPatternRangeEndpoint_End
= 0x0001,
142 enum SupportedTextSelection
{
143 SupportedTextSelection_None
= 0x0000,
144 SupportedTextSelection_Single
= 0x0001,
145 SupportedTextSelection_Multiple
= 0x0002,
155 ZoomUnit_NoAmount
= 0x0000,
156 ZoomUnit_LargeDecrement
= 0x0001,
157 ZoomUnit_SmallDecrement
= 0x0002,
158 ZoomUnit_LargeIncrement
= 0x0003,
159 ZoomUnit_SmallIncrement
= 0x0004,
162 enum NotificationProcessing
{
163 NotificationProcessing_ImportantAll
= 0x0000,
164 NotificationProcessing_ImportantMostRecent
= 0x0001,
165 NotificationProcessing_All
= 0x0002,
166 NotificationProcessing_MostRecent
= 0x0003,
167 NotificationProcessing_CurrentThenMostRecent
= 0x0004,
170 enum NotificationKind
{
171 NotificationKind_ItemAdded
= 0x0000,
172 NotificationKind_ItemRemoved
= 0x0001,
173 NotificationKind_ActionCompleted
= 0x0002,
174 NotificationKind_ActionAborted
= 0x0003,
175 NotificationKind_Other
= 0x0004,
178 typedef int PROPERTYID
;
179 typedef int PATTERNID
;
181 typedef int TEXTATTRIBUTEID
;
182 typedef int CONTROLTYPEID
;
183 typedef int LANDMARKTYPEID
;
184 typedef int METADATAID
;
185 typedef int HEADINGLEVELID
;
199 struct UiaChangeInfo
{
207 uuid(930299ce
-9965-4dec
-b0f4
-a54848d4b667
),
214 importlib
("stdole2.tlb");
218 uuid(d6dd68d1
-86fd
-4332-8666-9abedea2d24c
),
219 pointer_default(unique),
222 interface IRawElementProviderSimple
: IUnknown
224 [propget] HRESULT ProviderOptions
([out, retval] enum ProviderOptions
*pRetVal
);
226 HRESULT GetPatternProvider
(
227 [in] PATTERNID patternId
,
228 [out, retval] IUnknown
**pRetVal
);
230 HRESULT GetPropertyValue
(
231 [in] PROPERTYID propertyId
,
232 [out, retval] VARIANT *pRetVal
);
234 [propget] HRESULT HostRawElementProvider
([out, retval] IRawElementProviderSimple
**pRetVal
);
239 uuid(f8b80ada
-2c44
-48d0
-89be
-5ff23c9cd875
),
240 pointer_default(unique),
243 interface IAccessibleEx
: IUnknown
245 HRESULT GetObjectForChild
(
247 [out, retval] IAccessibleEx
**pRetVal
);
249 HRESULT GetIAccessiblePair
(
250 [out] IAccessible
**ppAcc
,
251 [out] long *pidChild
);
253 HRESULT GetRuntimeId
(
254 [out, retval] SAFEARRAY(int) *pRetVal
);
256 HRESULT ConvertReturnedElement
(
257 [in] IRawElementProviderSimple
*pIn
,
258 [out] IAccessibleEx
**ppRetValOut
);
261 interface IRawElementProviderFragmentRoot
;
265 uuid(f7063da8
-8359-439c
-9297-bbc5299a7d87
),
266 pointer_default(unique),
269 interface IRawElementProviderFragment
: IUnknown
272 [in] enum NavigateDirection direction
,
273 [out, retval] IRawElementProviderFragment
**pRetVal
);
275 HRESULT GetRuntimeId
([out, retval] SAFEARRAY(int) *pRetVal
);
276 HRESULT get_BoundingRectangle
([out, retval] struct UiaRect
*pRetVal
);
278 * FIXME: Current versions of Windows SDK use
279 * SAFEARRAY(IRawElementProviderFragmentRoot *) instead of
280 * SAFEARRAY(VARIANT). The new type is currently unsupported
281 * in widl, we should switch to it when it is.
283 HRESULT GetEmbeddedFragmentRoots
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
286 [propget] HRESULT FragmentRoot
([out, retval] IRawElementProviderFragmentRoot
**pRetVal
);
291 uuid(620ce2a5
-ab8f
-40a9
-86cb
-de3c75599b58
),
292 pointer_default(unique),
295 interface IRawElementProviderFragmentRoot
: IUnknown
297 HRESULT ElementProviderFromPoint
(
300 [out, retval] IRawElementProviderFragment
**pRetVal
);
302 HRESULT GetFocus
([out, retval] IRawElementProviderFragment
**pRetVal
);
308 uuid(1d5df27c
-8947-4425-b8d9
-79787bb460b8
),
309 pointer_default(unique),
312 interface IRawElementProviderHwndOverride
: IUnknown
314 HRESULT GetOverrideProviderForHwnd
(
316 [out, retval] IRawElementProviderSimple
**pRetVal
);
321 uuid(e44c3566
-915d
-4070-99c6
-047bff5a08f5
),
322 pointer_default(unique),
325 interface ILegacyIAccessibleProvider
: IUnknown
327 HRESULT Select
(long flagsSelect
);
328 HRESULT DoDefaultAction
();
329 HRESULT SetValue
(LPCWSTR szValue
);
330 HRESULT GetIAccessible
([out, retval] IAccessible
**ppAccessible
);
332 [propget] HRESULT ChildId
([out, retval] int *pRetVal
);
333 [propget] HRESULT Name
([out, retval] BSTR *pszName
);
334 [propget] HRESULT Value
([out, retval] BSTR *pszValue
);
335 [propget] HRESULT Description
([out, retval] BSTR *pszDescription
);
336 [propget] HRESULT Role
([out, retval] DWORD
*pdwRole
);
337 [propget] HRESULT State
([out, retval] DWORD
*pdwState
);
338 [propget] HRESULT Help
([out, retval] BSTR *pszHelp
);
339 [propget] HRESULT KeyboardShortcut
([out, retval] BSTR *pszKeyboardShortcut
);
341 * FIXME: Current versions of Windows SDK use
342 * SAFEARRAY(IRawElementProviderSimple *) instead of
343 * SAFEARRAY(VARIANT). The new type is currently unsupported
344 * in widl, we should switch to it when it is.
346 HRESULT GetSelection
([out, retval] SAFEARRAY(VARIANT) *pvarSelectedChildren
);
347 [propget] HRESULT DefaultAction
([out, retval] BSTR *pszDefaultAction
);
352 uuid(159bc72c
-4ad3
-485e-9637-d7052edf0146
),
353 pointer_default(unique),
356 interface IDockProvider
: IUnknown
358 HRESULT SetDockPosition
([in] enum DockPosition dockPosition
);
359 [propget] HRESULT DockPosition
([out, retval] enum DockPosition
*pRetVal
);
364 uuid(d847d3a5
-cab0
-4a98
-8c32
-ecb45c59ad24
),
365 pointer_default(unique),
368 interface IExpandCollapseProvider
: IUnknown
372 [propget] HRESULT ExpandCollapseState
([out, retval] enum ExpandCollapseState
*pRetVal
);
377 uuid(b17d6187
-0907-464b
-a168
-0ef17a1572b1
),
378 pointer_default(unique),
381 interface IGridProvider
: IUnknown
386 [out, retval] IRawElementProviderSimple
**pRetVal
);
388 [propget] HRESULT RowCount
([out, retval] int *pRetVal
);
389 [propget] HRESULT ColumnCount
([out, retval] int *pRetVal
);
394 uuid(d02541f1
-fb81
-4d64
-ae32
-f520f8a6dbd1
),
395 pointer_default(unique),
398 interface IGridItemProvider
: IUnknown
400 [propget] HRESULT Row
([out, retval] int *pRetVal
);
401 [propget] HRESULT Column
([out, retval] int *pRetVal
);
402 [propget] HRESULT RowSpan
([out, retval] int *pRetVal
);
403 [propget] HRESULT ColumnSpan
([out, retval] int *pRetVal
);
404 [propget] HRESULT ContainingGrid
([out, retval] IRawElementProviderSimple
**pRetVal
);
409 uuid(54fcb24b
-e18e
-47a2
-b4d3
-eccbe77599a2
),
410 pointer_default(unique),
413 interface IInvokeProvider
: IUnknown
420 uuid(6278cab1
-b556
-4a1a
-b4e0
-418acc523201
),
421 pointer_default(unique),
424 interface IMultipleViewProvider
: IUnknown
428 [out, retval] BSTR *pRetVal
);
430 HRESULT SetCurrentView
([in] int viewId
);
431 [propget] HRESULT CurrentView
([out, retval] int *pRetVal
);
432 HRESULT GetSupportedViews
([out, retval] SAFEARRAY(int) *pRetVal
);
437 uuid(36dc7aef
-33e6
-4691-afe1
-2be7274b3d33
),
438 pointer_default(unique),
441 interface IRangeValueProvider
: IUnknown
443 HRESULT SetValue
([in] double val
);
444 [propget] HRESULT Value
([out, retval] double *pRetVal
);
445 [propget] HRESULT IsReadOnly
([out, retval] BOOL
*pRetVal
);
446 [propget] HRESULT Maximum
([out, retval] double *pRetVal
);
447 [propget] HRESULT Minimum
([out, retval] double *pRetVal
);
448 [propget] HRESULT LargeChange
([out, retval] double *pRetVal
);
449 [propget] HRESULT SmallChange
([out, retval] double *pRetVal
);
454 uuid(2360c714
-4bf1
-4b26
-ba65
-9b21316127eb
),
455 pointer_default(unique),
458 interface IScrollItemProvider
: IUnknown
460 HRESULT ScrollIntoView
();
465 uuid(fb8b03af
-3bdf
-48d4
-bd36
-1a65793be168
),
466 pointer_default(unique),
469 interface ISelectionProvider
: IUnknown
472 * FIXME: Current versions of Windows SDK use
473 * SAFEARRAY(IRawElementProviderSimple *) instead of
474 * SAFEARRAY(VARIANT).
476 HRESULT GetSelection
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
477 [propget] HRESULT CanSelectMultiple
([out, retval] BOOL
*pRetVal
);
478 [propget] HRESULT IsSelectionRequired
([out, retval] BOOL
*pRetVal
);
483 uuid(b38b8077
-1fc3
-42a5
-8cae
-d40c2215055a
),
484 pointer_default(unique),
487 interface IScrollProvider
: IUnknown
490 [in] enum ScrollAmount horizontalAmount
,
491 [in] enum ScrollAmount verticalAmount
);
492 HRESULT SetScrollPercent
(
493 [in] double horizontalPercent
,
494 [in] double verticalPercent
);
496 [propget] HRESULT HorizontalScrollPercent
([out, retval] double *pRetVal
);
497 [propget] HRESULT VerticalScrollPercent
([out, retval] double *pRetVal
);
498 [propget] HRESULT HorizontalViewSize
([out, retval] double *pRetVal
);
499 [propget] HRESULT VerticalViewSize
([out, retval] double *pRetVal
);
500 [propget] HRESULT HorizontallyScrollable
([out, retval] BOOL
*pRetVal
);
501 [propget] HRESULT VerticallyScrollable
([out, retval] BOOL
*pRetVal
);
506 uuid(2acad808
-b2d4
-452d
-a407
-91ff1ad167b2
),
507 pointer_default(unique),
510 interface ISelectionItemProvider
: IUnknown
513 HRESULT AddToSelection
();
514 HRESULT RemoveFromSelection
();
515 [propget] HRESULT IsSelected
([out, retval] BOOL
*pRetVal
);
516 [propget] HRESULT SelectionContainer
([out, retval] IRawElementProviderSimple
**pRetVal
);
521 uuid(29db1a06
-02ce
-4cf7
-9b42
-565d4fab20ee
),
522 pointer_default(unique),
525 interface ISynchronizedInputProvider
: IUnknown
527 HRESULT StartListening
([in] enum SynchronizedInputType inputType
);
533 uuid(9c860395
-97b3
-490a
-b52a
-858cc22af166
),
534 pointer_default(unique),
537 interface ITableProvider
: IUnknown
540 * FIXME: Current versions of Windows SDK use
541 * SAFEARRAY(IRawElementProviderSimple *) instead of
542 * SAFEARRAY(VARIANT).
544 HRESULT GetRowHeaders
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
545 HRESULT GetColumnHeaders
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
546 [propget] HRESULT RowOrColumnMajor
([out, retval] enum RowOrColumnMajor
*pRetVal
);
551 uuid(b9734fa6
-771f
-4d78
-9c90
-2517999349cd
),
552 pointer_default(unique),
555 interface ITableItemProvider
: IUnknown
558 * FIXME: Current versions of Windows SDK use
559 * SAFEARRAY(IRawElementProviderSimple *) instead of
560 * SAFEARRAY(VARIANT).
562 HRESULT GetRowHeaderItems
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
563 HRESULT GetColumnHeaderItems
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
568 uuid(56d00bd0
-c4f4
-433c
-a836
-1a52a57e0892
),
569 pointer_default(unique),
572 interface IToggleProvider
: IUnknown
575 [propget] HRESULT ToggleState
([out, retval] enum ToggleState
*pRetVal
);
580 uuid(6829ddc4
-4f91
-4ffa
-b86f
-bd3e2987cb4c
),
581 pointer_default(unique),
584 interface ITransformProvider
: IUnknown
593 HRESULT Rotate
([in] double degrees
);
594 [propget] HRESULT CanMove
([out, retval] BOOL
*pRetVal
);
595 [propget] HRESULT CanResize
([out, retval] BOOL
*pRetVal
);
596 [propget] HRESULT CanRotate
([out, retval] BOOL
*pRetVal
);
601 uuid(c7935180
-6fb3
-4201-b174
-7df73adbf64a
),
602 pointer_default(unique),
605 interface IValueProvider
: IUnknown
607 HRESULT SetValue
([in] LPCWSTR val
);
608 [propget] HRESULT Value
([out, retval] BSTR *pRetVal
);
609 [propget] HRESULT IsReadOnly
([out, retval] BOOL
*pRetVal
);
614 uuid(987df77b
-db06
-4d77
-8f8a
-86a9c3bb90b9
),
615 pointer_default(unique),
618 interface IWindowProvider
: IUnknown
620 HRESULT SetVisualState
([in] enum WindowVisualState state
);
623 HRESULT WaitForInputIdle
(
624 [in] int milliseconds
,
625 [out, retval] BOOL
*pRetVal
);
627 [propget] HRESULT CanMaximize
([out, retval] BOOL
*pRetVal
);
628 [propget] HRESULT CanMinimize
([out, retval] BOOL
*pRetVal
);
629 [propget] HRESULT IsModal
([out, retval] BOOL
*pRetVal
);
630 [propget] HRESULT WindowVisualState
([out, retval] enum WindowVisualState
*pRetVal
);
631 [propget] HRESULT WindowInteractionState
([out, retval] enum WindowInteractionState
*pRetVal
);
632 [propget] HRESULT IsTopmost
([out, retval] BOOL
*pRetVal
);
637 uuid(e747770b
-39ce
-4382-ab30
-d8fb3f336f24
),
638 pointer_default(unique),
641 interface IItemContainerProvider
: IUnknown
643 HRESULT FindItemByProperty
(
644 [in] IRawElementProviderSimple
*pStartAfter
,
645 [in] PROPERTYID propertyId
,
647 [out, retval] IRawElementProviderSimple
**pFound
);
652 uuid(cb98b665
-2d35
-4fac
-ad35
-f3c60d0c0b8b
),
653 pointer_default(unique),
656 interface IVirtualizedItemProvider
: IUnknown
663 uuid(3ad86ebd
-f5ef
-483d
-bb18
-b1042a475d64
),
664 pointer_default(unique),
667 interface IObjectModelProvider
: IUnknown
669 HRESULT GetUnderlyingObjectModel
([out, retval] IUnknown
**ppUnknown
);
674 uuid(f95c7e80
-bd63
-4601-9782-445ebff011fc
),
675 pointer_default(unique),
678 interface IAnnotationProvider
: IUnknown
680 [propget] HRESULT AnnotationTypeId
([out, retval] int *retVal);
681 [propget] HRESULT AnnotationTypeName
([out, retval] BSTR *retVal);
682 [propget] HRESULT Author
([out, retval] BSTR *retVal);
683 [propget] HRESULT DateTime
([out, retval] BSTR *retVal);
684 [propget] HRESULT Target
([out, retval] IRawElementProviderSimple
**retVal);
689 uuid(19b6b649
-f5d7
-4a6d
-bdcb
-129252be588a
),
690 pointer_default(unique),
693 interface IStylesProvider
: IUnknown
695 [propget] HRESULT StyleId
([out, retval] int *retVal);
696 [propget] HRESULT StyleName
([out, retval] BSTR *retVal);
697 [propget] HRESULT FillColor
([out, retval] int *retVal);
698 [propget] HRESULT FillPatternStyle
([out, retval] BSTR *retVal);
699 [propget] HRESULT Shape
([out, retval] BSTR *retVal);
700 [propget] HRESULT FillPatternColor
([out, retval] int *retVal);
701 [propget] HRESULT ExtendedProperties
([out, retval] BSTR *retVal);
706 uuid(6f6b5d35
-5525-4f80
-b758
-85473832ffc7
),
707 pointer_default(unique),
710 interface ISpreadsheetProvider
: IUnknown
712 HRESULT GetItemByName
(
714 [out, retval] IRawElementProviderSimple
**pRetVal
);
719 uuid(eaed4660
-7b3d
-4879-a2e6
-365ce603f3d0
),
720 pointer_default(unique),
723 interface ISpreadsheetItemProvider
: IUnknown
725 [propget] HRESULT Formula
([out, retval] BSTR *pRetVal
);
728 * FIXME: Current versions of Windows SDK use
729 * SAFEARRAY(IRawElementProviderSimple *) instead of
730 * SAFEARRAY(VARIANT).
732 HRESULT GetAnnotationObjects
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
733 HRESULT GetAnnotationTypes
([out, retval] SAFEARRAY(int) *pRetVal
);
738 uuid(4758742f
-7ac2
-460c
-bc48
-09fc09308a93
),
739 pointer_default(unique),
742 interface ITransformProvider2
: ITransformProvider
744 HRESULT Zoom
([in] double zoom
);
745 [propget] HRESULT CanZoom
([out, retval] BOOL
*pRetVal
);
746 [propget] HRESULT ZoomLevel
([out, retval] double *pRetVal
);
747 [propget] HRESULT ZoomMinimum
([out, retval] double *pRetVal
);
748 [propget] HRESULT ZoomMaximum
([out, retval] double *pRetVal
);
749 HRESULT ZoomByUnit
([in] enum ZoomUnit zoomUnit
);
754 uuid(6aa7bbbb
-7ff9
-497d
-904f
-d20b897929d8
),
755 pointer_default(unique),
758 interface IDragProvider
: IUnknown
760 [propget] HRESULT IsGrabbed
([out, retval] BOOL
*pRetVal
);
761 [propget] HRESULT DropEffect
([out, retval] BSTR *pRetVal
);
762 [propget] HRESULT DropEffects
([out, retval] SAFEARRAY(BSTR) *pRetVal
);
765 * FIXME: Current versions of Windows SDK use
766 * SAFEARRAY(IRawElementProviderSimple *) instead of
767 * SAFEARRAY(VARIANT).
769 HRESULT GetGrabbedItems
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
774 uuid(bae82bfd
-358a
-481c
-85a0
-d8b4d90a5d61
),
775 pointer_default(unique),
778 interface IDropTargetProvider
: IUnknown
780 [propget] HRESULT DropTargetEffect
([out, retval] BSTR *pRetVal
);
781 [propget] HRESULT DropTargetEffects
([out, retval] SAFEARRAY(BSTR) *pRetVal
);
784 interface ITextRangeProvider
;
787 uuid(3589c92c
-63f3
-4367-99bb
-ada653b77cf2
),
788 pointer_default(unique),
791 interface ITextProvider
: IUnknown
794 * FIXME: Current versions of Windows SDK use
795 * SAFEARRAY(ITextRangeProvider *) instead of
796 * SAFEARRAY(VARIANT).
798 HRESULT GetSelection
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
799 HRESULT GetVisibleRanges
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
801 HRESULT RangeFromChild
(
802 [in] IRawElementProviderSimple
*childElement
,
803 [out, retval] ITextRangeProvider
**pRetVal
);
804 HRESULT RangeFromPoint
(
805 [in] struct UiaPoint point
,
806 [out, retval] ITextRangeProvider
**pRetVal
);
808 [propget] HRESULT DocumentRange
([out, retval] ITextRangeProvider
**pRetVal
);
809 [propget] HRESULT SupportedTextSelection
([out, retval] enum SupportedTextSelection
*pRetVal
);
814 uuid(0dc5e6ed
-3e16
-4bf1
-8f9a
-a979878bc195
),
815 pointer_default(unique),
818 interface ITextProvider2
: ITextProvider
820 HRESULT RangeFromAnnotation
(
821 [in] IRawElementProviderSimple
*annotationElement
,
822 [out, retval] ITextRangeProvider
**pRetVal
);
823 HRESULT GetCaretRange
(
824 [out] BOOL
*isActive
,
825 [out, retval] ITextRangeProvider
**pRetVal
);
830 uuid(ea3605b4
-3a05
-400e
-b5f9
-4e91b40f6176
),
831 pointer_default(unique),
834 interface ITextEditProvider
: ITextProvider
836 HRESULT GetActiveComposition
([out, retval] ITextRangeProvider
**pRetVal
);
837 HRESULT GetConversionTarget
([out, retval] ITextRangeProvider
**pRetVal
);
842 uuid(5347ad7b
-c355
-46f8
-aff5
-909033582f63
),
843 pointer_default(unique),
846 interface ITextRangeProvider
: IUnknown
848 HRESULT Clone
([out, retval] ITextRangeProvider
**pRetVal
);
851 [in] ITextRangeProvider
*range,
852 [out, retval] BOOL
*pRetVal
);
853 HRESULT CompareEndpoints
(
854 [in] enum TextPatternRangeEndpoint
endpoint,
855 [in] ITextRangeProvider
*targetRange
,
856 [in] enum TextPatternRangeEndpoint targetEndpoint
,
857 [out, retval] int *pRetVal
);
859 HRESULT ExpandToEnclosingUnit
([in] enum TextUnit unit
);
861 HRESULT FindAttribute
(
862 [in] TEXTATTRIBUTEID attributeId
,
865 [out, retval] ITextRangeProvider
**pRetVal
);
869 [in] BOOL ignoreCase
,
870 [out, retval] ITextRangeProvider
**pRetVal
);
872 HRESULT GetAttributeValue
(
873 [in] TEXTATTRIBUTEID attributeId
,
874 [out, retval] VARIANT *pRetVal
);
876 HRESULT GetBoundingRectangles
([out, retval] SAFEARRAY(double) *pRetVal
);
877 HRESULT GetEnclosingElement
([out, retval] IRawElementProviderSimple
**pRetVal
);
881 [out, retval] BSTR *pRetVal
);
884 [in] enum TextUnit unit
,
886 [out, retval] int *pRetVal
);
887 HRESULT MoveEndpointByUnit
(
888 [in] enum TextPatternRangeEndpoint
endpoint,
889 [in] enum TextUnit unit
,
891 [out, retval] int *pRetVal
);
892 HRESULT MoveEndpointByRange
(
893 [in] enum TextPatternRangeEndpoint
endpoint,
894 [in] ITextRangeProvider
*targetRange
,
895 [in] enum TextPatternRangeEndpoint targetEndpoint
);
898 HRESULT AddToSelection
();
899 HRESULT RemoveFromSelection
();
900 HRESULT ScrollIntoView
([in] BOOL alignToTop
);
903 * FIXME: Current versions of Windows SDK use
904 * SAFEARRAY(IRawElementProviderSimple *) instead of
905 * SAFEARRAY(VARIANT).
907 HRESULT GetChildren
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
912 uuid(9bbce42c
-1921-4f18
-89ca
-dba1910a0386
),
913 pointer_default(unique),
916 interface ITextRangeProvider2
: ITextRangeProvider
918 HRESULT ShowContextMenu
();
923 uuid(4c2de2b9
-c88f
-4f88
-a111
-f1d336b7d1a9
),
924 pointer_default(unique),
927 interface ITextChildProvider
: IUnknown
929 [propget] HRESULT TextContainer
([out, retval] IRawElementProviderSimple
**pRetVal
);
930 [propget] HRESULT TextRange
([out, retval] ITextRangeProvider
**pRetVal
);
935 uuid(2062a28a
-8c07
-4b94
-8e12
-7037c622aeb8
),
936 pointer_default(unique),
939 interface ICustomNavigationProvider
: IUnknown
942 [in] enum NavigateDirection direction
,
943 [out, retval] IRawElementProviderSimple
**pRetVal
);
946 enum UIAutomationType
{
947 UIAutomationType_Int
= 0x01,
948 UIAutomationType_Bool
= 0x02,
949 UIAutomationType_String
= 0x03,
950 UIAutomationType_Double
= 0x04,
951 UIAutomationType_Point
= 0x05,
952 UIAutomationType_Rect
= 0x06,
953 UIAutomationType_Element
= 0x07,
955 UIAutomationType_Array
= 0x00010000,
956 UIAutomationType_Out
= 0x00020000,
958 UIAutomationType_IntArray
= ( UIAutomationType_Int | UIAutomationType_Array
),
959 UIAutomationType_BoolArray
= ( UIAutomationType_Bool | UIAutomationType_Array
),
960 UIAutomationType_StringArray
= ( UIAutomationType_String | UIAutomationType_Array
),
961 UIAutomationType_DoubleArray
= ( UIAutomationType_Double | UIAutomationType_Array
),
962 UIAutomationType_PointArray
= ( UIAutomationType_Point | UIAutomationType_Array
),
963 UIAutomationType_RectArray
= ( UIAutomationType_Rect | UIAutomationType_Array
),
964 UIAutomationType_ElementArray
= ( UIAutomationType_Element | UIAutomationType_Array
),
966 UIAutomationType_OutInt
= ( UIAutomationType_Int | UIAutomationType_Out
),
967 UIAutomationType_OutBool
= ( UIAutomationType_Bool | UIAutomationType_Out
),
968 UIAutomationType_OutString
= ( UIAutomationType_String | UIAutomationType_Out
),
969 UIAutomationType_OutDouble
= ( UIAutomationType_Double | UIAutomationType_Out
),
970 UIAutomationType_OutPoint
= ( UIAutomationType_Point | UIAutomationType_Out
),
971 UIAutomationType_OutRect
= ( UIAutomationType_Rect | UIAutomationType_Out
),
972 UIAutomationType_OutElement
= ( UIAutomationType_Element | UIAutomationType_Out
),
974 UIAutomationType_OutIntArray
= ( UIAutomationType_Int | UIAutomationType_Array | UIAutomationType_Out
),
975 UIAutomationType_OutBoolArray
= ( UIAutomationType_Bool | UIAutomationType_Array | UIAutomationType_Out
),
976 UIAutomationType_OutStringArray
= ( UIAutomationType_String | UIAutomationType_Array | UIAutomationType_Out
),
977 UIAutomationType_OutDoubleArray
= ( UIAutomationType_Double | UIAutomationType_Array | UIAutomationType_Out
),
978 UIAutomationType_OutPointArray
= ( UIAutomationType_Point | UIAutomationType_Array | UIAutomationType_Out
),
979 UIAutomationType_OutRectArray
= ( UIAutomationType_Rect | UIAutomationType_Array | UIAutomationType_Out
),
980 UIAutomationType_OutElementArray
= ( UIAutomationType_Element | UIAutomationType_Array | UIAutomationType_Out
),
983 cpp_quote
("DEFINE_ENUM_FLAG_OPERATORS(UIAutomationType)")
985 struct UIAutomationParameter
{
986 enum UIAutomationType type
;
990 struct UIAutomationPropertyInfo
{
992 LPCWSTR pProgrammaticName
;
993 enum UIAutomationType type
;
996 struct UIAutomationEventInfo
{
998 LPCWSTR pProgrammaticName
;
1001 struct UIAutomationMethodInfo
{
1002 LPCWSTR pProgrammaticName
;
1005 UINT cOutParameters
;
1006 [size_is(cInParameters
+ cOutParameters
)]enum UIAutomationType
*pParameterTypes
;
1007 [size_is(cInParameters
+ cOutParameters
)]LPCWSTR
*pParameterNames
;
1012 uuid(c03a7fe4
-9431-409f
-bed8
-ae7c2299bc8d
),
1013 pointer_default(unique),
1016 interface IUIAutomationPatternInstance
: IUnknown
1018 [local] HRESULT GetProperty
(
1021 [in] enum UIAutomationType type
,
1024 [local] HRESULT CallMethod
(
1026 [in] const struct UIAutomationParameter
*pParams
,
1032 uuid(d97022f3
-a947
-465e-8b2a
-ac4315fa54e8
),
1033 pointer_default(unique),
1036 interface IUIAutomationPatternHandler
: IUnknown
1038 HRESULT CreateClientWrapper
(
1039 [in] IUIAutomationPatternInstance
*pPatternInstance
,
1040 [out] IUnknown
**pClientWrapper
);
1042 [local] HRESULT Dispatch
(
1043 [in] IUnknown
*pTarget
,
1045 [in] const struct UIAutomationParameter
*pParams
,
1049 struct UIAutomationPatternInfo
{
1051 LPCWSTR pProgrammaticName
;
1052 GUID providerInterfaceId
;
1053 GUID clientInterfaceId
;
1055 [size_is(cProperties
)]struct UIAutomationPropertyInfo
*pProperties
;
1057 [size_is(cMethods
)]struct UIAutomationMethodInfo
*pMethods
;
1059 [size_is(cEvents
)]struct UIAutomationEventInfo
*pEvents
;
1060 IUIAutomationPatternHandler
*pPatternHandler
;
1065 uuid(8609c4ec
-4a1a
-4d88
-a357
-5a66e060e1cf
),
1066 pointer_default(unique),
1069 interface IUIAutomationRegistrar
: IUnknown
1071 HRESULT RegisterProperty
(
1072 [in] const struct UIAutomationPropertyInfo
*property
,
1073 [out] PROPERTYID
*propertyId
);
1075 HRESULT RegisterEvent
(
1076 [in] const struct UIAutomationEventInfo
*event
,
1077 [out] EVENTID
*eventId
);
1079 HRESULT RegisterPattern
(
1080 [in] const struct UIAutomationPatternInfo
*pattern
,
1081 [out] PATTERNID
*pPatternId
,
1082 [out] PROPERTYID
*pPatternAvailablePropertyId
,
1083 [in] UINT propertyIdCount
,
1084 [out, size_is(propertyIdCount
)] PROPERTYID
*pPropertyIds
,
1085 [in] UINT eventIdCount
,
1086 [out, size_is(eventIdCount
)] EVENTID
*pEventIds
);
1090 uuid(6e29fabf
-9977-42d1
-8d0e
-ca7e61ad87e6
),
1094 coclass CUIAutomationRegistrar
1096 [default] interface IUIAutomationRegistrar
;