wldap32: Implement ldap_connect.
[wine.git] / include / uiautomationcore.idl
blob319bc7be475fb0f76e54aef4fb007243ed013f9e
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(f8b80ada-2c44-48d0-89be-5ff23c9cd875),
240 pointer_default(unique),
241 oleautomation
243 interface IAccessibleEx : IUnknown
245 HRESULT GetObjectForChild(
246 [in] long idChild,
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;
264 object,
265 uuid(f7063da8-8359-439c-9297-bbc5299a7d87),
266 pointer_default(unique),
267 oleautomation
269 interface IRawElementProviderFragment : IUnknown
271 HRESULT Navigate(
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);
284 HRESULT SetFocus();
286 [propget] HRESULT FragmentRoot([out, retval] IRawElementProviderFragmentRoot **pRetVal);
290 object,
291 uuid(620ce2a5-ab8f-40a9-86cb-de3c75599b58),
292 pointer_default(unique),
293 oleautomation
295 interface IRawElementProviderFragmentRoot : IUnknown
297 HRESULT ElementProviderFromPoint(
298 [in] double x,
299 [in] double y,
300 [out, retval] IRawElementProviderFragment **pRetVal);
302 HRESULT GetFocus([out, retval] IRawElementProviderFragment **pRetVal);
307 object,
308 uuid(1d5df27c-8947-4425-b8d9-79787bb460b8),
309 pointer_default(unique),
310 oleautomation
312 interface IRawElementProviderHwndOverride : IUnknown
314 HRESULT GetOverrideProviderForHwnd(
315 [in] HWND hwnd,
316 [out, retval] IRawElementProviderSimple **pRetVal);
320 object,
321 uuid(e44c3566-915d-4070-99c6-047bff5a08f5),
322 pointer_default(unique),
323 oleautomation
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);
351 object,
352 uuid(159bc72c-4ad3-485e-9637-d7052edf0146),
353 pointer_default(unique),
354 oleautomation
356 interface IDockProvider : IUnknown
358 HRESULT SetDockPosition([in] enum DockPosition dockPosition);
359 [propget] HRESULT DockPosition([out, retval] enum DockPosition *pRetVal);
363 object,
364 uuid(d847d3a5-cab0-4a98-8c32-ecb45c59ad24),
365 pointer_default(unique),
366 oleautomation
368 interface IExpandCollapseProvider : IUnknown
370 HRESULT Expand();
371 HRESULT Collapse();
372 [propget] HRESULT ExpandCollapseState([out, retval] enum ExpandCollapseState *pRetVal);
376 object,
377 uuid(b17d6187-0907-464b-a168-0ef17a1572b1),
378 pointer_default(unique),
379 oleautomation
381 interface IGridProvider : IUnknown
383 HRESULT GetItem(
384 [in] int row,
385 [in] int column,
386 [out, retval] IRawElementProviderSimple **pRetVal);
388 [propget] HRESULT RowCount([out, retval] int *pRetVal);
389 [propget] HRESULT ColumnCount([out, retval] int *pRetVal);
393 object,
394 uuid(d02541f1-fb81-4d64-ae32-f520f8a6dbd1),
395 pointer_default(unique),
396 oleautomation
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);
408 object,
409 uuid(54fcb24b-e18e-47a2-b4d3-eccbe77599a2),
410 pointer_default(unique),
411 oleautomation
413 interface IInvokeProvider : IUnknown
415 HRESULT Invoke();
419 object,
420 uuid(6278cab1-b556-4a1a-b4e0-418acc523201),
421 pointer_default(unique),
422 oleautomation
424 interface IMultipleViewProvider : IUnknown
426 HRESULT GetViewName(
427 [in] int viewId,
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);
436 object,
437 uuid(36dc7aef-33e6-4691-afe1-2be7274b3d33),
438 pointer_default(unique),
439 oleautomation
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);
453 object,
454 uuid(2360c714-4bf1-4b26-ba65-9b21316127eb),
455 pointer_default(unique),
456 oleautomation
458 interface IScrollItemProvider : IUnknown
460 HRESULT ScrollIntoView();
464 object,
465 uuid(fb8b03af-3bdf-48d4-bd36-1a65793be168),
466 pointer_default(unique),
467 oleautomation
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);
482 object,
483 uuid(b38b8077-1fc3-42a5-8cae-d40c2215055a),
484 pointer_default(unique),
485 oleautomation
487 interface IScrollProvider : IUnknown
489 HRESULT Scroll(
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);
505 object,
506 uuid(2acad808-b2d4-452d-a407-91ff1ad167b2),
507 pointer_default(unique),
508 oleautomation
510 interface ISelectionItemProvider : IUnknown
512 HRESULT Select();
513 HRESULT AddToSelection();
514 HRESULT RemoveFromSelection();
515 [propget] HRESULT IsSelected([out, retval] BOOL *pRetVal);
516 [propget] HRESULT SelectionContainer([out, retval] IRawElementProviderSimple **pRetVal);
520 object,
521 uuid(29db1a06-02ce-4cf7-9b42-565d4fab20ee),
522 pointer_default(unique),
523 oleautomation
525 interface ISynchronizedInputProvider : IUnknown
527 HRESULT StartListening([in] enum SynchronizedInputType inputType);
528 HRESULT Cancel();
532 object,
533 uuid(9c860395-97b3-490a-b52a-858cc22af166),
534 pointer_default(unique),
535 oleautomation
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);
550 object,
551 uuid(b9734fa6-771f-4d78-9c90-2517999349cd),
552 pointer_default(unique),
553 oleautomation
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);
567 object,
568 uuid(56d00bd0-c4f4-433c-a836-1a52a57e0892),
569 pointer_default(unique),
570 oleautomation
572 interface IToggleProvider : IUnknown
574 HRESULT Toggle();
575 [propget] HRESULT ToggleState([out, retval] enum ToggleState *pRetVal);
579 object,
580 uuid(6829ddc4-4f91-4ffa-b86f-bd3e2987cb4c),
581 pointer_default(unique),
582 oleautomation
584 interface ITransformProvider : IUnknown
586 HRESULT Move(
587 [in] double x,
588 [in] double y);
589 HRESULT Resize(
590 [in] double width,
591 [in] double height);
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);
600 object,
601 uuid(c7935180-6fb3-4201-b174-7df73adbf64a),
602 pointer_default(unique),
603 oleautomation
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);
613 object,
614 uuid(987df77b-db06-4d77-8f8a-86a9c3bb90b9),
615 pointer_default(unique),
616 oleautomation
618 interface IWindowProvider : IUnknown
620 HRESULT SetVisualState([in] enum WindowVisualState state);
621 HRESULT Close();
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);
636 object,
637 uuid(e747770b-39ce-4382-ab30-d8fb3f336f24),
638 pointer_default(unique),
639 oleautomation
641 interface IItemContainerProvider : IUnknown
643 HRESULT FindItemByProperty(
644 [in] IRawElementProviderSimple *pStartAfter,
645 [in] PROPERTYID propertyId,
646 [in] VARIANT value,
647 [out, retval] IRawElementProviderSimple **pFound);
651 object,
652 uuid(cb98b665-2d35-4fac-ad35-f3c60d0c0b8b),
653 pointer_default(unique),
654 oleautomation
656 interface IVirtualizedItemProvider : IUnknown
658 HRESULT Realize();
662 object,
663 uuid(3ad86ebd-f5ef-483d-bb18-b1042a475d64),
664 pointer_default(unique),
665 oleautomation
667 interface IObjectModelProvider : IUnknown
669 HRESULT GetUnderlyingObjectModel([out, retval] IUnknown **ppUnknown);
673 object,
674 uuid(f95c7e80-bd63-4601-9782-445ebff011fc),
675 pointer_default(unique),
676 oleautomation
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);
688 object,
689 uuid(19b6b649-f5d7-4a6d-bdcb-129252be588a),
690 pointer_default(unique),
691 oleautomation
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);
705 object,
706 uuid(6f6b5d35-5525-4f80-b758-85473832ffc7),
707 pointer_default(unique),
708 oleautomation
710 interface ISpreadsheetProvider : IUnknown
712 HRESULT GetItemByName(
713 [in] LPCWSTR name,
714 [out, retval] IRawElementProviderSimple **pRetVal);
718 object,
719 uuid(eaed4660-7b3d-4879-a2e6-365ce603f3d0),
720 pointer_default(unique),
721 oleautomation
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);
737 object,
738 uuid(4758742f-7ac2-460c-bc48-09fc09308a93),
739 pointer_default(unique),
740 oleautomation
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);
753 object,
754 uuid(6aa7bbbb-7ff9-497d-904f-d20b897929d8),
755 pointer_default(unique),
756 oleautomation
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);
773 object,
774 uuid(bae82bfd-358a-481c-85a0-d8b4d90a5d61),
775 pointer_default(unique),
776 oleautomation
778 interface IDropTargetProvider : IUnknown
780 [propget] HRESULT DropTargetEffect([out, retval] BSTR *pRetVal);
781 [propget] HRESULT DropTargetEffects([out, retval] SAFEARRAY(BSTR) *pRetVal);
784 interface ITextRangeProvider;
786 object,
787 uuid(3589c92c-63f3-4367-99bb-ada653b77cf2),
788 pointer_default(unique),
789 oleautomation
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);
813 object,
814 uuid(0dc5e6ed-3e16-4bf1-8f9a-a979878bc195),
815 pointer_default(unique),
816 oleautomation
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);
829 object,
830 uuid(ea3605b4-3a05-400e-b5f9-4e91b40f6176),
831 pointer_default(unique),
832 oleautomation
834 interface ITextEditProvider : ITextProvider
836 HRESULT GetActiveComposition([out, retval] ITextRangeProvider **pRetVal);
837 HRESULT GetConversionTarget([out, retval] ITextRangeProvider **pRetVal);
841 object,
842 uuid(5347ad7b-c355-46f8-aff5-909033582f63),
843 pointer_default(unique),
844 oleautomation
846 interface ITextRangeProvider : IUnknown
848 HRESULT Clone([out, retval] ITextRangeProvider **pRetVal);
850 HRESULT Compare(
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,
863 [in] VARIANT val,
864 [in] BOOL backward,
865 [out, retval] ITextRangeProvider **pRetVal);
866 HRESULT FindText(
867 [in] BSTR text,
868 [in] BOOL backward,
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);
879 HRESULT GetText(
880 [in] int maxLength,
881 [out, retval] BSTR *pRetVal);
883 HRESULT Move(
884 [in] enum TextUnit unit,
885 [in] int count,
886 [out, retval] int *pRetVal);
887 HRESULT MoveEndpointByUnit(
888 [in] enum TextPatternRangeEndpoint endpoint,
889 [in] enum TextUnit unit,
890 [in] int count,
891 [out, retval] int *pRetVal);
892 HRESULT MoveEndpointByRange(
893 [in] enum TextPatternRangeEndpoint endpoint,
894 [in] ITextRangeProvider *targetRange,
895 [in] enum TextPatternRangeEndpoint targetEndpoint);
897 HRESULT Select();
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);
911 object,
912 uuid(9bbce42c-1921-4f18-89ca-dba1910a0386),
913 pointer_default(unique),
914 oleautomation
916 interface ITextRangeProvider2 : ITextRangeProvider
918 HRESULT ShowContextMenu();
922 object,
923 uuid(4c2de2b9-c88f-4f88-a111-f1d336b7d1a9),
924 pointer_default(unique),
925 oleautomation
927 interface ITextChildProvider : IUnknown
929 [propget] HRESULT TextContainer([out, retval] IRawElementProviderSimple **pRetVal);
930 [propget] HRESULT TextRange([out, retval] ITextRangeProvider **pRetVal);
934 object,
935 uuid(2062a28a-8c07-4b94-8e12-7037c622aeb8),
936 pointer_default(unique),
937 oleautomation
939 interface ICustomNavigationProvider : IUnknown
941 HRESULT Navigate(
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;
987 void *pData;
990 struct UIAutomationPropertyInfo {
991 GUID guid;
992 LPCWSTR pProgrammaticName;
993 enum UIAutomationType type;
996 struct UIAutomationEventInfo {
997 GUID guid;
998 LPCWSTR pProgrammaticName;
1001 struct UIAutomationMethodInfo {
1002 LPCWSTR pProgrammaticName;
1003 BOOL doSetFocus;
1004 UINT cInParameters;
1005 UINT cOutParameters;
1006 [size_is(cInParameters + cOutParameters)]enum UIAutomationType *pParameterTypes;
1007 [size_is(cInParameters + cOutParameters)]LPCWSTR *pParameterNames;
1011 object,
1012 uuid(c03a7fe4-9431-409f-bed8-ae7c2299bc8d),
1013 pointer_default(unique),
1014 oleautomation
1016 interface IUIAutomationPatternInstance : IUnknown
1018 [local] HRESULT GetProperty(
1019 [in] UINT index,
1020 [in] BOOL cached,
1021 [in] enum UIAutomationType type,
1022 [out] void *pPtr);
1024 [local] HRESULT CallMethod(
1025 [in] UINT index,
1026 [in] const struct UIAutomationParameter *pParams,
1027 [in] UINT cParams);
1031 object,
1032 uuid(d97022f3-a947-465e-8b2a-ac4315fa54e8),
1033 pointer_default(unique),
1034 oleautomation
1036 interface IUIAutomationPatternHandler : IUnknown
1038 HRESULT CreateClientWrapper(
1039 [in] IUIAutomationPatternInstance *pPatternInstance,
1040 [out] IUnknown **pClientWrapper);
1042 [local] HRESULT Dispatch(
1043 [in] IUnknown *pTarget,
1044 [in] UINT index,
1045 [in] const struct UIAutomationParameter *pParams,
1046 [in] UINT cParams);
1049 struct UIAutomationPatternInfo {
1050 GUID guid;
1051 LPCWSTR pProgrammaticName;
1052 GUID providerInterfaceId;
1053 GUID clientInterfaceId;
1054 UINT cProperties;
1055 [size_is(cProperties)]struct UIAutomationPropertyInfo *pProperties;
1056 UINT cMethods;
1057 [size_is(cMethods)]struct UIAutomationMethodInfo *pMethods;
1058 UINT cEvents;
1059 [size_is(cEvents)]struct UIAutomationEventInfo *pEvents;
1060 IUIAutomationPatternHandler *pPatternHandler;
1064 object,
1065 uuid(8609c4ec-4a1a-4d88-a357-5a66e060e1cf),
1066 pointer_default(unique),
1067 oleautomation
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),
1091 version(1.0),
1092 threading(both)
1094 coclass CUIAutomationRegistrar
1096 [default] interface IUIAutomationRegistrar;