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(a0a839a9
-8da1
-4a82
-806a
-8e0d44e79f56
),
240 pointer_default(unique),
243 interface IRawElementProviderSimple2
: IRawElementProviderSimple
245 HRESULT ShowContextMenu
();
250 uuid(fcf5d820
-d7ec
-4613-bdf6
-42a84ce7daaf
),
251 pointer_default(unique),
254 interface IRawElementProviderSimple3
: IRawElementProviderSimple2
256 HRESULT GetMetadataValue
(
258 [in] METADATAID metadataId
,
259 [out, retval] VARIANT *returnVal
);
264 uuid(f8b80ada
-2c44
-48d0
-89be
-5ff23c9cd875
),
265 pointer_default(unique),
268 interface IAccessibleEx
: IUnknown
270 HRESULT GetObjectForChild
(
272 [out, retval] IAccessibleEx
**pRetVal
);
274 HRESULT GetIAccessiblePair
(
275 [out] IAccessible
**ppAcc
,
276 [out] long *pidChild
);
278 HRESULT GetRuntimeId
(
279 [out, retval] SAFEARRAY(int) *pRetVal
);
281 HRESULT ConvertReturnedElement
(
282 [in] IRawElementProviderSimple
*pIn
,
283 [out] IAccessibleEx
**ppRetValOut
);
286 interface IRawElementProviderFragmentRoot
;
290 uuid(f7063da8
-8359-439c
-9297-bbc5299a7d87
),
291 pointer_default(unique),
294 interface IRawElementProviderFragment
: IUnknown
297 [in] enum NavigateDirection direction
,
298 [out, retval] IRawElementProviderFragment
**pRetVal
);
300 HRESULT GetRuntimeId
([out, retval] SAFEARRAY(int) *pRetVal
);
301 HRESULT get_BoundingRectangle
([out, retval] struct UiaRect
*pRetVal
);
303 * FIXME: Current versions of Windows SDK use
304 * SAFEARRAY(IRawElementProviderFragmentRoot *) instead of
305 * SAFEARRAY(VARIANT). The new type is currently unsupported
306 * in widl, we should switch to it when it is.
308 HRESULT GetEmbeddedFragmentRoots
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
311 [propget] HRESULT FragmentRoot
([out, retval] IRawElementProviderFragmentRoot
**pRetVal
);
316 uuid(620ce2a5
-ab8f
-40a9
-86cb
-de3c75599b58
),
317 pointer_default(unique),
320 interface IRawElementProviderFragmentRoot
: IUnknown
322 HRESULT ElementProviderFromPoint
(
325 [out, retval] IRawElementProviderFragment
**pRetVal
);
327 HRESULT GetFocus
([out, retval] IRawElementProviderFragment
**pRetVal
);
333 uuid(1d5df27c
-8947-4425-b8d9
-79787bb460b8
),
334 pointer_default(unique),
337 interface IRawElementProviderHwndOverride
: IUnknown
339 HRESULT GetOverrideProviderForHwnd
(
341 [out, retval] IRawElementProviderSimple
**pRetVal
);
346 uuid(a407b27b
-0f6d
-4427-9292-473c7bf93258
),
347 pointer_default(unique),
350 interface IRawElementProviderAdviseEvents
: IUnknown
352 HRESULT AdviseEventAdded
(
353 [in] EVENTID eventId
,
354 [in] SAFEARRAY(PROPERTYID
) propertyIDs
);
355 HRESULT AdviseEventRemoved
(
356 [in] EVENTID eventId
,
357 [in] SAFEARRAY(PROPERTYID
) propertyIDs
);
362 uuid(4fd82b78
-a43e
-46ac
-9803-0a6969c7c183
),
363 pointer_default(unique),
366 interface IProxyProviderWinEventSink
: IUnknown
368 HRESULT AddAutomationPropertyChangedEvent
(
369 [in] IRawElementProviderSimple
*pProvider
,
371 [in] VARIANT newValue
);
373 HRESULT AddAutomationEvent
(
374 [in] IRawElementProviderSimple
*pProvider
,
377 HRESULT AddStructureChangedEvent
(
378 [in] IRawElementProviderSimple
*pProvider
,
379 [in] enum StructureChangeType structureChangeType
,
380 [in] SAFEARRAY(int) runtimeId
);
385 uuid(89592ad4
-f4e0
-43d5
-a3b6
-bad7e111b435
),
386 pointer_default(unique),
389 interface IProxyProviderWinEventHandler
: IUnknown
391 HRESULT RespondToWinEvent
(
392 [in] DWORD idWinEvent
,
396 [in] IProxyProviderWinEventSink
*pSink
);
401 uuid(0a2a93cc
-bfad
-42ac
-9b2e
-0991fb0d3ea0
),
402 pointer_default(unique),
405 interface IRawElementProviderWindowlessSite
: IUnknown
407 HRESULT GetAdjacentFragment
(
408 [in] enum NavigateDirection direction
,
409 [out, retval] IRawElementProviderFragment
**ppParent
);
411 HRESULT GetRuntimeIdPrefix
([out, retval] SAFEARRAY(int) *pRetVal
);
416 uuid(33ac331b
-943e-4020-b295
-db37784974a3
),
417 pointer_default(unique),
420 interface IAccessibleHostingElementProviders
: IUnknown
423 * FIXME: Current versions of Windows SDK use
424 * SAFEARRAY(IRawElementProviderSimple *) instead of
425 * SAFEARRAY(VARIANT). The new type is currently unsupported
426 * in widl, we should switch to it when it is.
428 HRESULT GetEmbeddedFragmentRoots
([out,retval] SAFEARRAY(VARIANT) *pRetVal
);
430 HRESULT GetObjectIdForProvider
(
431 [in] IRawElementProviderSimple
*pProvider
,
432 [out] long *pidObject
);
437 uuid(24be0b07
-d37d
-487a
-98cf
-a13ed465e9b3
),
438 pointer_default(unique),
441 interface IRawElementProviderHostingAccessibles
: IUnknown
444 * FIXME: Current versions of Windows SDK use
445 * SAFEARRAY(IAccessible *) instead of
446 * SAFEARRAY(VARIANT). The new type is currently unsupported
447 * in widl, we should switch to it when it is.
449 HRESULT GetEmbeddedAccessibles
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
454 uuid(e44c3566
-915d
-4070-99c6
-047bff5a08f5
),
455 pointer_default(unique),
458 interface ILegacyIAccessibleProvider
: IUnknown
460 HRESULT Select
(long flagsSelect
);
461 HRESULT DoDefaultAction
();
462 HRESULT SetValue
(LPCWSTR szValue
);
463 HRESULT GetIAccessible
([out, retval] IAccessible
**ppAccessible
);
465 [propget] HRESULT ChildId
([out, retval] int *pRetVal
);
466 [propget] HRESULT Name
([out, retval] BSTR *pszName
);
467 [propget] HRESULT Value
([out, retval] BSTR *pszValue
);
468 [propget] HRESULT Description
([out, retval] BSTR *pszDescription
);
469 [propget] HRESULT Role
([out, retval] DWORD
*pdwRole
);
470 [propget] HRESULT State
([out, retval] DWORD
*pdwState
);
471 [propget] HRESULT Help
([out, retval] BSTR *pszHelp
);
472 [propget] HRESULT KeyboardShortcut
([out, retval] BSTR *pszKeyboardShortcut
);
474 * FIXME: Current versions of Windows SDK use
475 * SAFEARRAY(IRawElementProviderSimple *) instead of
476 * SAFEARRAY(VARIANT). The new type is currently unsupported
477 * in widl, we should switch to it when it is.
479 HRESULT GetSelection
([out, retval] SAFEARRAY(VARIANT) *pvarSelectedChildren
);
480 [propget] HRESULT DefaultAction
([out, retval] BSTR *pszDefaultAction
);
485 uuid(159bc72c
-4ad3
-485e-9637-d7052edf0146
),
486 pointer_default(unique),
489 interface IDockProvider
: IUnknown
491 HRESULT SetDockPosition
([in] enum DockPosition dockPosition
);
492 [propget] HRESULT DockPosition
([out, retval] enum DockPosition
*pRetVal
);
497 uuid(d847d3a5
-cab0
-4a98
-8c32
-ecb45c59ad24
),
498 pointer_default(unique),
501 interface IExpandCollapseProvider
: IUnknown
505 [propget] HRESULT ExpandCollapseState
([out, retval] enum ExpandCollapseState
*pRetVal
);
510 uuid(b17d6187
-0907-464b
-a168
-0ef17a1572b1
),
511 pointer_default(unique),
514 interface IGridProvider
: IUnknown
519 [out, retval] IRawElementProviderSimple
**pRetVal
);
521 [propget] HRESULT RowCount
([out, retval] int *pRetVal
);
522 [propget] HRESULT ColumnCount
([out, retval] int *pRetVal
);
527 uuid(d02541f1
-fb81
-4d64
-ae32
-f520f8a6dbd1
),
528 pointer_default(unique),
531 interface IGridItemProvider
: IUnknown
533 [propget] HRESULT Row
([out, retval] int *pRetVal
);
534 [propget] HRESULT Column
([out, retval] int *pRetVal
);
535 [propget] HRESULT RowSpan
([out, retval] int *pRetVal
);
536 [propget] HRESULT ColumnSpan
([out, retval] int *pRetVal
);
537 [propget] HRESULT ContainingGrid
([out, retval] IRawElementProviderSimple
**pRetVal
);
542 uuid(54fcb24b
-e18e
-47a2
-b4d3
-eccbe77599a2
),
543 pointer_default(unique),
546 interface IInvokeProvider
: IUnknown
553 uuid(6278cab1
-b556
-4a1a
-b4e0
-418acc523201
),
554 pointer_default(unique),
557 interface IMultipleViewProvider
: IUnknown
561 [out, retval] BSTR *pRetVal
);
563 HRESULT SetCurrentView
([in] int viewId
);
564 [propget] HRESULT CurrentView
([out, retval] int *pRetVal
);
565 HRESULT GetSupportedViews
([out, retval] SAFEARRAY(int) *pRetVal
);
570 uuid(36dc7aef
-33e6
-4691-afe1
-2be7274b3d33
),
571 pointer_default(unique),
574 interface IRangeValueProvider
: IUnknown
576 HRESULT SetValue
([in] double val
);
577 [propget] HRESULT Value
([out, retval] double *pRetVal
);
578 [propget] HRESULT IsReadOnly
([out, retval] BOOL
*pRetVal
);
579 [propget] HRESULT Maximum
([out, retval] double *pRetVal
);
580 [propget] HRESULT Minimum
([out, retval] double *pRetVal
);
581 [propget] HRESULT LargeChange
([out, retval] double *pRetVal
);
582 [propget] HRESULT SmallChange
([out, retval] double *pRetVal
);
587 uuid(2360c714
-4bf1
-4b26
-ba65
-9b21316127eb
),
588 pointer_default(unique),
591 interface IScrollItemProvider
: IUnknown
593 HRESULT ScrollIntoView
();
598 uuid(fb8b03af
-3bdf
-48d4
-bd36
-1a65793be168
),
599 pointer_default(unique),
602 interface ISelectionProvider
: IUnknown
605 * FIXME: Current versions of Windows SDK use
606 * SAFEARRAY(IRawElementProviderSimple *) instead of
607 * SAFEARRAY(VARIANT).
609 HRESULT GetSelection
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
610 [propget] HRESULT CanSelectMultiple
([out, retval] BOOL
*pRetVal
);
611 [propget] HRESULT IsSelectionRequired
([out, retval] BOOL
*pRetVal
);
616 uuid(b38b8077
-1fc3
-42a5
-8cae
-d40c2215055a
),
617 pointer_default(unique),
620 interface IScrollProvider
: IUnknown
623 [in] enum ScrollAmount horizontalAmount
,
624 [in] enum ScrollAmount verticalAmount
);
625 HRESULT SetScrollPercent
(
626 [in] double horizontalPercent
,
627 [in] double verticalPercent
);
629 [propget] HRESULT HorizontalScrollPercent
([out, retval] double *pRetVal
);
630 [propget] HRESULT VerticalScrollPercent
([out, retval] double *pRetVal
);
631 [propget] HRESULT HorizontalViewSize
([out, retval] double *pRetVal
);
632 [propget] HRESULT VerticalViewSize
([out, retval] double *pRetVal
);
633 [propget] HRESULT HorizontallyScrollable
([out, retval] BOOL
*pRetVal
);
634 [propget] HRESULT VerticallyScrollable
([out, retval] BOOL
*pRetVal
);
639 uuid(2acad808
-b2d4
-452d
-a407
-91ff1ad167b2
),
640 pointer_default(unique),
643 interface ISelectionItemProvider
: IUnknown
646 HRESULT AddToSelection
();
647 HRESULT RemoveFromSelection
();
648 [propget] HRESULT IsSelected
([out, retval] BOOL
*pRetVal
);
649 [propget] HRESULT SelectionContainer
([out, retval] IRawElementProviderSimple
**pRetVal
);
654 uuid(29db1a06
-02ce
-4cf7
-9b42
-565d4fab20ee
),
655 pointer_default(unique),
658 interface ISynchronizedInputProvider
: IUnknown
660 HRESULT StartListening
([in] enum SynchronizedInputType inputType
);
666 uuid(9c860395
-97b3
-490a
-b52a
-858cc22af166
),
667 pointer_default(unique),
670 interface ITableProvider
: IUnknown
673 * FIXME: Current versions of Windows SDK use
674 * SAFEARRAY(IRawElementProviderSimple *) instead of
675 * SAFEARRAY(VARIANT).
677 HRESULT GetRowHeaders
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
678 HRESULT GetColumnHeaders
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
679 [propget] HRESULT RowOrColumnMajor
([out, retval] enum RowOrColumnMajor
*pRetVal
);
684 uuid(b9734fa6
-771f
-4d78
-9c90
-2517999349cd
),
685 pointer_default(unique),
688 interface ITableItemProvider
: IUnknown
691 * FIXME: Current versions of Windows SDK use
692 * SAFEARRAY(IRawElementProviderSimple *) instead of
693 * SAFEARRAY(VARIANT).
695 HRESULT GetRowHeaderItems
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
696 HRESULT GetColumnHeaderItems
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
701 uuid(56d00bd0
-c4f4
-433c
-a836
-1a52a57e0892
),
702 pointer_default(unique),
705 interface IToggleProvider
: IUnknown
708 [propget] HRESULT ToggleState
([out, retval] enum ToggleState
*pRetVal
);
713 uuid(6829ddc4
-4f91
-4ffa
-b86f
-bd3e2987cb4c
),
714 pointer_default(unique),
717 interface ITransformProvider
: IUnknown
726 HRESULT Rotate
([in] double degrees
);
727 [propget] HRESULT CanMove
([out, retval] BOOL
*pRetVal
);
728 [propget] HRESULT CanResize
([out, retval] BOOL
*pRetVal
);
729 [propget] HRESULT CanRotate
([out, retval] BOOL
*pRetVal
);
734 uuid(c7935180
-6fb3
-4201-b174
-7df73adbf64a
),
735 pointer_default(unique),
738 interface IValueProvider
: IUnknown
740 HRESULT SetValue
([in] LPCWSTR val
);
741 [propget] HRESULT Value
([out, retval] BSTR *pRetVal
);
742 [propget] HRESULT IsReadOnly
([out, retval] BOOL
*pRetVal
);
747 uuid(987df77b
-db06
-4d77
-8f8a
-86a9c3bb90b9
),
748 pointer_default(unique),
751 interface IWindowProvider
: IUnknown
753 HRESULT SetVisualState
([in] enum WindowVisualState state
);
756 HRESULT WaitForInputIdle
(
757 [in] int milliseconds
,
758 [out, retval] BOOL
*pRetVal
);
760 [propget] HRESULT CanMaximize
([out, retval] BOOL
*pRetVal
);
761 [propget] HRESULT CanMinimize
([out, retval] BOOL
*pRetVal
);
762 [propget] HRESULT IsModal
([out, retval] BOOL
*pRetVal
);
763 [propget] HRESULT WindowVisualState
([out, retval] enum WindowVisualState
*pRetVal
);
764 [propget] HRESULT WindowInteractionState
([out, retval] enum WindowInteractionState
*pRetVal
);
765 [propget] HRESULT IsTopmost
([out, retval] BOOL
*pRetVal
);
770 uuid(e747770b
-39ce
-4382-ab30
-d8fb3f336f24
),
771 pointer_default(unique),
774 interface IItemContainerProvider
: IUnknown
776 HRESULT FindItemByProperty
(
777 [in] IRawElementProviderSimple
*pStartAfter
,
778 [in] PROPERTYID propertyId
,
780 [out, retval] IRawElementProviderSimple
**pFound
);
785 uuid(cb98b665
-2d35
-4fac
-ad35
-f3c60d0c0b8b
),
786 pointer_default(unique),
789 interface IVirtualizedItemProvider
: IUnknown
796 uuid(3ad86ebd
-f5ef
-483d
-bb18
-b1042a475d64
),
797 pointer_default(unique),
800 interface IObjectModelProvider
: IUnknown
802 HRESULT GetUnderlyingObjectModel
([out, retval] IUnknown
**ppUnknown
);
807 uuid(f95c7e80
-bd63
-4601-9782-445ebff011fc
),
808 pointer_default(unique),
811 interface IAnnotationProvider
: IUnknown
813 [propget] HRESULT AnnotationTypeId
([out, retval] int *retVal);
814 [propget] HRESULT AnnotationTypeName
([out, retval] BSTR *retVal);
815 [propget] HRESULT Author
([out, retval] BSTR *retVal);
816 [propget] HRESULT DateTime
([out, retval] BSTR *retVal);
817 [propget] HRESULT Target
([out, retval] IRawElementProviderSimple
**retVal);
822 uuid(19b6b649
-f5d7
-4a6d
-bdcb
-129252be588a
),
823 pointer_default(unique),
826 interface IStylesProvider
: IUnknown
828 [propget] HRESULT StyleId
([out, retval] int *retVal);
829 [propget] HRESULT StyleName
([out, retval] BSTR *retVal);
830 [propget] HRESULT FillColor
([out, retval] int *retVal);
831 [propget] HRESULT FillPatternStyle
([out, retval] BSTR *retVal);
832 [propget] HRESULT Shape
([out, retval] BSTR *retVal);
833 [propget] HRESULT FillPatternColor
([out, retval] int *retVal);
834 [propget] HRESULT ExtendedProperties
([out, retval] BSTR *retVal);
839 uuid(6f6b5d35
-5525-4f80
-b758
-85473832ffc7
),
840 pointer_default(unique),
843 interface ISpreadsheetProvider
: IUnknown
845 HRESULT GetItemByName
(
847 [out, retval] IRawElementProviderSimple
**pRetVal
);
852 uuid(eaed4660
-7b3d
-4879-a2e6
-365ce603f3d0
),
853 pointer_default(unique),
856 interface ISpreadsheetItemProvider
: IUnknown
858 [propget] HRESULT Formula
([out, retval] BSTR *pRetVal
);
861 * FIXME: Current versions of Windows SDK use
862 * SAFEARRAY(IRawElementProviderSimple *) instead of
863 * SAFEARRAY(VARIANT).
865 HRESULT GetAnnotationObjects
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
866 HRESULT GetAnnotationTypes
([out, retval] SAFEARRAY(int) *pRetVal
);
871 uuid(4758742f
-7ac2
-460c
-bc48
-09fc09308a93
),
872 pointer_default(unique),
875 interface ITransformProvider2
: ITransformProvider
877 HRESULT Zoom
([in] double zoom
);
878 [propget] HRESULT CanZoom
([out, retval] BOOL
*pRetVal
);
879 [propget] HRESULT ZoomLevel
([out, retval] double *pRetVal
);
880 [propget] HRESULT ZoomMinimum
([out, retval] double *pRetVal
);
881 [propget] HRESULT ZoomMaximum
([out, retval] double *pRetVal
);
882 HRESULT ZoomByUnit
([in] enum ZoomUnit zoomUnit
);
887 uuid(6aa7bbbb
-7ff9
-497d
-904f
-d20b897929d8
),
888 pointer_default(unique),
891 interface IDragProvider
: IUnknown
893 [propget] HRESULT IsGrabbed
([out, retval] BOOL
*pRetVal
);
894 [propget] HRESULT DropEffect
([out, retval] BSTR *pRetVal
);
895 [propget] HRESULT DropEffects
([out, retval] SAFEARRAY(BSTR) *pRetVal
);
898 * FIXME: Current versions of Windows SDK use
899 * SAFEARRAY(IRawElementProviderSimple *) instead of
900 * SAFEARRAY(VARIANT).
902 HRESULT GetGrabbedItems
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
907 uuid(bae82bfd
-358a
-481c
-85a0
-d8b4d90a5d61
),
908 pointer_default(unique),
911 interface IDropTargetProvider
: IUnknown
913 [propget] HRESULT DropTargetEffect
([out, retval] BSTR *pRetVal
);
914 [propget] HRESULT DropTargetEffects
([out, retval] SAFEARRAY(BSTR) *pRetVal
);
917 interface ITextRangeProvider
;
920 uuid(3589c92c
-63f3
-4367-99bb
-ada653b77cf2
),
921 pointer_default(unique),
924 interface ITextProvider
: IUnknown
927 * FIXME: Current versions of Windows SDK use
928 * SAFEARRAY(ITextRangeProvider *) instead of
929 * SAFEARRAY(VARIANT).
931 HRESULT GetSelection
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
932 HRESULT GetVisibleRanges
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
934 HRESULT RangeFromChild
(
935 [in] IRawElementProviderSimple
*childElement
,
936 [out, retval] ITextRangeProvider
**pRetVal
);
937 HRESULT RangeFromPoint
(
938 [in] struct UiaPoint point
,
939 [out, retval] ITextRangeProvider
**pRetVal
);
941 [propget] HRESULT DocumentRange
([out, retval] ITextRangeProvider
**pRetVal
);
942 [propget] HRESULT SupportedTextSelection
([out, retval] enum SupportedTextSelection
*pRetVal
);
947 uuid(0dc5e6ed
-3e16
-4bf1
-8f9a
-a979878bc195
),
948 pointer_default(unique),
951 interface ITextProvider2
: ITextProvider
953 HRESULT RangeFromAnnotation
(
954 [in] IRawElementProviderSimple
*annotationElement
,
955 [out, retval] ITextRangeProvider
**pRetVal
);
956 HRESULT GetCaretRange
(
957 [out] BOOL
*isActive
,
958 [out, retval] ITextRangeProvider
**pRetVal
);
963 uuid(ea3605b4
-3a05
-400e
-b5f9
-4e91b40f6176
),
964 pointer_default(unique),
967 interface ITextEditProvider
: ITextProvider
969 HRESULT GetActiveComposition
([out, retval] ITextRangeProvider
**pRetVal
);
970 HRESULT GetConversionTarget
([out, retval] ITextRangeProvider
**pRetVal
);
975 uuid(5347ad7b
-c355
-46f8
-aff5
-909033582f63
),
976 pointer_default(unique),
979 interface ITextRangeProvider
: IUnknown
981 HRESULT Clone
([out, retval] ITextRangeProvider
**pRetVal
);
984 [in] ITextRangeProvider
*range,
985 [out, retval] BOOL
*pRetVal
);
986 HRESULT CompareEndpoints
(
987 [in] enum TextPatternRangeEndpoint
endpoint,
988 [in] ITextRangeProvider
*targetRange
,
989 [in] enum TextPatternRangeEndpoint targetEndpoint
,
990 [out, retval] int *pRetVal
);
992 HRESULT ExpandToEnclosingUnit
([in] enum TextUnit unit
);
994 HRESULT FindAttribute
(
995 [in] TEXTATTRIBUTEID attributeId
,
998 [out, retval] ITextRangeProvider
**pRetVal
);
1002 [in] BOOL ignoreCase
,
1003 [out, retval] ITextRangeProvider
**pRetVal
);
1005 HRESULT GetAttributeValue
(
1006 [in] TEXTATTRIBUTEID attributeId
,
1007 [out, retval] VARIANT *pRetVal
);
1009 HRESULT GetBoundingRectangles
([out, retval] SAFEARRAY(double) *pRetVal
);
1010 HRESULT GetEnclosingElement
([out, retval] IRawElementProviderSimple
**pRetVal
);
1014 [out, retval] BSTR *pRetVal
);
1017 [in] enum TextUnit unit
,
1019 [out, retval] int *pRetVal
);
1020 HRESULT MoveEndpointByUnit
(
1021 [in] enum TextPatternRangeEndpoint
endpoint,
1022 [in] enum TextUnit unit
,
1024 [out, retval] int *pRetVal
);
1025 HRESULT MoveEndpointByRange
(
1026 [in] enum TextPatternRangeEndpoint
endpoint,
1027 [in] ITextRangeProvider
*targetRange
,
1028 [in] enum TextPatternRangeEndpoint targetEndpoint
);
1031 HRESULT AddToSelection
();
1032 HRESULT RemoveFromSelection
();
1033 HRESULT ScrollIntoView
([in] BOOL alignToTop
);
1036 * FIXME: Current versions of Windows SDK use
1037 * SAFEARRAY(IRawElementProviderSimple *) instead of
1038 * SAFEARRAY(VARIANT).
1040 HRESULT GetChildren
([out, retval] SAFEARRAY(VARIANT) *pRetVal
);
1045 uuid(9bbce42c
-1921-4f18
-89ca
-dba1910a0386
),
1046 pointer_default(unique),
1049 interface ITextRangeProvider2
: ITextRangeProvider
1051 HRESULT ShowContextMenu
();
1056 uuid(4c2de2b9
-c88f
-4f88
-a111
-f1d336b7d1a9
),
1057 pointer_default(unique),
1060 interface ITextChildProvider
: IUnknown
1062 [propget] HRESULT TextContainer
([out, retval] IRawElementProviderSimple
**pRetVal
);
1063 [propget] HRESULT TextRange
([out, retval] ITextRangeProvider
**pRetVal
);
1068 uuid(2062a28a
-8c07
-4b94
-8e12
-7037c622aeb8
),
1069 pointer_default(unique),
1072 interface ICustomNavigationProvider
: IUnknown
1075 [in] enum NavigateDirection direction
,
1076 [out, retval] IRawElementProviderSimple
**pRetVal
);
1079 enum UIAutomationType
{
1080 UIAutomationType_Int
= 0x01,
1081 UIAutomationType_Bool
= 0x02,
1082 UIAutomationType_String
= 0x03,
1083 UIAutomationType_Double
= 0x04,
1084 UIAutomationType_Point
= 0x05,
1085 UIAutomationType_Rect
= 0x06,
1086 UIAutomationType_Element
= 0x07,
1088 UIAutomationType_Array
= 0x00010000,
1089 UIAutomationType_Out
= 0x00020000,
1091 UIAutomationType_IntArray
= ( UIAutomationType_Int | UIAutomationType_Array
),
1092 UIAutomationType_BoolArray
= ( UIAutomationType_Bool | UIAutomationType_Array
),
1093 UIAutomationType_StringArray
= ( UIAutomationType_String | UIAutomationType_Array
),
1094 UIAutomationType_DoubleArray
= ( UIAutomationType_Double | UIAutomationType_Array
),
1095 UIAutomationType_PointArray
= ( UIAutomationType_Point | UIAutomationType_Array
),
1096 UIAutomationType_RectArray
= ( UIAutomationType_Rect | UIAutomationType_Array
),
1097 UIAutomationType_ElementArray
= ( UIAutomationType_Element | UIAutomationType_Array
),
1099 UIAutomationType_OutInt
= ( UIAutomationType_Int | UIAutomationType_Out
),
1100 UIAutomationType_OutBool
= ( UIAutomationType_Bool | UIAutomationType_Out
),
1101 UIAutomationType_OutString
= ( UIAutomationType_String | UIAutomationType_Out
),
1102 UIAutomationType_OutDouble
= ( UIAutomationType_Double | UIAutomationType_Out
),
1103 UIAutomationType_OutPoint
= ( UIAutomationType_Point | UIAutomationType_Out
),
1104 UIAutomationType_OutRect
= ( UIAutomationType_Rect | UIAutomationType_Out
),
1105 UIAutomationType_OutElement
= ( UIAutomationType_Element | UIAutomationType_Out
),
1107 UIAutomationType_OutIntArray
= ( UIAutomationType_Int | UIAutomationType_Array | UIAutomationType_Out
),
1108 UIAutomationType_OutBoolArray
= ( UIAutomationType_Bool | UIAutomationType_Array | UIAutomationType_Out
),
1109 UIAutomationType_OutStringArray
= ( UIAutomationType_String | UIAutomationType_Array | UIAutomationType_Out
),
1110 UIAutomationType_OutDoubleArray
= ( UIAutomationType_Double | UIAutomationType_Array | UIAutomationType_Out
),
1111 UIAutomationType_OutPointArray
= ( UIAutomationType_Point | UIAutomationType_Array | UIAutomationType_Out
),
1112 UIAutomationType_OutRectArray
= ( UIAutomationType_Rect | UIAutomationType_Array | UIAutomationType_Out
),
1113 UIAutomationType_OutElementArray
= ( UIAutomationType_Element | UIAutomationType_Array | UIAutomationType_Out
),
1116 cpp_quote
("DEFINE_ENUM_FLAG_OPERATORS(UIAutomationType)")
1118 struct UIAutomationParameter
{
1119 enum UIAutomationType type
;
1123 struct UIAutomationPropertyInfo
{
1125 LPCWSTR pProgrammaticName
;
1126 enum UIAutomationType type
;
1129 struct UIAutomationEventInfo
{
1131 LPCWSTR pProgrammaticName
;
1134 struct UIAutomationMethodInfo
{
1135 LPCWSTR pProgrammaticName
;
1138 UINT cOutParameters
;
1139 [size_is(cInParameters
+ cOutParameters
)]enum UIAutomationType
*pParameterTypes
;
1140 [size_is(cInParameters
+ cOutParameters
)]LPCWSTR
*pParameterNames
;
1145 uuid(c03a7fe4
-9431-409f
-bed8
-ae7c2299bc8d
),
1146 pointer_default(unique),
1149 interface IUIAutomationPatternInstance
: IUnknown
1151 [local] HRESULT GetProperty
(
1154 [in] enum UIAutomationType type
,
1157 [local] HRESULT CallMethod
(
1159 [in] const struct UIAutomationParameter
*pParams
,
1165 uuid(d97022f3
-a947
-465e-8b2a
-ac4315fa54e8
),
1166 pointer_default(unique),
1169 interface IUIAutomationPatternHandler
: IUnknown
1171 HRESULT CreateClientWrapper
(
1172 [in] IUIAutomationPatternInstance
*pPatternInstance
,
1173 [out] IUnknown
**pClientWrapper
);
1175 [local] HRESULT Dispatch
(
1176 [in] IUnknown
*pTarget
,
1178 [in] const struct UIAutomationParameter
*pParams
,
1182 struct UIAutomationPatternInfo
{
1184 LPCWSTR pProgrammaticName
;
1185 GUID providerInterfaceId
;
1186 GUID clientInterfaceId
;
1188 [size_is(cProperties
)]struct UIAutomationPropertyInfo
*pProperties
;
1190 [size_is(cMethods
)]struct UIAutomationMethodInfo
*pMethods
;
1192 [size_is(cEvents
)]struct UIAutomationEventInfo
*pEvents
;
1193 IUIAutomationPatternHandler
*pPatternHandler
;
1198 uuid(8609c4ec
-4a1a
-4d88
-a357
-5a66e060e1cf
),
1199 pointer_default(unique),
1202 interface IUIAutomationRegistrar
: IUnknown
1204 HRESULT RegisterProperty
(
1205 [in] const struct UIAutomationPropertyInfo
*property
,
1206 [out] PROPERTYID
*propertyId
);
1208 HRESULT RegisterEvent
(
1209 [in] const struct UIAutomationEventInfo
*event
,
1210 [out] EVENTID
*eventId
);
1212 HRESULT RegisterPattern
(
1213 [in] const struct UIAutomationPatternInfo
*pattern
,
1214 [out] PATTERNID
*pPatternId
,
1215 [out] PROPERTYID
*pPatternAvailablePropertyId
,
1216 [in] UINT propertyIdCount
,
1217 [out, size_is(propertyIdCount
)] PROPERTYID
*pPropertyIds
,
1218 [in] UINT eventIdCount
,
1219 [out, size_is(eventIdCount
)] EVENTID
*pEventIds
);
1223 uuid(6e29fabf
-9977-42d1
-8d0e
-ca7e61ad87e6
),
1227 coclass CUIAutomationRegistrar
1229 [default] interface IUIAutomationRegistrar
;