opengl32: Skip debug callback messages called from native thread.
[wine.git] / include / uiautomationcore.idl
blob4f8bc7d526dae9a8303055ce961ad537d7da9151
1 /*
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
19 #define DO_NO_IMPORTS
20 import "oaidl.idl";
21 import "oleacc.idl";
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,
66 enum DockPosition {
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,
82 enum ScrollAmount {
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,
96 enum ToggleState {
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,
127 enum TextUnit {
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,
148 enum LiveSetting {
149 Off = 0x0000,
150 Polite = 0x0001,
151 Assertive = 0x0002,
154 enum ZoomUnit {
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;
180 typedef int EVENTID;
181 typedef int TEXTATTRIBUTEID;
182 typedef int CONTROLTYPEID;
183 typedef int LANDMARKTYPEID;
184 typedef int METADATAID;
185 typedef int HEADINGLEVELID;
187 struct UiaRect {
188 double left;
189 double top;
190 double width;
191 double height;
194 struct UiaPoint {
195 double x;
196 double y;
199 struct UiaChangeInfo {
200 int uiaId;
201 VARIANT payload;
202 VARIANT extraInfo;
206 version(1.0),
207 uuid(930299ce-9965-4dec-b0f4-a54848d4b667),
208 lcid(0),
209 id(3),
210 hidden
212 library UIA
214 importlib("stdole2.tlb");
217 object,
218 uuid(d6dd68d1-86fd-4332-8666-9abedea2d24c),
219 pointer_default(unique),
220 oleautomation
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);
238 object,
239 uuid(a0a839a9-8da1-4a82-806a-8e0d44e79f56),
240 pointer_default(unique),
241 oleautomation
243 interface IRawElementProviderSimple2 : IRawElementProviderSimple
245 HRESULT ShowContextMenu();
249 object,
250 uuid(fcf5d820-d7ec-4613-bdf6-42a84ce7daaf),
251 pointer_default(unique),
252 oleautomation
254 interface IRawElementProviderSimple3 : IRawElementProviderSimple2
256 HRESULT GetMetadataValue(
257 [in] int targetId,
258 [in] METADATAID metadataId,
259 [out, retval] VARIANT *returnVal);
263 object,
264 uuid(f8b80ada-2c44-48d0-89be-5ff23c9cd875),
265 pointer_default(unique),
266 oleautomation
268 interface IAccessibleEx : IUnknown
270 HRESULT GetObjectForChild(
271 [in] long idChild,
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;
289 object,
290 uuid(f7063da8-8359-439c-9297-bbc5299a7d87),
291 pointer_default(unique),
292 oleautomation
294 interface IRawElementProviderFragment : IUnknown
296 HRESULT Navigate(
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);
309 HRESULT SetFocus();
311 [propget] HRESULT FragmentRoot([out, retval] IRawElementProviderFragmentRoot **pRetVal);
315 object,
316 uuid(620ce2a5-ab8f-40a9-86cb-de3c75599b58),
317 pointer_default(unique),
318 oleautomation
320 interface IRawElementProviderFragmentRoot : IUnknown
322 HRESULT ElementProviderFromPoint(
323 [in] double x,
324 [in] double y,
325 [out, retval] IRawElementProviderFragment **pRetVal);
327 HRESULT GetFocus([out, retval] IRawElementProviderFragment **pRetVal);
332 object,
333 uuid(1d5df27c-8947-4425-b8d9-79787bb460b8),
334 pointer_default(unique),
335 oleautomation
337 interface IRawElementProviderHwndOverride : IUnknown
339 HRESULT GetOverrideProviderForHwnd(
340 [in] HWND hwnd,
341 [out, retval] IRawElementProviderSimple **pRetVal);
345 object,
346 uuid(a407b27b-0f6d-4427-9292-473c7bf93258),
347 pointer_default(unique),
348 oleautomation
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);
361 object,
362 uuid(4fd82b78-a43e-46ac-9803-0a6969c7c183),
363 pointer_default(unique),
364 oleautomation
366 interface IProxyProviderWinEventSink : IUnknown
368 HRESULT AddAutomationPropertyChangedEvent(
369 [in] IRawElementProviderSimple *pProvider,
370 [in] PROPERTYID id,
371 [in] VARIANT newValue);
373 HRESULT AddAutomationEvent(
374 [in] IRawElementProviderSimple *pProvider,
375 [in] EVENTID id);
377 HRESULT AddStructureChangedEvent(
378 [in] IRawElementProviderSimple *pProvider,
379 [in] enum StructureChangeType structureChangeType,
380 [in] SAFEARRAY(int) runtimeId);
384 object,
385 uuid(89592ad4-f4e0-43d5-a3b6-bad7e111b435),
386 pointer_default(unique),
387 oleautomation
389 interface IProxyProviderWinEventHandler : IUnknown
391 HRESULT RespondToWinEvent(
392 [in] DWORD idWinEvent,
393 [in] HWND hwnd,
394 [in] LONG idObject,
395 [in] LONG idChild,
396 [in] IProxyProviderWinEventSink *pSink);
400 object,
401 uuid(0a2a93cc-bfad-42ac-9b2e-0991fb0d3ea0),
402 pointer_default(unique),
403 oleautomation
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);
415 object,
416 uuid(33ac331b-943e-4020-b295-db37784974a3),
417 pointer_default(unique),
418 oleautomation
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);
436 object,
437 uuid(24be0b07-d37d-487a-98cf-a13ed465e9b3),
438 pointer_default(unique),
439 oleautomation
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);
453 object,
454 uuid(e44c3566-915d-4070-99c6-047bff5a08f5),
455 pointer_default(unique),
456 oleautomation
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);
484 object,
485 uuid(159bc72c-4ad3-485e-9637-d7052edf0146),
486 pointer_default(unique),
487 oleautomation
489 interface IDockProvider : IUnknown
491 HRESULT SetDockPosition([in] enum DockPosition dockPosition);
492 [propget] HRESULT DockPosition([out, retval] enum DockPosition *pRetVal);
496 object,
497 uuid(d847d3a5-cab0-4a98-8c32-ecb45c59ad24),
498 pointer_default(unique),
499 oleautomation
501 interface IExpandCollapseProvider : IUnknown
503 HRESULT Expand();
504 HRESULT Collapse();
505 [propget] HRESULT ExpandCollapseState([out, retval] enum ExpandCollapseState *pRetVal);
509 object,
510 uuid(b17d6187-0907-464b-a168-0ef17a1572b1),
511 pointer_default(unique),
512 oleautomation
514 interface IGridProvider : IUnknown
516 HRESULT GetItem(
517 [in] int row,
518 [in] int column,
519 [out, retval] IRawElementProviderSimple **pRetVal);
521 [propget] HRESULT RowCount([out, retval] int *pRetVal);
522 [propget] HRESULT ColumnCount([out, retval] int *pRetVal);
526 object,
527 uuid(d02541f1-fb81-4d64-ae32-f520f8a6dbd1),
528 pointer_default(unique),
529 oleautomation
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);
541 object,
542 uuid(54fcb24b-e18e-47a2-b4d3-eccbe77599a2),
543 pointer_default(unique),
544 oleautomation
546 interface IInvokeProvider : IUnknown
548 HRESULT Invoke();
552 object,
553 uuid(6278cab1-b556-4a1a-b4e0-418acc523201),
554 pointer_default(unique),
555 oleautomation
557 interface IMultipleViewProvider : IUnknown
559 HRESULT GetViewName(
560 [in] int viewId,
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);
569 object,
570 uuid(36dc7aef-33e6-4691-afe1-2be7274b3d33),
571 pointer_default(unique),
572 oleautomation
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);
586 object,
587 uuid(2360c714-4bf1-4b26-ba65-9b21316127eb),
588 pointer_default(unique),
589 oleautomation
591 interface IScrollItemProvider : IUnknown
593 HRESULT ScrollIntoView();
597 object,
598 uuid(fb8b03af-3bdf-48d4-bd36-1a65793be168),
599 pointer_default(unique),
600 oleautomation
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);
615 object,
616 uuid(b38b8077-1fc3-42a5-8cae-d40c2215055a),
617 pointer_default(unique),
618 oleautomation
620 interface IScrollProvider : IUnknown
622 HRESULT Scroll(
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);
638 object,
639 uuid(2acad808-b2d4-452d-a407-91ff1ad167b2),
640 pointer_default(unique),
641 oleautomation
643 interface ISelectionItemProvider : IUnknown
645 HRESULT Select();
646 HRESULT AddToSelection();
647 HRESULT RemoveFromSelection();
648 [propget] HRESULT IsSelected([out, retval] BOOL *pRetVal);
649 [propget] HRESULT SelectionContainer([out, retval] IRawElementProviderSimple **pRetVal);
653 object,
654 uuid(29db1a06-02ce-4cf7-9b42-565d4fab20ee),
655 pointer_default(unique),
656 oleautomation
658 interface ISynchronizedInputProvider : IUnknown
660 HRESULT StartListening([in] enum SynchronizedInputType inputType);
661 HRESULT Cancel();
665 object,
666 uuid(9c860395-97b3-490a-b52a-858cc22af166),
667 pointer_default(unique),
668 oleautomation
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);
683 object,
684 uuid(b9734fa6-771f-4d78-9c90-2517999349cd),
685 pointer_default(unique),
686 oleautomation
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);
700 object,
701 uuid(56d00bd0-c4f4-433c-a836-1a52a57e0892),
702 pointer_default(unique),
703 oleautomation
705 interface IToggleProvider : IUnknown
707 HRESULT Toggle();
708 [propget] HRESULT ToggleState([out, retval] enum ToggleState *pRetVal);
712 object,
713 uuid(6829ddc4-4f91-4ffa-b86f-bd3e2987cb4c),
714 pointer_default(unique),
715 oleautomation
717 interface ITransformProvider : IUnknown
719 HRESULT Move(
720 [in] double x,
721 [in] double y);
722 HRESULT Resize(
723 [in] double width,
724 [in] double height);
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);
733 object,
734 uuid(c7935180-6fb3-4201-b174-7df73adbf64a),
735 pointer_default(unique),
736 oleautomation
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);
746 object,
747 uuid(987df77b-db06-4d77-8f8a-86a9c3bb90b9),
748 pointer_default(unique),
749 oleautomation
751 interface IWindowProvider : IUnknown
753 HRESULT SetVisualState([in] enum WindowVisualState state);
754 HRESULT Close();
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);
769 object,
770 uuid(e747770b-39ce-4382-ab30-d8fb3f336f24),
771 pointer_default(unique),
772 oleautomation
774 interface IItemContainerProvider : IUnknown
776 HRESULT FindItemByProperty(
777 [in] IRawElementProviderSimple *pStartAfter,
778 [in] PROPERTYID propertyId,
779 [in] VARIANT value,
780 [out, retval] IRawElementProviderSimple **pFound);
784 object,
785 uuid(cb98b665-2d35-4fac-ad35-f3c60d0c0b8b),
786 pointer_default(unique),
787 oleautomation
789 interface IVirtualizedItemProvider : IUnknown
791 HRESULT Realize();
795 object,
796 uuid(3ad86ebd-f5ef-483d-bb18-b1042a475d64),
797 pointer_default(unique),
798 oleautomation
800 interface IObjectModelProvider : IUnknown
802 HRESULT GetUnderlyingObjectModel([out, retval] IUnknown **ppUnknown);
806 object,
807 uuid(f95c7e80-bd63-4601-9782-445ebff011fc),
808 pointer_default(unique),
809 oleautomation
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);
821 object,
822 uuid(19b6b649-f5d7-4a6d-bdcb-129252be588a),
823 pointer_default(unique),
824 oleautomation
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);
838 object,
839 uuid(6f6b5d35-5525-4f80-b758-85473832ffc7),
840 pointer_default(unique),
841 oleautomation
843 interface ISpreadsheetProvider : IUnknown
845 HRESULT GetItemByName(
846 [in] LPCWSTR name,
847 [out, retval] IRawElementProviderSimple **pRetVal);
851 object,
852 uuid(eaed4660-7b3d-4879-a2e6-365ce603f3d0),
853 pointer_default(unique),
854 oleautomation
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);
870 object,
871 uuid(4758742f-7ac2-460c-bc48-09fc09308a93),
872 pointer_default(unique),
873 oleautomation
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);
886 object,
887 uuid(6aa7bbbb-7ff9-497d-904f-d20b897929d8),
888 pointer_default(unique),
889 oleautomation
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);
906 object,
907 uuid(bae82bfd-358a-481c-85a0-d8b4d90a5d61),
908 pointer_default(unique),
909 oleautomation
911 interface IDropTargetProvider : IUnknown
913 [propget] HRESULT DropTargetEffect([out, retval] BSTR *pRetVal);
914 [propget] HRESULT DropTargetEffects([out, retval] SAFEARRAY(BSTR) *pRetVal);
917 interface ITextRangeProvider;
919 object,
920 uuid(3589c92c-63f3-4367-99bb-ada653b77cf2),
921 pointer_default(unique),
922 oleautomation
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);
946 object,
947 uuid(0dc5e6ed-3e16-4bf1-8f9a-a979878bc195),
948 pointer_default(unique),
949 oleautomation
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);
962 object,
963 uuid(ea3605b4-3a05-400e-b5f9-4e91b40f6176),
964 pointer_default(unique),
965 oleautomation
967 interface ITextEditProvider : ITextProvider
969 HRESULT GetActiveComposition([out, retval] ITextRangeProvider **pRetVal);
970 HRESULT GetConversionTarget([out, retval] ITextRangeProvider **pRetVal);
974 object,
975 uuid(5347ad7b-c355-46f8-aff5-909033582f63),
976 pointer_default(unique),
977 oleautomation
979 interface ITextRangeProvider : IUnknown
981 HRESULT Clone([out, retval] ITextRangeProvider **pRetVal);
983 HRESULT Compare(
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,
996 [in] VARIANT val,
997 [in] BOOL backward,
998 [out, retval] ITextRangeProvider **pRetVal);
999 HRESULT FindText(
1000 [in] BSTR text,
1001 [in] BOOL backward,
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);
1012 HRESULT GetText(
1013 [in] int maxLength,
1014 [out, retval] BSTR *pRetVal);
1016 HRESULT Move(
1017 [in] enum TextUnit unit,
1018 [in] int count,
1019 [out, retval] int *pRetVal);
1020 HRESULT MoveEndpointByUnit(
1021 [in] enum TextPatternRangeEndpoint endpoint,
1022 [in] enum TextUnit unit,
1023 [in] int count,
1024 [out, retval] int *pRetVal);
1025 HRESULT MoveEndpointByRange(
1026 [in] enum TextPatternRangeEndpoint endpoint,
1027 [in] ITextRangeProvider *targetRange,
1028 [in] enum TextPatternRangeEndpoint targetEndpoint);
1030 HRESULT Select();
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);
1044 object,
1045 uuid(9bbce42c-1921-4f18-89ca-dba1910a0386),
1046 pointer_default(unique),
1047 oleautomation
1049 interface ITextRangeProvider2 : ITextRangeProvider
1051 HRESULT ShowContextMenu();
1055 object,
1056 uuid(4c2de2b9-c88f-4f88-a111-f1d336b7d1a9),
1057 pointer_default(unique),
1058 oleautomation
1060 interface ITextChildProvider : IUnknown
1062 [propget] HRESULT TextContainer([out, retval] IRawElementProviderSimple **pRetVal);
1063 [propget] HRESULT TextRange([out, retval] ITextRangeProvider **pRetVal);
1067 object,
1068 uuid(2062a28a-8c07-4b94-8e12-7037c622aeb8),
1069 pointer_default(unique),
1070 oleautomation
1072 interface ICustomNavigationProvider : IUnknown
1074 HRESULT Navigate(
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;
1120 void *pData;
1123 struct UIAutomationPropertyInfo {
1124 GUID guid;
1125 LPCWSTR pProgrammaticName;
1126 enum UIAutomationType type;
1129 struct UIAutomationEventInfo {
1130 GUID guid;
1131 LPCWSTR pProgrammaticName;
1134 struct UIAutomationMethodInfo {
1135 LPCWSTR pProgrammaticName;
1136 BOOL doSetFocus;
1137 UINT cInParameters;
1138 UINT cOutParameters;
1139 [size_is(cInParameters + cOutParameters)]enum UIAutomationType *pParameterTypes;
1140 [size_is(cInParameters + cOutParameters)]LPCWSTR *pParameterNames;
1144 object,
1145 uuid(c03a7fe4-9431-409f-bed8-ae7c2299bc8d),
1146 pointer_default(unique),
1147 oleautomation
1149 interface IUIAutomationPatternInstance : IUnknown
1151 [local] HRESULT GetProperty(
1152 [in] UINT index,
1153 [in] BOOL cached,
1154 [in] enum UIAutomationType type,
1155 [out] void *pPtr);
1157 [local] HRESULT CallMethod(
1158 [in] UINT index,
1159 [in] const struct UIAutomationParameter *pParams,
1160 [in] UINT cParams);
1164 object,
1165 uuid(d97022f3-a947-465e-8b2a-ac4315fa54e8),
1166 pointer_default(unique),
1167 oleautomation
1169 interface IUIAutomationPatternHandler : IUnknown
1171 HRESULT CreateClientWrapper(
1172 [in] IUIAutomationPatternInstance *pPatternInstance,
1173 [out] IUnknown **pClientWrapper);
1175 [local] HRESULT Dispatch(
1176 [in] IUnknown *pTarget,
1177 [in] UINT index,
1178 [in] const struct UIAutomationParameter *pParams,
1179 [in] UINT cParams);
1182 struct UIAutomationPatternInfo {
1183 GUID guid;
1184 LPCWSTR pProgrammaticName;
1185 GUID providerInterfaceId;
1186 GUID clientInterfaceId;
1187 UINT cProperties;
1188 [size_is(cProperties)]struct UIAutomationPropertyInfo *pProperties;
1189 UINT cMethods;
1190 [size_is(cMethods)]struct UIAutomationMethodInfo *pMethods;
1191 UINT cEvents;
1192 [size_is(cEvents)]struct UIAutomationEventInfo *pEvents;
1193 IUIAutomationPatternHandler *pPatternHandler;
1197 object,
1198 uuid(8609c4ec-4a1a-4d88-a357-5a66e060e1cf),
1199 pointer_default(unique),
1200 oleautomation
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),
1224 version(1.0),
1225 threading(both)
1227 coclass CUIAutomationRegistrar
1229 [default] interface IUIAutomationRegistrar;