winapi_ui_automation/um/
uiautomationcoreapi.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6//! Mappings for the contents of UIAutomationCoreApi.h
7use ctypes::{c_double, c_int, c_long};
8use shared::guiddef::GUID;
9use shared::minwindef::{BOOL, DWORD, LPARAM, LRESULT, WPARAM};
10use shared::windef::HWND;
11use shared::winerror::HRESULT;
12use shared::wtypes::BSTR;
13use um::oaidl::{SAFEARRAY, VARIANT};
14use um::oleacc::IAccessible;
15#[cfg(feature = "uiautomationclient")]
16use um::uiautomationclient::{AutomationElementMode, PropertyConditionFlags};
17use um::uiautomationcore::{
18    DockPosition, EVENTID, IRawElementProviderSimple, ITextRangeProvider, NavigateDirection,
19    NotificationKind, NotificationProcessing, PATTERNID, PROPERTYID, ScrollAmount,
20    StructureChangeType, SupportedTextSelection, SynchronizedInputType, TEXTATTRIBUTEID,
21    TextEditChangeType, TextPatternRangeEndpoint, TextUnit, UiaChangeInfo, UiaPoint, UiaRect,
22    WindowVisualState
23};
24use um::unknwnbase::IUnknown;
25use um::winnt::LPCWSTR;
26pub const UIA_E_ELEMENTNOTENABLED: HRESULT = 0x80040200;
27pub const UIA_E_ELEMENTNOTAVAILABLE: HRESULT = 0x80040201;
28pub const UIA_E_NOCLICKABLEPOINT: HRESULT = 0x80040202;
29pub const UIA_E_PROXYASSEMBLYNOTLOADED: HRESULT = 0x80040203;
30pub const UIA_E_NOTSUPPORTED: HRESULT = 0x80040204;
31pub const UIA_E_INVALIDOPERATION: HRESULT = 0x80131509;
32pub const UIA_E_TIMEOUT: HRESULT = 0x80131505;
33pub const UiaAppendRuntimeId: c_int = 3;
34pub const UiaRootObjectId: c_int = -25;
35DECLARE_HANDLE!{HUIANODE, HUIANODE__}
36DECLARE_HANDLE!{HUIAPATTERNOBJECT, HUIAPATTERNOBJECT__}
37DECLARE_HANDLE!{HUIATEXTRANGE, HUIATEXTRANGE__}
38DECLARE_HANDLE!{HUIAEVENT, HUIAEVENT__}
39ENUM!{enum TreeScope {
40    TreeScope_None = 0x0,
41    TreeScope_Element = 0x1,
42    TreeScope_Children = 0x2,
43    TreeScope_Descendants = 0x4,
44    TreeScope_Parent = 0x8,
45    TreeScope_Ancestors = 0x10,
46    TreeScope_Subtree = TreeScope_Element | TreeScope_Children | TreeScope_Descendants,
47}}
48DEFINE_GUID!{RuntimeId_Property_GUID,
49    0xa39eebfa, 0x7fba, 0x4c89, 0xb4, 0xd4, 0xb9, 0x9e, 0x2d, 0xe7, 0xd1, 0x60}
50DEFINE_GUID!{BoundingRectangle_Property_GUID,
51    0x7bbfe8b2, 0x3bfc, 0x48dd, 0xb7, 0x29, 0xc7, 0x94, 0xb8, 0x46, 0xe9, 0xa1}
52DEFINE_GUID!{ProcessId_Property_GUID,
53    0x40499998, 0x9c31, 0x4245, 0xa4, 0x03, 0x87, 0x32, 0x0e, 0x59, 0xea, 0xf6}
54DEFINE_GUID!{ControlType_Property_GUID,
55    0xca774fea, 0x28ac, 0x4bc2, 0x94, 0xca, 0xac, 0xec, 0x6d, 0x6c, 0x10, 0xa3}
56DEFINE_GUID!{LocalizedControlType_Property_GUID,
57    0x8763404f, 0xa1bd, 0x452a, 0x89, 0xc4, 0x3f, 0x01, 0xd3, 0x83, 0x38, 0x06}
58DEFINE_GUID!{Name_Property_GUID,
59    0xc3a6921b, 0x4a99, 0x44f1, 0xbc, 0xa6, 0x61, 0x18, 0x70, 0x52, 0xc4, 0x31}
60DEFINE_GUID!{AcceleratorKey_Property_GUID,
61    0x514865df, 0x2557, 0x4cb9, 0xae, 0xed, 0x6c, 0xed, 0x08, 0x4c, 0xe5, 0x2c}
62DEFINE_GUID!{AccessKey_Property_GUID,
63    0x06827b12, 0xa7f9, 0x4a15, 0x91, 0x7c, 0xff, 0xa5, 0xad, 0x3e, 0xb0, 0xa7}
64DEFINE_GUID!{HasKeyboardFocus_Property_GUID,
65    0xcf8afd39, 0x3f46, 0x4800, 0x96, 0x56, 0xb2, 0xbf, 0x12, 0x52, 0x99, 0x05}
66DEFINE_GUID!{IsKeyboardFocusable_Property_GUID,
67    0xf7b8552a, 0x0859, 0x4b37, 0xb9, 0xcb, 0x51, 0xe7, 0x20, 0x92, 0xf2, 0x9f}
68DEFINE_GUID!{IsEnabled_Property_GUID,
69    0x2109427f, 0xda60, 0x4fed, 0xbf, 0x1b, 0x26, 0x4b, 0xdc, 0xe6, 0xeb, 0x3a}
70DEFINE_GUID!{AutomationId_Property_GUID,
71    0xc82c0500, 0xb60e, 0x4310, 0xa2, 0x67, 0x30, 0x3c, 0x53, 0x1f, 0x8e, 0xe5}
72DEFINE_GUID!{ClassName_Property_GUID,
73    0x157b7215, 0x894f, 0x4b65, 0x84, 0xe2, 0xaa, 0xc0, 0xda, 0x08, 0xb1, 0x6b}
74DEFINE_GUID!{HelpText_Property_GUID,
75    0x08555685, 0x0977, 0x45c7, 0xa7, 0xa6, 0xab, 0xaf, 0x56, 0x84, 0x12, 0x1a}
76DEFINE_GUID!{ClickablePoint_Property_GUID,
77    0x0196903b, 0xb203, 0x4818, 0xa9, 0xf3, 0xf0, 0x8e, 0x67, 0x5f, 0x23, 0x41}
78DEFINE_GUID!{Culture_Property_GUID,
79    0xe2d74f27, 0x3d79, 0x4dc2, 0xb8, 0x8b, 0x30, 0x44, 0x96, 0x3a, 0x8a, 0xfb}
80DEFINE_GUID!{IsControlElement_Property_GUID,
81    0x95f35085, 0xabcc, 0x4afd, 0xa5, 0xf4, 0xdb, 0xb4, 0x6c, 0x23, 0x0f, 0xdb}
82DEFINE_GUID!{IsContentElement_Property_GUID,
83    0x4bda64a8, 0xf5d8, 0x480b, 0x81, 0x55, 0xef, 0x2e, 0x89, 0xad, 0xb6, 0x72}
84DEFINE_GUID!{LabeledBy_Property_GUID,
85    0xe5b8924b, 0xfc8a, 0x4a35, 0x80, 0x31, 0xcf, 0x78, 0xac, 0x43, 0xe5, 0x5e}
86DEFINE_GUID!{IsPassword_Property_GUID,
87    0xe8482eb1, 0x687c, 0x497b, 0xbe, 0xbc, 0x03, 0xbe, 0x53, 0xec, 0x14, 0x54}
88DEFINE_GUID!{NewNativeWindowHandle_Property_GUID,
89    0x5196b33b, 0x380a, 0x4982, 0x95, 0xe1, 0x91, 0xf3, 0xef, 0x60, 0xe0, 0x24}
90DEFINE_GUID!{ItemType_Property_GUID,
91    0xcdda434d, 0x6222, 0x413b, 0xa6, 0x8a, 0x32, 0x5d, 0xd1, 0xd4, 0x0f, 0x39}
92DEFINE_GUID!{IsOffscreen_Property_GUID,
93    0x03c3d160, 0xdb79, 0x42db, 0xa2, 0xef, 0x1c, 0x23, 0x1e, 0xed, 0xe5, 0x07}
94DEFINE_GUID!{Orientation_Property_GUID,
95    0xa01eee62, 0x3884, 0x4415, 0x88, 0x7e, 0x67, 0x8e, 0xc2, 0x1e, 0x39, 0xba}
96DEFINE_GUID!{FrameworkId_Property_GUID,
97    0xdbfd9900, 0x7e1a, 0x4f58, 0xb6, 0x1b, 0x70, 0x63, 0x12, 0x0f, 0x77, 0x3b}
98DEFINE_GUID!{IsRequiredForForm_Property_GUID,
99    0x4f5f43cf, 0x59fb, 0x4bde, 0xa2, 0x70, 0x60, 0x2e, 0x5e, 0x11, 0x41, 0xe9}
100DEFINE_GUID!{ItemStatus_Property_GUID,
101    0x51de0321, 0x3973, 0x43e7, 0x89, 0x13, 0x0b, 0x08, 0xe8, 0x13, 0xc3, 0x7f}
102DEFINE_GUID!{AriaRole_Property_GUID,
103    0xdd207b95, 0xbe4a, 0x4e0d, 0xb7, 0x27, 0x63, 0xac, 0xe9, 0x4b, 0x69, 0x16}
104DEFINE_GUID!{AriaProperties_Property_GUID,
105   0x4213678c, 0xe025, 0x4922, 0xbe, 0xb5, 0xe4, 0x3b, 0xa0, 0x8e, 0x62, 0x21}
106DEFINE_GUID!{IsDataValidForForm_Property_GUID,
107    0x445ac684, 0xc3fc, 0x4dd9, 0xac, 0xf8, 0x84, 0x5a, 0x57, 0x92, 0x96, 0xba}
108DEFINE_GUID!{ControllerFor_Property_GUID,
109    0x51124c8a, 0xa5d2, 0x4f13, 0x9b, 0xe6, 0x7f, 0xa8, 0xba, 0x9d, 0x3a, 0x90}
110DEFINE_GUID!{DescribedBy_Property_GUID,
111    0x7c5865b8, 0x9992, 0x40fd, 0x8d, 0xb0, 0x6b, 0xf1, 0xd3, 0x17, 0xf9, 0x98}
112DEFINE_GUID!{FlowsTo_Property_GUID,
113    0xe4f33d20, 0x559a, 0x47fb, 0xa8, 0x30, 0xf9, 0xcb, 0x4f, 0xf1, 0xa7, 0x0a}
114DEFINE_GUID!{ProviderDescription_Property_GUID,
115    0xdca5708a, 0xc16b, 0x4cd9, 0xb8, 0x89, 0xbe, 0xb1, 0x6a, 0x80, 0x49, 0x04}
116DEFINE_GUID!{OptimizeForVisualContent_Property_GUID,
117    0x6a852250, 0xc75a, 0x4e5d, 0xb8, 0x58, 0xe3, 0x81, 0xb0, 0xf7, 0x88, 0x61}
118DEFINE_GUID!{IsDockPatternAvailable_Property_GUID,
119    0x2600a4c4, 0x2ff8, 0x4c96, 0xae, 0x31, 0x8f, 0xe6, 0x19, 0xa1, 0x3c, 0x6c}
120DEFINE_GUID!{IsExpandCollapsePatternAvailable_Property_GUID,
121    0x929d3806, 0x5287, 0x4725, 0xaa, 0x16, 0x22, 0x2a, 0xfc, 0x63, 0xd5, 0x95}
122DEFINE_GUID!{IsGridItemPatternAvailable_Property_GUID,
123    0x5a43e524, 0xf9a2, 0x4b12, 0x84, 0xc8, 0xb4, 0x8a, 0x3e, 0xfe, 0xdd, 0x34}
124DEFINE_GUID!{IsGridPatternAvailable_Property_GUID,
125    0x5622c26c, 0xf0ef, 0x4f3b, 0x97, 0xcb, 0x71, 0x4c, 0x08, 0x68, 0x58, 0x8b}
126DEFINE_GUID!{IsInvokePatternAvailable_Property_GUID,
127    0x4e725738, 0x8364, 0x4679, 0xaa, 0x6c, 0xf3, 0xf4, 0x19, 0x31, 0xf7, 0x50}
128DEFINE_GUID!{IsMultipleViewPatternAvailable_Property_GUID,
129    0xff0a31eb, 0x8e25, 0x469d, 0x8d, 0x6e, 0xe7, 0x71, 0xa2, 0x7c, 0x1b, 0x90}
130DEFINE_GUID!{IsRangeValuePatternAvailable_Property_GUID,
131    0xfda4244a, 0xeb4d, 0x43ff, 0xb5, 0xad, 0xed, 0x36, 0xd3, 0x73, 0xec, 0x4c}
132DEFINE_GUID!{IsScrollPatternAvailable_Property_GUID,
133    0x3ebb7b4a, 0x828a, 0x4b57, 0x9d, 0x22, 0x2f, 0xea, 0x16, 0x32, 0xed, 0x0d}
134DEFINE_GUID!{IsScrollItemPatternAvailable_Property_GUID,
135    0x1cad1a05, 0x0927, 0x4b76, 0x97, 0xe1, 0x0f, 0xcd, 0xb2, 0x09, 0xb9, 0x8a}
136DEFINE_GUID!{IsSelectionItemPatternAvailable_Property_GUID,
137    0x8becd62d, 0x0bc3, 0x4109, 0xbe, 0xe2, 0x8e, 0x67, 0x15, 0x29, 0x0e, 0x68}
138DEFINE_GUID!{IsSelectionPatternAvailable_Property_GUID,
139    0xf588acbe, 0xc769, 0x4838, 0x9a, 0x60, 0x26, 0x86, 0xdc, 0x11, 0x88, 0xc4}
140DEFINE_GUID!{IsTablePatternAvailable_Property_GUID,
141    0xcb83575f, 0x45c2, 0x4048, 0x9c, 0x76, 0x15, 0x97, 0x15, 0xa1, 0x39, 0xdf}
142DEFINE_GUID!{IsTableItemPatternAvailable_Property_GUID,
143    0xeb36b40d, 0x8ea4, 0x489b, 0xa0, 0x13, 0xe6, 0x0d, 0x59, 0x51, 0xfe, 0x34}
144DEFINE_GUID!{IsTextPatternAvailable_Property_GUID,
145    0xfbe2d69d, 0xaff6, 0x4a45, 0x82, 0xe2, 0xfc, 0x92, 0xa8, 0x2f, 0x59, 0x17}
146DEFINE_GUID!{IsTogglePatternAvailable_Property_GUID,
147    0x78686d53, 0xfcd0, 0x4b83, 0x9b, 0x78, 0x58, 0x32, 0xce, 0x63, 0xbb, 0x5b}
148DEFINE_GUID!{IsTransformPatternAvailable_Property_GUID,
149    0xa7f78804, 0xd68b, 0x4077, 0xa5, 0xc6, 0x7a, 0x5e, 0xa1, 0xac, 0x31, 0xc5}
150DEFINE_GUID!{IsValuePatternAvailable_Property_GUID,
151    0x0b5020a7, 0x2119, 0x473b, 0xbe, 0x37, 0x5c, 0xeb, 0x98, 0xbb, 0xfb, 0x22}
152DEFINE_GUID!{IsWindowPatternAvailable_Property_GUID,
153    0xe7a57bb1, 0x5888, 0x4155, 0x98, 0xdc, 0xb4, 0x22, 0xfd, 0x57, 0xf2, 0xbc}
154DEFINE_GUID!{IsLegacyIAccessiblePatternAvailable_Property_GUID,
155    0xd8ebd0c7, 0x929a, 0x4ee7, 0x8d, 0x3a, 0xd3, 0xd9, 0x44, 0x13, 0x02, 0x7b}
156DEFINE_GUID!{IsItemContainerPatternAvailable_Property_GUID,
157    0x624b5ca7, 0xfe40, 0x4957, 0xa0, 0x19, 0x20, 0xc4, 0xcf, 0x11, 0x92, 0x0f}
158DEFINE_GUID!{IsVirtualizedItemPatternAvailable_Property_GUID,
159    0x302cb151, 0x2ac8, 0x45d6, 0x97, 0x7b, 0xd2, 0xb3, 0xa5, 0xa5, 0x3f, 0x20}
160DEFINE_GUID!{IsSynchronizedInputPatternAvailable_Property_GUID,
161    0x75d69cc5, 0xd2bf, 0x4943, 0x87, 0x6e, 0xb4, 0x5b, 0x62, 0xa6, 0xcc, 0x66}
162DEFINE_GUID!{IsObjectModelPatternAvailable_Property_GUID,
163    0x6b21d89b, 0x2841, 0x412f, 0x8e, 0xf2, 0x15, 0xca, 0x95, 0x23, 0x18, 0xba}
164DEFINE_GUID!{IsAnnotationPatternAvailable_Property_GUID,
165    0x0b5b3238, 0x6d5c, 0x41b6, 0xbc, 0xc4, 0x5e, 0x80, 0x7f, 0x65, 0x51, 0xc4}
166DEFINE_GUID!{IsTextPattern2Available_Property_GUID,
167    0x41cf921d, 0xe3f1, 0x4b22, 0x9c, 0x81, 0xe1, 0xc3, 0xed, 0x33, 0x1c, 0x22}
168DEFINE_GUID!{IsTextEditPatternAvailable_Property_GUID,
169    0x7843425c, 0x8b32, 0x484c, 0x9a, 0xb5, 0xe3, 0x20, 0x5, 0x71, 0xff, 0xda}
170DEFINE_GUID!{IsCustomNavigationPatternAvailable_Property_GUID,
171    0x8f8e80d4, 0x2351, 0x48e0, 0x87, 0x4a, 0x54, 0xaa, 0x73, 0x13, 0x88, 0x9a}
172DEFINE_GUID!{IsStylesPatternAvailable_Property_GUID,
173    0x27f353d3, 0x459c, 0x4b59, 0xa4, 0x90, 0x50, 0x61, 0x1d, 0xac, 0xaf, 0xb5}
174DEFINE_GUID!{IsSpreadsheetPatternAvailable_Property_GUID,
175    0x6ff43732, 0xe4b4, 0x4555, 0x97, 0xbc, 0xec, 0xdb, 0xbc, 0x4d, 0x18, 0x88}
176DEFINE_GUID!{IsSpreadsheetItemPatternAvailable_Property_GUID,
177    0x9fe79b2a, 0x2f94, 0x43fd, 0x99, 0x6b, 0x54, 0x9e, 0x31, 0x6f, 0x4a, 0xcd}
178DEFINE_GUID!{IsTransformPattern2Available_Property_GUID,
179    0x25980b4b, 0xbe04, 0x4710, 0xab, 0x4a, 0xfd, 0xa3, 0x1d, 0xbd, 0x28, 0x95}
180DEFINE_GUID!{IsTextChildPatternAvailable_Property_GUID,
181    0x559e65df, 0x30ff, 0x43b5, 0xb5, 0xed, 0x5b, 0x28, 0x3b, 0x80, 0xc7, 0xe9}
182DEFINE_GUID!{IsDragPatternAvailable_Property_GUID,
183    0xe997a7b7, 0x1d39, 0x4ca7, 0xbe, 0xf, 0x27, 0x7f, 0xcf, 0x56, 0x5, 0xcc}
184DEFINE_GUID!{IsDropTargetPatternAvailable_Property_GUID,
185    0x686b62e, 0x8e19, 0x4aaf, 0x87, 0x3d, 0x38, 0x4f, 0x6d, 0x3b, 0x92, 0xbe}
186DEFINE_GUID!{IsPeripheral_Property_GUID,
187    0xda758276, 0x7ed5, 0x49d4, 0x8e, 0x68, 0xec, 0xc9, 0xa2, 0xd3, 0x0, 0xdd}
188DEFINE_GUID!{PositionInSet_Property_GUID,
189    0x33d1dc54, 0x641e, 0x4d76, 0xa6, 0xb1, 0x13, 0xf3, 0x41, 0xc1, 0xf8, 0x96}
190DEFINE_GUID!{SizeOfSet_Property_GUID,
191    0x1600d33c, 0x3b9f, 0x4369, 0x94, 0x31, 0xaa, 0x29, 0x3f, 0x34, 0x4c, 0xf1}
192DEFINE_GUID!{Level_Property_GUID,
193    0x242ac529, 0xcd36, 0x400f, 0xaa, 0xd9, 0x78, 0x76, 0xef, 0x3a, 0xf6, 0x27}
194DEFINE_GUID!{AnnotationTypes_Property_GUID,
195    0x64b71f76, 0x53c4, 0x4696, 0xa2, 0x19, 0x20, 0xe9, 0x40, 0xc9, 0xa1, 0x76}
196DEFINE_GUID!{AnnotationObjects_Property_GUID,
197    0x310910c8, 0x7c6e, 0x4f20, 0xbe, 0xcd, 0x4a, 0xaf, 0x6d, 0x19, 0x11, 0x56}
198DEFINE_GUID!{LandmarkType_Property_GUID,
199    0x454045f2, 0x6f61, 0x49f7, 0xa4, 0xf8, 0xb5, 0xf0, 0xcf, 0x82, 0xda, 0x1e}
200DEFINE_GUID!{LocalizedLandmarkType_Property_GUID,
201    0x7ac81980, 0xeafb, 0x4fb2, 0xbf, 0x91, 0xf4, 0x85, 0xbe, 0xf5, 0xe8, 0xe1}
202DEFINE_GUID!{FullDescription_Property_GUID,
203    0x0d4450ff, 0x6aef, 0x4f33, 0x95, 0xdd, 0x7b, 0xef, 0xa7, 0x2a, 0x43, 0x91}
204DEFINE_GUID!{Value_Value_Property_GUID,
205    0xe95f5e64, 0x269f, 0x4a85, 0xba, 0x99, 0x40, 0x92, 0xc3, 0xea, 0x29, 0x86}
206DEFINE_GUID!{Value_IsReadOnly_Property_GUID,
207    0xeb090f30, 0xe24c, 0x4799, 0xa7, 0x05, 0x0d, 0x24, 0x7b, 0xc0, 0x37, 0xf8}
208DEFINE_GUID!{RangeValue_Value_Property_GUID,
209    0x131f5d98, 0xc50c, 0x489d, 0xab, 0xe5, 0xae, 0x22, 0x08, 0x98, 0xc5, 0xf7}
210DEFINE_GUID!{RangeValue_IsReadOnly_Property_GUID,
211    0x25fa1055, 0xdebf, 0x4373, 0xa7, 0x9e, 0x1f, 0x1a, 0x19, 0x08, 0xd3, 0xc4}
212DEFINE_GUID!{RangeValue_Minimum_Property_GUID,
213    0x78cbd3b2, 0x684d, 0x4860, 0xaf, 0x93, 0xd1, 0xf9, 0x5c, 0xb0, 0x22, 0xfd}
214DEFINE_GUID!{RangeValue_Maximum_Property_GUID,
215    0x19319914, 0xf979, 0x4b35, 0xa1, 0xa6, 0xd3, 0x7e, 0x05, 0x43, 0x34, 0x73}
216DEFINE_GUID!{RangeValue_LargeChange_Property_GUID,
217    0xa1f96325, 0x3a3d, 0x4b44, 0x8e, 0x1f, 0x4a, 0x46, 0xd9, 0x84, 0x40, 0x19}
218DEFINE_GUID!{RangeValue_SmallChange_Property_GUID,
219    0x81c2c457, 0x3941, 0x4107, 0x99, 0x75, 0x13, 0x97, 0x60, 0xf7, 0xc0, 0x72}
220DEFINE_GUID!{Scroll_HorizontalScrollPercent_Property_GUID,
221    0xc7c13c0e, 0xeb21, 0x47ff, 0xac, 0xc4, 0xb5, 0xa3, 0x35, 0x0f, 0x51, 0x91}
222DEFINE_GUID!{Scroll_HorizontalViewSize_Property_GUID,
223    0x70c2e5d4, 0xfcb0, 0x4713, 0xa9, 0xaa, 0xaf, 0x92, 0xff, 0x79, 0xe4, 0xcd}
224DEFINE_GUID!{Scroll_VerticalScrollPercent_Property_GUID,
225    0x6c8d7099, 0xb2a8, 0x4948, 0xbf, 0xf7, 0x3c, 0xf9, 0x05, 0x8b, 0xfe, 0xfb}
226DEFINE_GUID!{Scroll_VerticalViewSize_Property_GUID,
227    0xde6a2e22, 0xd8c7, 0x40c5, 0x83, 0xba, 0xe5, 0xf6, 0x81, 0xd5, 0x31, 0x08}
228DEFINE_GUID!{Scroll_HorizontallyScrollable_Property_GUID,
229    0x8b925147, 0x28cd, 0x49ae, 0xbd, 0x63, 0xf4, 0x41, 0x18, 0xd2, 0xe7, 0x19}
230DEFINE_GUID!{Scroll_VerticallyScrollable_Property_GUID,
231    0x89164798, 0x0068, 0x4315, 0xb8, 0x9a, 0x1e, 0x7c, 0xfb, 0xbc, 0x3d, 0xfc}
232DEFINE_GUID!{Selection_Selection_Property_GUID,
233    0xaa6dc2a2, 0x0e2b, 0x4d38, 0x96, 0xd5, 0x34, 0xe4, 0x70, 0xb8, 0x18, 0x53}
234DEFINE_GUID!{Selection_CanSelectMultiple_Property_GUID,
235    0x49d73da5, 0xc883, 0x4500, 0x88, 0x3d, 0x8f, 0xcf, 0x8d, 0xaf, 0x6c, 0xbe}
236DEFINE_GUID!{Selection_IsSelectionRequired_Property_GUID,
237    0xb1ae4422, 0x63fe, 0x44e7, 0xa5, 0xa5, 0xa7, 0x38, 0xc8, 0x29, 0xb1, 0x9a}
238DEFINE_GUID!{Grid_RowCount_Property_GUID,
239    0x2a9505bf, 0xc2eb, 0x4fb6, 0xb3, 0x56, 0x82, 0x45, 0xae, 0x53, 0x70, 0x3e}
240DEFINE_GUID!{Grid_ColumnCount_Property_GUID,
241    0xfe96f375, 0x44aa, 0x4536, 0xac, 0x7a, 0x2a, 0x75, 0xd7, 0x1a, 0x3e, 0xfc}
242DEFINE_GUID!{GridItem_Row_Property_GUID,
243    0x6223972a, 0xc945, 0x4563, 0x93, 0x29, 0xfd, 0xc9, 0x74, 0xaf, 0x25, 0x53}
244DEFINE_GUID!{GridItem_Column_Property_GUID,
245    0xc774c15c, 0x62c0, 0x4519, 0x8b, 0xdc, 0x47, 0xbe, 0x57, 0x3c, 0x8a, 0xd5}
246DEFINE_GUID!{GridItem_RowSpan_Property_GUID,
247    0x4582291c, 0x466b, 0x4e93, 0x8e, 0x83, 0x3d, 0x17, 0x15, 0xec, 0x0c, 0x5e}
248DEFINE_GUID!{GridItem_ColumnSpan_Property_GUID,
249    0x583ea3f5, 0x86d0, 0x4b08, 0xa6, 0xec, 0x2c, 0x54, 0x63, 0xff, 0xc1, 0x09}
250DEFINE_GUID!{GridItem_Parent_Property_GUID,
251    0x9d912252, 0xb97f, 0x4ecc, 0x85, 0x10, 0xea, 0x0e, 0x33, 0x42, 0x7c, 0x72}
252DEFINE_GUID!{Dock_DockPosition_Property_GUID,
253    0x6d67f02e, 0xc0b0, 0x4b10, 0xb5, 0xb9, 0x18, 0xd6, 0xec, 0xf9, 0x87, 0x60}
254DEFINE_GUID!{ExpandCollapse_ExpandCollapseState_Property_GUID,
255    0x275a4c48, 0x85a7, 0x4f69, 0xab, 0xa0, 0xaf, 0x15, 0x76, 0x10, 0x00, 0x2b}
256DEFINE_GUID!{MultipleView_CurrentView_Property_GUID,
257    0x7a81a67a, 0xb94f, 0x4875, 0x91, 0x8b, 0x65, 0xc8, 0xd2, 0xf9, 0x98, 0xe5}
258DEFINE_GUID!{MultipleView_SupportedViews_Property_GUID,
259    0x8d5db9fd, 0xce3c, 0x4ae7, 0xb7, 0x88, 0x40, 0x0a, 0x3c, 0x64, 0x55, 0x47}
260DEFINE_GUID!{Window_CanMaximize_Property_GUID,
261    0x64fff53f, 0x635d, 0x41c1, 0x95, 0x0c, 0xcb, 0x5a, 0xdf, 0xbe, 0x28, 0xe3}
262DEFINE_GUID!{Window_CanMinimize_Property_GUID,
263    0xb73b4625, 0x5988, 0x4b97, 0xb4, 0xc2, 0xa6, 0xfe, 0x6e, 0x78, 0xc8, 0xc6}
264DEFINE_GUID!{Window_WindowVisualState_Property_GUID,
265    0x4ab7905f, 0xe860, 0x453e, 0xa3, 0x0a, 0xf6, 0x43, 0x1e, 0x5d, 0xaa, 0xd5}
266DEFINE_GUID!{Window_WindowInteractionState_Property_GUID,
267    0x4fed26a4, 0x0455, 0x4fa2, 0xb2, 0x1c, 0xc4, 0xda, 0x2d, 0xb1, 0xff, 0x9c}
268DEFINE_GUID!{Window_IsModal_Property_GUID,
269    0xff4e6892, 0x37b9, 0x4fca, 0x85, 0x32, 0xff, 0xe6, 0x74, 0xec, 0xfe, 0xed}
270DEFINE_GUID!{Window_IsTopmost_Property_GUID,
271    0xef7d85d3, 0x0937, 0x4962, 0x92, 0x41, 0xb6, 0x23, 0x45, 0xf2, 0x40, 0x41}
272DEFINE_GUID!{SelectionItem_IsSelected_Property_GUID,
273    0xf122835f, 0xcd5f, 0x43df, 0xb7, 0x9d, 0x4b, 0x84, 0x9e, 0x9e, 0x60, 0x20}
274DEFINE_GUID!{SelectionItem_SelectionContainer_Property_GUID,
275    0xa4365b6e, 0x9c1e, 0x4b63, 0x8b, 0x53, 0xc2, 0x42, 0x1d, 0xd1, 0xe8, 0xfb}
276DEFINE_GUID!{Table_RowHeaders_Property_GUID,
277    0xd9e35b87, 0x6eb8, 0x4562, 0xaa, 0xc6, 0xa8, 0xa9, 0x07, 0x52, 0x36, 0xa8}
278DEFINE_GUID!{Table_ColumnHeaders_Property_GUID,
279    0xaff1d72b, 0x968d, 0x42b1, 0xb4, 0x59, 0x15, 0x0b, 0x29, 0x9d, 0xa6, 0x64}
280DEFINE_GUID!{Table_RowOrColumnMajor_Property_GUID,
281    0x83be75c3, 0x29fe, 0x4a30, 0x85, 0xe1, 0x2a, 0x62, 0x77, 0xfd, 0x10, 0x6e}
282DEFINE_GUID!{TableItem_RowHeaderItems_Property_GUID,
283    0xb3f853a0, 0x0574, 0x4cd8, 0xbc, 0xd7, 0xed, 0x59, 0x23, 0x57, 0x2d, 0x97}
284DEFINE_GUID!{TableItem_ColumnHeaderItems_Property_GUID,
285    0x967a56a3, 0x74b6, 0x431e, 0x8d, 0xe6, 0x99, 0xc4, 0x11, 0x03, 0x1c, 0x58}
286DEFINE_GUID!{Toggle_ToggleState_Property_GUID,
287    0xb23cdc52, 0x22c2, 0x4c6c, 0x9d, 0xed, 0xf5, 0xc4, 0x22, 0x47, 0x9e, 0xde}
288DEFINE_GUID!{Transform_CanMove_Property_GUID,
289    0x1b75824d, 0x208b, 0x4fdf, 0xbc, 0xcd, 0xf1, 0xf4, 0xe5, 0x74, 0x1f, 0x4f}
290DEFINE_GUID!{Transform_CanResize_Property_GUID,
291    0xbb98dca5, 0x4c1a, 0x41d4, 0xa4, 0xf6, 0xeb, 0xc1, 0x28, 0x64, 0x41, 0x80}
292DEFINE_GUID!{Transform_CanRotate_Property_GUID,
293    0x10079b48, 0x3849, 0x476f, 0xac, 0x96, 0x44, 0xa9, 0x5c, 0x84, 0x40, 0xd9}
294DEFINE_GUID!{LegacyIAccessible_ChildId_Property_GUID,
295    0x9a191b5d, 0x9ef2, 0x4787, 0xa4, 0x59, 0xdc, 0xde, 0x88, 0x5d, 0xd4, 0xe8}
296DEFINE_GUID!{LegacyIAccessible_Name_Property_GUID,
297    0xcaeb063d, 0x40ae, 0x4869, 0xaa, 0x5a, 0x1b, 0x8e, 0x5d, 0x66, 0x67, 0x39}
298DEFINE_GUID!{LegacyIAccessible_Value_Property_GUID,
299    0xb5c5b0b6, 0x8217, 0x4a77, 0x97, 0xa5, 0x19, 0x0a, 0x85, 0xed, 0x01, 0x56}
300DEFINE_GUID!{LegacyIAccessible_Description_Property_GUID,
301    0x46448418, 0x7d70, 0x4ea9, 0x9d, 0x27, 0xb7, 0xe7, 0x75, 0xcf, 0x2a, 0xd7}
302DEFINE_GUID!{LegacyIAccessible_Role_Property_GUID,
303    0x6856e59f, 0xcbaf, 0x4e31, 0x93, 0xe8, 0xbc, 0xbf, 0x6f, 0x7e, 0x49, 0x1c}
304DEFINE_GUID!{LegacyIAccessible_State_Property_GUID,
305    0xdf985854, 0x2281, 0x4340, 0xab, 0x9c, 0xc6, 0x0e, 0x2c, 0x58, 0x03, 0xf6}
306DEFINE_GUID!{LegacyIAccessible_Help_Property_GUID,
307    0x94402352, 0x161c, 0x4b77, 0xa9, 0x8d, 0xa8, 0x72, 0xcc, 0x33, 0x94, 0x7a}
308DEFINE_GUID!{LegacyIAccessible_KeyboardShortcut_Property_GUID,
309    0x8f6909ac, 0x00b8, 0x4259, 0xa4, 0x1c, 0x96, 0x62, 0x66, 0xd4, 0x3a, 0x8a}
310DEFINE_GUID!{LegacyIAccessible_Selection_Property_GUID,
311    0x8aa8b1e0, 0x0891, 0x40cc, 0x8b, 0x06, 0x90, 0xd7, 0xd4, 0x16, 0x62, 0x19}
312DEFINE_GUID!{LegacyIAccessible_DefaultAction_Property_GUID,
313    0x3b331729, 0xeaad, 0x4502, 0xb8, 0x5f, 0x92, 0x61, 0x56, 0x22, 0x91, 0x3c}
314DEFINE_GUID!{Annotation_AnnotationTypeId_Property_GUID,
315    0x20ae484f, 0x69ef, 0x4c48, 0x8f, 0x5b, 0xc4, 0x93, 0x8b, 0x20, 0x6a, 0xc7}
316DEFINE_GUID!{Annotation_AnnotationTypeName_Property_GUID,
317    0x9b818892, 0x5ac9, 0x4af9, 0xaa, 0x96, 0xf5, 0x8a, 0x77, 0xb0, 0x58, 0xe3}
318DEFINE_GUID!{Annotation_Author_Property_GUID,
319    0x7a528462, 0x9c5c, 0x4a03, 0xa9, 0x74, 0x8b, 0x30, 0x7a, 0x99, 0x37, 0xf2}
320DEFINE_GUID!{Annotation_DateTime_Property_GUID,
321    0x99b5ca5d, 0x1acf, 0x414b, 0xa4, 0xd0, 0x6b, 0x35, 0x0b, 0x04, 0x75, 0x78}
322DEFINE_GUID!{Annotation_Target_Property_GUID,
323    0xb71b302d, 0x2104, 0x44ad, 0x9c, 0x5c, 0x09, 0x2b, 0x49, 0x07, 0xd7, 0x0f}
324DEFINE_GUID!{Styles_StyleId_Property_GUID,
325    0xda82852f, 0x3817, 0x4233, 0x82, 0xaf, 0x02, 0x27, 0x9e, 0x72, 0xcc, 0x77}
326DEFINE_GUID!{Styles_StyleName_Property_GUID,
327    0x1c12b035, 0x05d1, 0x4f55, 0x9e, 0x8e, 0x14, 0x89, 0xf3, 0xff, 0x55, 0x0d}
328DEFINE_GUID!{Styles_FillColor_Property_GUID,
329    0x63eff97a, 0xa1c5, 0x4b1d, 0x84, 0xeb, 0xb7, 0x65, 0xf2, 0xed, 0xd6, 0x32}
330DEFINE_GUID!{Styles_FillPatternStyle_Property_GUID,
331    0x81cf651f, 0x482b, 0x4451, 0xa3, 0x0a, 0xe1, 0x54, 0x5e, 0x55, 0x4f, 0xb8}
332DEFINE_GUID!{Styles_Shape_Property_GUID,
333    0xc71a23f8, 0x778c, 0x400d, 0x84, 0x58, 0x3b, 0x54, 0x3e, 0x52, 0x69, 0x84}
334DEFINE_GUID!{Styles_FillPatternColor_Property_GUID,
335    0x939a59fe, 0x8fbd, 0x4e75, 0xa2, 0x71, 0xac, 0x45, 0x95, 0x19, 0x51, 0x63}
336DEFINE_GUID!{Styles_ExtendedProperties_Property_GUID,
337    0xf451cda0, 0xba0a, 0x4681, 0xb0, 0xb0, 0x0d, 0xbd, 0xb5, 0x3e, 0x58, 0xf3}
338DEFINE_GUID!{SpreadsheetItem_Formula_Property_GUID,
339    0xe602e47d, 0x1b47, 0x4bea, 0x87, 0xcf, 0x3b, 0x0b, 0x0b, 0x5c, 0x15, 0xb6}
340DEFINE_GUID!{SpreadsheetItem_AnnotationObjects_Property_GUID,
341    0xa3194c38, 0xc9bc, 0x4604, 0x93, 0x96, 0xae, 0x3f, 0x9f, 0x45, 0x7f, 0x7b}
342DEFINE_GUID!{SpreadsheetItem_AnnotationTypes_Property_GUID,
343    0xc70c51d0, 0xd602, 0x4b45, 0xaf, 0xbc, 0xb4, 0x71, 0x2b, 0x96, 0xd7, 0x2b}
344DEFINE_GUID!{Transform2_CanZoom_Property_GUID,
345    0xf357e890, 0xa756, 0x4359, 0x9c, 0xa6, 0x86, 0x70, 0x2b, 0xf8, 0xf3, 0x81}
346DEFINE_GUID!{LiveSetting_Property_GUID,
347    0xc12bcd8e, 0x2a8e, 0x4950, 0x8a, 0xe7, 0x36, 0x25, 0x11, 0x1d, 0x58, 0xeb}
348DEFINE_GUID!{Drag_IsGrabbed_Property_GUID,
349    0x45f206f3, 0x75cc, 0x4cca, 0xa9, 0xb9, 0xfc, 0xdf, 0xb9, 0x82, 0xd8, 0xa2}
350DEFINE_GUID!{Drag_GrabbedItems_Property_GUID,
351    0x77c1562c, 0x7b86, 0x4b21, 0x9e, 0xd7, 0x3c, 0xef, 0xda, 0x6f, 0x4c, 0x43}
352DEFINE_GUID!{Drag_DropEffect_Property_GUID,
353    0x646f2779, 0x48d3, 0x4b23, 0x89, 0x2, 0x4b, 0xf1, 0x0, 0x0, 0x5d, 0xf3}
354DEFINE_GUID!{Drag_DropEffects_Property_GUID,
355    0xf5d61156, 0x7ce6, 0x49be, 0xa8, 0x36, 0x92, 0x69, 0xdc, 0xec, 0x92, 0xf}
356DEFINE_GUID!{DropTarget_DropTargetEffect_Property_GUID,
357    0x8bb75975, 0xa0ca, 0x4981, 0xb8, 0x18, 0x87, 0xfc, 0x66, 0xe9, 0x50, 0x9d}
358DEFINE_GUID!{DropTarget_DropTargetEffects_Property_GUID,
359    0xbc1dd4ed, 0xcb89, 0x45f1, 0xa5, 0x92, 0xe0, 0x3b, 0x8, 0xae, 0x79, 0xf}
360DEFINE_GUID!{Transform2_ZoomLevel_Property_GUID,
361    0xeee29f1a, 0xf4a2, 0x4b5b, 0xac, 0x65, 0x95, 0xcf, 0x93, 0x28, 0x33, 0x87}
362DEFINE_GUID!{Transform2_ZoomMinimum_Property_GUID,
363    0x742ccc16, 0x4ad1, 0x4e07, 0x96, 0xfe, 0xb1, 0x22, 0xc6, 0xe6, 0xb2, 0x2b}
364DEFINE_GUID!{Transform2_ZoomMaximum_Property_GUID,
365    0x42ab6b77, 0xceb0, 0x4eca, 0xb8, 0x2a, 0x6c, 0xfa, 0x5f, 0xa1, 0xfc, 0x08}
366DEFINE_GUID!{FlowsFrom_Property_GUID,
367    0x5c6844f, 0x19de, 0x48f8, 0x95, 0xfa, 0x88, 0xd, 0x5b, 0xf, 0xd6, 0x15}
368DEFINE_GUID!{FillColor_Property_GUID ,
369    0x6e0ec4d0, 0xe2a8, 0x4a56, 0x9d, 0xe7, 0x95, 0x33, 0x89, 0x93, 0x3b, 0x39}
370DEFINE_GUID!{OutlineColor_Property_GUID,
371    0xc395d6c0, 0x4b55, 0x4762, 0xa0, 0x73, 0xfd, 0x30, 0x3a, 0x63, 0x4f, 0x52}
372DEFINE_GUID!{FillType_Property_GUID,
373    0xc6fc74e4, 0x8cb9, 0x429c, 0xa9, 0xe1, 0x9b, 0xc4, 0xac, 0x37, 0x2b, 0x62}
374DEFINE_GUID!{VisualEffects_Property_GUID,
375    0xe61a8565, 0xaad9, 0x46d7, 0x9e, 0x70, 0x4e, 0x8a, 0x84, 0x20, 0xd4, 0x20}
376DEFINE_GUID!{OutlineThickness_Property_GUID,
377    0x13e67cc7, 0xdac2, 0x4888, 0xbd, 0xd3, 0x37, 0x5c, 0x62, 0xfa, 0x96, 0x18}
378DEFINE_GUID!{CenterPoint_Property_GUID,
379    0xcb00c08, 0x540c, 0x4edb, 0x94, 0x45, 0x26, 0x35, 0x9e, 0xa6, 0x97, 0x85}
380DEFINE_GUID!{Rotation_Property_GUID,
381    0x767cdc7d, 0xaec0, 0x4110, 0xad, 0x32, 0x30, 0xed, 0xd4, 0x3, 0x49, 0x2e}
382DEFINE_GUID!{Size_Property_GUID,
383    0x2b5f761d, 0xf885, 0x4404, 0x97, 0x3f, 0x9b, 0x1d, 0x98, 0xe3, 0x6d, 0x8f}
384DEFINE_GUID!{ToolTipOpened_Event_GUID,
385    0x3f4b97ff, 0x2edc, 0x451d, 0xbc, 0xa4, 0x95, 0xa3, 0x18, 0x8d, 0x5b, 0x03}
386DEFINE_GUID!{ToolTipClosed_Event_GUID,
387    0x276d71ef, 0x24a9, 0x49b6, 0x8e, 0x97, 0xda, 0x98, 0xb4, 0x01, 0xbb, 0xcd}
388DEFINE_GUID!{StructureChanged_Event_GUID,
389    0x59977961, 0x3edd, 0x4b11, 0xb1, 0x3b, 0x67, 0x6b, 0x2a, 0x2a, 0x6c, 0xa9}
390DEFINE_GUID!{MenuOpened_Event_GUID,
391    0xebe2e945, 0x66ca, 0x4ed1, 0x9f, 0xf8, 0x2a, 0xd7, 0xdf, 0x0a, 0x1b, 0x08}
392DEFINE_GUID!{AutomationPropertyChanged_Event_GUID,
393    0x2527fba1, 0x8d7a, 0x4630, 0xa4, 0xcc, 0xe6, 0x63, 0x15, 0x94, 0x2f, 0x52}
394DEFINE_GUID!{AutomationFocusChanged_Event_GUID,
395    0xb68a1f17, 0xf60d, 0x41a7, 0xa3, 0xcc, 0xb0, 0x52, 0x92, 0x15, 0x5f, 0xe0}
396DEFINE_GUID!{ActiveTextPositionChanged_Event_GUID,
397    0xa5c09e9c, 0xc77d, 0x4f25, 0xb4, 0x91, 0xe5, 0xbb, 0x70, 0x17, 0xcb, 0xd4}
398DEFINE_GUID!{AsyncContentLoaded_Event_GUID,
399    0x5fdee11c, 0xd2fa, 0x4fb9, 0x90, 0x4e, 0x5c, 0xbe, 0xe8, 0x94, 0xd5, 0xef}
400DEFINE_GUID!{MenuClosed_Event_GUID,
401    0x3cf1266e, 0x1582, 0x4041, 0xac, 0xd7, 0x88, 0xa3, 0x5a, 0x96, 0x52, 0x97}
402DEFINE_GUID!{LayoutInvalidated_Event_GUID,
403    0xed7d6544, 0xa6bd, 0x4595, 0x9b, 0xae, 0x3d, 0x28, 0x94, 0x6c, 0xc7, 0x15}
404DEFINE_GUID!{Invoke_Invoked_Event_GUID,
405    0xdfd699f0, 0xc915, 0x49dd, 0xb4, 0x22, 0xdd, 0xe7, 0x85, 0xc3, 0xd2, 0x4b}
406DEFINE_GUID!{SelectionItem_ElementAddedToSelectionEvent_Event_GUID,
407    0x3c822dd1, 0xc407, 0x4dba, 0x91, 0xdd, 0x79, 0xd4, 0xae, 0xd0, 0xae, 0xc6}
408DEFINE_GUID!{SelectionItem_ElementRemovedFromSelectionEvent_Event_GUID,
409    0x097fa8a9, 0x7079, 0x41af, 0x8b, 0x9c, 0x09, 0x34, 0xd8, 0x30, 0x5e, 0x5c}
410DEFINE_GUID!{SelectionItem_ElementSelectedEvent_Event_GUID,
411    0xb9c7dbfb, 0x4ebe, 0x4532, 0xaa, 0xf4, 0x00, 0x8c, 0xf6, 0x47, 0x23, 0x3c}
412DEFINE_GUID!{Selection_InvalidatedEvent_Event_GUID,
413    0xcac14904, 0x16b4, 0x4b53, 0x8e, 0x47, 0x4c, 0xb1, 0xdf, 0x26, 0x7b, 0xb7}
414DEFINE_GUID!{Text_TextSelectionChangedEvent_Event_GUID,
415    0x918edaa1, 0x71b3, 0x49ae, 0x97, 0x41, 0x79, 0xbe, 0xb8, 0xd3, 0x58, 0xf3}
416DEFINE_GUID!{Text_TextChangedEvent_Event_GUID,
417    0x4a342082, 0xf483, 0x48c4, 0xac, 0x11, 0xa8, 0x4b, 0x43, 0x5e, 0x2a, 0x84}
418DEFINE_GUID!{Window_WindowOpened_Event_GUID,
419    0xd3e81d06, 0xde45, 0x4f2f, 0x96, 0x33, 0xde, 0x9e, 0x02, 0xfb, 0x65, 0xaf}
420DEFINE_GUID!{Window_WindowClosed_Event_GUID,
421    0xedf141f8, 0xfa67, 0x4e22, 0xbb, 0xf7, 0x94, 0x4e, 0x05, 0x73, 0x5e, 0xe2}
422DEFINE_GUID!{MenuModeStart_Event_GUID,
423    0x18d7c631, 0x166a, 0x4ac9, 0xae, 0x3b, 0xef, 0x4b, 0x54, 0x20, 0xe6, 0x81}
424DEFINE_GUID!{MenuModeEnd_Event_GUID,
425    0x9ecd4c9f, 0x80dd, 0x47b8, 0x82, 0x67, 0x5a, 0xec, 0x06, 0xbb, 0x2c, 0xff}
426DEFINE_GUID!{InputReachedTarget_Event_GUID,
427    0x93ed549a, 0x0549, 0x40f0, 0xbe, 0xdb, 0x28, 0xe4, 0x4f, 0x7d, 0xe2, 0xa3}
428DEFINE_GUID!{InputReachedOtherElement_Event_GUID,
429    0xed201d8a, 0x4e6c, 0x415e, 0xa8, 0x74, 0x24, 0x60, 0xc9, 0xb6, 0x6b, 0xa8}
430DEFINE_GUID!{InputDiscarded_Event_GUID,
431    0x7f36c367, 0x7b18, 0x417c, 0x97, 0xe3, 0x9d, 0x58, 0xdd, 0xc9, 0x44, 0xab}
432DEFINE_GUID!{SystemAlert_Event_GUID,
433    0xd271545d, 0x7a3a, 0x47a7, 0x84, 0x74, 0x81, 0xd2, 0x9a, 0x24, 0x51, 0xc9}
434DEFINE_GUID!{LiveRegionChanged_Event_GUID,
435    0x102d5e90, 0xe6a9, 0x41b6, 0xb1, 0xc5, 0xa9, 0xb1, 0x92, 0x9d, 0x95, 0x10}
436DEFINE_GUID!{HostedFragmentRootsInvalidated_Event_GUID,
437    0xe6bdb03e, 0x0921, 0x4ec5, 0x8d, 0xcf, 0xea, 0xe8, 0x77, 0xb0, 0x42, 0x6b}
438DEFINE_GUID!{Drag_DragStart_Event_GUID,
439    0x883a480b, 0x3aa9, 0x429d, 0x95, 0xe4, 0xd9, 0xc8, 0xd0, 0x11, 0xf0, 0xdd}
440DEFINE_GUID!{Drag_DragCancel_Event_GUID,
441    0xc3ede6fa, 0x3451, 0x4e0f, 0x9e, 0x71, 0xdf, 0x9c, 0x28, 0xa, 0x46, 0x57}
442DEFINE_GUID!{Drag_DragComplete_Event_GUID,
443    0x38e96188, 0xef1f, 0x463e, 0x91, 0xca, 0x3a, 0x77, 0x92, 0xc2, 0x9c, 0xaf}
444DEFINE_GUID!{DropTarget_DragEnter_Event_GUID,
445    0xaad9319b, 0x32c, 0x4a88, 0x96, 0x1d, 0x1c, 0xf5, 0x79, 0x58, 0x1e, 0x34}
446DEFINE_GUID!{DropTarget_DragLeave_Event_GUID,
447    0xf82eb15, 0x24a2, 0x4988, 0x92, 0x17, 0xde, 0x16, 0x2a, 0xee, 0x27, 0x2b}
448DEFINE_GUID!{DropTarget_Dropped_Event_GUID,
449    0x622cead8, 0x1edb, 0x4a3d, 0xab, 0xbc, 0xbe, 0x22, 0x11, 0xff, 0x68, 0xb5}
450DEFINE_GUID!{Invoke_Pattern_GUID,
451    0xd976c2fc, 0x66ea, 0x4a6e, 0xb2, 0x8f, 0xc2, 0x4c, 0x75, 0x46, 0xad, 0x37}
452DEFINE_GUID!{Selection_Pattern_GUID,
453    0x66e3b7e8, 0xd821, 0x4d25, 0x87, 0x61, 0x43, 0x5d, 0x2c, 0x8b, 0x25, 0x3f}
454DEFINE_GUID!{Value_Pattern_GUID,
455    0x17faad9e, 0xc877, 0x475b, 0xb9, 0x33, 0x77, 0x33, 0x27, 0x79, 0xb6, 0x37}
456DEFINE_GUID!{RangeValue_Pattern_GUID,
457    0x18b00d87, 0xb1c9, 0x476a, 0xbf, 0xbd, 0x5f, 0x0b, 0xdb, 0x92, 0x6f, 0x63}
458DEFINE_GUID!{Scroll_Pattern_GUID,
459    0x895fa4b4, 0x759d, 0x4c50, 0x8e, 0x15, 0x03, 0x46, 0x06, 0x72, 0x00, 0x3c}
460DEFINE_GUID!{ExpandCollapse_Pattern_GUID,
461    0xae05efa2, 0xf9d1, 0x428a, 0x83, 0x4c, 0x53, 0xa5, 0xc5, 0x2f, 0x9b, 0x8b}
462DEFINE_GUID!{Grid_Pattern_GUID,
463    0x260a2ccb, 0x93a8, 0x4e44, 0xa4, 0xc1, 0x3d, 0xf3, 0x97, 0xf2, 0xb0, 0x2b}
464DEFINE_GUID!{GridItem_Pattern_GUID,
465    0xf2d5c877, 0xa462, 0x4957, 0xa2, 0xa5, 0x2c, 0x96, 0xb3, 0x03, 0xbc, 0x63}
466DEFINE_GUID!{MultipleView_Pattern_GUID,
467    0x547a6ae4, 0x113f, 0x47c4, 0x85, 0x0f, 0xdb, 0x4d, 0xfa, 0x46, 0x6b, 0x1d}
468DEFINE_GUID!{Window_Pattern_GUID,
469    0x27901735, 0xc760, 0x4994, 0xad, 0x11, 0x59, 0x19, 0xe6, 0x06, 0xb1, 0x10}
470DEFINE_GUID!{SelectionItem_Pattern_GUID,
471    0x9bc64eeb, 0x87c7, 0x4b28, 0x94, 0xbb, 0x4d, 0x9f, 0xa4, 0x37, 0xb6, 0xef}
472DEFINE_GUID!{Dock_Pattern_GUID,
473    0x9cbaa846, 0x83c8, 0x428d, 0x82, 0x7f, 0x7e, 0x60, 0x63, 0xfe, 0x06, 0x20}
474DEFINE_GUID!{Table_Pattern_GUID,
475    0xc415218e, 0xa028, 0x461e, 0xaa, 0x92, 0x8f, 0x92, 0x5c, 0xf7, 0x93, 0x51}
476DEFINE_GUID!{TableItem_Pattern_GUID,
477    0xdf1343bd, 0x1888, 0x4a29, 0xa5, 0x0c, 0xb9, 0x2e, 0x6d, 0xe3, 0x7f, 0x6f}
478DEFINE_GUID!{Text_Pattern_GUID,
479    0x8615f05d, 0x7de5, 0x44fd, 0xa6, 0x79, 0x2c, 0xa4, 0xb4, 0x60, 0x33, 0xa8}
480DEFINE_GUID!{Toggle_Pattern_GUID,
481    0x0b419760, 0xe2f4, 0x43ff, 0x8c, 0x5f, 0x94, 0x57, 0xc8, 0x2b, 0x56, 0xe9}
482DEFINE_GUID!{Transform_Pattern_GUID,
483    0x24b46fdb, 0x587e, 0x49f1, 0x9c, 0x4a, 0xd8, 0xe9, 0x8b, 0x66, 0x4b, 0x7b}
484DEFINE_GUID!{ScrollItem_Pattern_GUID,
485    0x4591d005, 0xa803, 0x4d5c, 0xb4, 0xd5, 0x8d, 0x28, 0x00, 0xf9, 0x06, 0xa7}
486DEFINE_GUID!{LegacyIAccessible_Pattern_GUID,
487    0x54cc0a9f, 0x3395, 0x48af, 0xba, 0x8d, 0x73, 0xf8, 0x56, 0x90, 0xf3, 0xe0}
488DEFINE_GUID!{ItemContainer_Pattern_GUID,
489    0x3d13da0f, 0x8b9a, 0x4a99, 0x85, 0xfa, 0xc5, 0xc9, 0xa6, 0x9f, 0x1e, 0xd4}
490DEFINE_GUID!{VirtualizedItem_Pattern_GUID,
491    0xf510173e, 0x2e71, 0x45e9, 0xa6, 0xe5, 0x62, 0xf6, 0xed, 0x82, 0x89, 0xd5}
492DEFINE_GUID!{SynchronizedInput_Pattern_GUID,
493    0x05c288a6, 0xc47b, 0x488b, 0xb6, 0x53, 0x33, 0x97, 0x7a, 0x55, 0x1b, 0x8b}
494DEFINE_GUID!{ObjectModel_Pattern_GUID,
495    0x3e04acfe, 0x08fc, 0x47ec, 0x96, 0xbc, 0x35, 0x3f, 0xa3, 0xb3, 0x4a, 0xa7}
496DEFINE_GUID!{Annotation_Pattern_GUID,
497    0xf6c72ad7, 0x356c, 0x4850, 0x92, 0x91, 0x31, 0x6f, 0x60, 0x8a, 0x8c, 0x84}
498DEFINE_GUID!{Text_Pattern2_GUID,
499    0x498479a2, 0x5b22, 0x448d, 0xb6, 0xe4, 0x64, 0x74, 0x90, 0x86, 0x06, 0x98}
500DEFINE_GUID!{TextEdit_Pattern_GUID,
501    0x69f3ff89, 0x5af9, 0x4c75, 0x93, 0x40, 0xf2, 0xde, 0x29, 0x2e, 0x45, 0x91}
502DEFINE_GUID!{CustomNavigation_Pattern_GUID,
503    0xafea938a, 0x621e, 0x4054, 0xbb, 0x2c, 0x2f, 0x46, 0x11, 0x4d, 0xac, 0x3f}
504DEFINE_GUID!{Styles_Pattern_GUID,
505    0x1ae62655, 0xda72, 0x4d60, 0xa1, 0x53, 0xe5, 0xaa, 0x69, 0x88, 0xe3, 0xbf}
506DEFINE_GUID!{Spreadsheet_Pattern_GUID,
507    0x6a5b24c9, 0x9d1e, 0x4b85, 0x9e, 0x44, 0xc0, 0x2e, 0x31, 0x69, 0xb1, 0x0b}
508DEFINE_GUID!{SpreadsheetItem_Pattern_GUID,
509    0x32cf83ff, 0xf1a8, 0x4a8c, 0x86, 0x58, 0xd4, 0x7b, 0xa7, 0x4e, 0x20, 0xba}
510DEFINE_GUID!{Tranform_Pattern2_GUID,
511    0x8afcfd07, 0xa369, 0x44de, 0x98, 0x8b, 0x2f, 0x7f, 0xf4, 0x9f, 0xb8, 0xa8}
512DEFINE_GUID!{TextChild_Pattern_GUID,
513    0x7533cab7, 0x3bfe, 0x41ef, 0x9e, 0x85, 0xe2, 0x63, 0x8c, 0xbe, 0x16, 0x9e}
514DEFINE_GUID!{Drag_Pattern_GUID,
515    0xc0bee21f, 0xccb3, 0x4fed, 0x99, 0x5b, 0x11, 0x4f, 0x6e, 0x3d, 0x27, 0x28}
516DEFINE_GUID!{DropTarget_Pattern_GUID,
517    0xbcbec56, 0xbd34, 0x4b7b, 0x9f, 0xd5, 0x26, 0x59, 0x90, 0x5e, 0xa3, 0xdc}
518DEFINE_GUID!{Button_Control_GUID,
519    0x5a78e369, 0xc6a1, 0x4f33, 0xa9, 0xd7, 0x79, 0xf2, 0x0d, 0x0c, 0x78, 0x8e}
520DEFINE_GUID!{Calendar_Control_GUID,
521    0x8913eb88, 0x00e5, 0x46bc, 0x8e, 0x4e, 0x14, 0xa7, 0x86, 0xe1, 0x65, 0xa1}
522DEFINE_GUID!{CheckBox_Control_GUID,
523    0xfb50f922, 0xa3db, 0x49c0, 0x8b, 0xc3, 0x06, 0xda, 0xd5, 0x57, 0x78, 0xe2}
524DEFINE_GUID!{ComboBox_Control_GUID,
525    0x54cb426c, 0x2f33, 0x4fff, 0xaa, 0xa1, 0xae, 0xf6, 0x0d, 0xac, 0x5d, 0xeb}
526DEFINE_GUID!{Edit_Control_GUID,
527    0x6504a5c8, 0x2c86, 0x4f87, 0xae, 0x7b, 0x1a, 0xbd, 0xdc, 0x81, 0x0c, 0xf9}
528DEFINE_GUID!{Hyperlink_Control_GUID,
529    0x8a56022c, 0xb00d, 0x4d15, 0x8f, 0xf0, 0x5b, 0x6b, 0x26, 0x6e, 0x5e, 0x02}
530DEFINE_GUID!{Image_Control_GUID,
531    0x2d3736e4, 0x6b16, 0x4c57, 0xa9, 0x62, 0xf9, 0x32, 0x60, 0xa7, 0x52, 0x43}
532DEFINE_GUID!{ListItem_Control_GUID,
533    0x7b3717f2, 0x44d1, 0x4a58, 0x98, 0xa8, 0xf1, 0x2a, 0x9b, 0x8f, 0x78, 0xe2}
534DEFINE_GUID!{List_Control_GUID,
535    0x9b149ee1, 0x7cca, 0x4cfc, 0x9a, 0xf1, 0xca, 0xc7, 0xbd, 0xdd, 0x30, 0x31}
536DEFINE_GUID!{Menu_Control_GUID,
537    0x2e9b1440, 0x0ea8, 0x41fd, 0xb3, 0x74, 0xc1, 0xea, 0x6f, 0x50, 0x3c, 0xd1}
538DEFINE_GUID!{MenuBar_Control_GUID,
539    0xcc384250, 0x0e7b, 0x4ae8, 0x95, 0xae, 0xa0, 0x8f, 0x26, 0x1b, 0x52, 0xee}
540DEFINE_GUID!{MenuItem_Control_GUID,
541    0xf45225d3, 0xd0a0, 0x49d8, 0x98, 0x34, 0x9a, 0x00, 0x0d, 0x2a, 0xed, 0xdc}
542DEFINE_GUID!{ProgressBar_Control_GUID,
543    0x228c9f86, 0xc36c, 0x47bb, 0x9f, 0xb6, 0xa5, 0x83, 0x4b, 0xfc, 0x53, 0xa4}
544DEFINE_GUID!{RadioButton_Control_GUID,
545    0x3bdb49db, 0xfe2c, 0x4483, 0xb3, 0xe1, 0xe5, 0x7f, 0x21, 0x94, 0x40, 0xc6}
546DEFINE_GUID!{ScrollBar_Control_GUID,
547    0xdaf34b36, 0x5065, 0x4946, 0xb2, 0x2f, 0x92, 0x59, 0x5f, 0xc0, 0x75, 0x1a}
548DEFINE_GUID!{Slider_Control_GUID,
549    0xb033c24b, 0x3b35, 0x4cea, 0xb6, 0x09, 0x76, 0x36, 0x82, 0xfa, 0x66, 0x0b}
550DEFINE_GUID!{Spinner_Control_GUID,
551    0x60cc4b38, 0x3cb1, 0x4161, 0xb4, 0x42, 0xc6, 0xb7, 0x26, 0xc1, 0x78, 0x25}
552DEFINE_GUID!{StatusBar_Control_GUID,
553    0xd45e7d1b, 0x5873, 0x475f, 0x95, 0xa4, 0x04, 0x33, 0xe1, 0xf1, 0xb0, 0x0a}
554DEFINE_GUID!{Tab_Control_GUID,
555    0x38cd1f2d, 0x337a, 0x4bd2, 0xa5, 0xe3, 0xad, 0xb4, 0x69, 0xe3, 0x0b, 0xd3}
556DEFINE_GUID!{TabItem_Control_GUID,
557    0x2c6a634f, 0x921b, 0x4e6e, 0xb2, 0x6e, 0x08, 0xfc, 0xb0, 0x79, 0x8f, 0x4c}
558DEFINE_GUID!{Text_Control_GUID,
559    0xae9772dc, 0xd331, 0x4f09, 0xbe, 0x20, 0x7e, 0x6d, 0xfa, 0xf0, 0x7b, 0x0a}
560DEFINE_GUID!{ToolBar_Control_GUID,
561    0x8f06b751, 0xe182, 0x4e98, 0x88, 0x93, 0x22, 0x84, 0x54, 0x3a, 0x7d, 0xce}
562DEFINE_GUID!{ToolTip_Control_GUID,
563    0x05ddc6d1, 0x2137, 0x4768, 0x98, 0xea, 0x73, 0xf5, 0x2f, 0x71, 0x34, 0xf3}
564DEFINE_GUID!{Tree_Control_GUID,
565    0x7561349c, 0xd241, 0x43f4, 0x99, 0x08, 0xb5, 0xf0, 0x91, 0xbe, 0xe6, 0x11}
566DEFINE_GUID!{TreeItem_Control_GUID,
567    0x62c9feb9, 0x8ffc, 0x4878, 0xa3, 0xa4, 0x96, 0xb0, 0x30, 0x31, 0x5c, 0x18}
568DEFINE_GUID!{Custom_Control_GUID,
569    0xf29ea0c3, 0xadb7, 0x430a, 0xba, 0x90, 0xe5, 0x2c, 0x73, 0x13, 0xe6, 0xed}
570DEFINE_GUID!{Group_Control_GUID,
571    0xad50aa1c, 0xe8c8, 0x4774, 0xae, 0x1b, 0xdd, 0x86, 0xdf, 0x0b, 0x3b, 0xdc}
572DEFINE_GUID!{Thumb_Control_GUID,
573    0x701ca877, 0xe310, 0x4dd6, 0xb6, 0x44, 0x79, 0x7e, 0x4f, 0xae, 0xa2, 0x13}
574DEFINE_GUID!{DataGrid_Control_GUID,
575    0x84b783af, 0xd103, 0x4b0a, 0x84, 0x15, 0xe7, 0x39, 0x42, 0x41, 0x0f, 0x4b}
576DEFINE_GUID!{DataItem_Control_GUID,
577    0xa0177842, 0xd94f, 0x42a5, 0x81, 0x4b, 0x60, 0x68, 0xad, 0xdc, 0x8d, 0xa5}
578DEFINE_GUID!{Document_Control_GUID,
579    0x3cd6bb6f, 0x6f08, 0x4562, 0xb2, 0x29, 0xe4, 0xe2, 0xfc, 0x7a, 0x9e, 0xb4}
580DEFINE_GUID!{SplitButton_Control_GUID,
581    0x7011f01f, 0x4ace, 0x4901, 0xb4, 0x61, 0x92, 0x0a, 0x6f, 0x1c, 0xa6, 0x50}
582DEFINE_GUID!{Window_Control_GUID,
583    0xe13a7242, 0xf462, 0x4f4d, 0xae, 0xc1, 0x53, 0xb2, 0x8d, 0x6c, 0x32, 0x90}
584DEFINE_GUID!{Pane_Control_GUID,
585    0x5c2b3f5b, 0x9182, 0x42a3, 0x8d, 0xec, 0x8c, 0x04, 0xc1, 0xee, 0x63, 0x4d}
586DEFINE_GUID!{Header_Control_GUID,
587    0x5b90cbce, 0x78fb, 0x4614, 0x82, 0xb6, 0x55, 0x4d, 0x74, 0x71, 0x8e, 0x67}
588DEFINE_GUID!{HeaderItem_Control_GUID,
589    0xe6bc12cb, 0x7c8e, 0x49cf, 0xb1, 0x68, 0x4a, 0x93, 0xa3, 0x2b, 0xeb, 0xb0}
590DEFINE_GUID!{Table_Control_GUID,
591    0x773bfa0e, 0x5bc4, 0x4deb, 0x92, 0x1b, 0xde, 0x7b, 0x32, 0x06, 0x22, 0x9e}
592DEFINE_GUID!{TitleBar_Control_GUID,
593    0x98aa55bf, 0x3bb0, 0x4b65, 0x83, 0x6e, 0x2e, 0xa3, 0x0d, 0xbc, 0x17, 0x1f}
594DEFINE_GUID!{Separator_Control_GUID,
595    0x8767eba3, 0x2a63, 0x4ab0, 0xac, 0x8d, 0xaa, 0x50, 0xe2, 0x3d, 0xe9, 0x78}
596DEFINE_GUID!{SemanticZoom_Control_GUID,
597    0x5fd34a43, 0x061e, 0x42c8, 0xb5, 0x89, 0x9d, 0xcc, 0xf7, 0x4b, 0xc4, 0x3a} 
598DEFINE_GUID!{AppBar_Control_GUID,
599    0x6114908d, 0xcc02, 0x4d37, 0x87, 0x5b, 0xb5, 0x30, 0xc7, 0x13, 0x95, 0x54} 
600DEFINE_GUID!{Text_AnimationStyle_Attribute_GUID,
601    0x628209f0, 0x7c9a, 0x4d57, 0xbe, 0x64, 0x1f, 0x18, 0x36, 0x57, 0x1f, 0xf5}
602DEFINE_GUID!{Text_BackgroundColor_Attribute_GUID,
603    0xfdc49a07, 0x583d, 0x4f17, 0xad, 0x27, 0x77, 0xfc, 0x83, 0x2a, 0x3c, 0x0b}
604DEFINE_GUID!{Text_BulletStyle_Attribute_GUID,
605    0xc1097c90, 0xd5c4, 0x4237, 0x97, 0x81, 0x3b, 0xec, 0x8b, 0xa5, 0x4e, 0x48}
606DEFINE_GUID!{Text_CapStyle_Attribute_GUID,
607    0xfb059c50, 0x92cc, 0x49a5, 0xba, 0x8f, 0x0a, 0xa8, 0x72, 0xbb, 0xa2, 0xf3}
608DEFINE_GUID!{Text_Culture_Attribute_GUID,
609    0xc2025af9, 0xa42d, 0x4ced, 0xa1, 0xfb, 0xc6, 0x74, 0x63, 0x15, 0x22, 0x2e}
610DEFINE_GUID!{Text_FontName_Attribute_GUID,
611    0x64e63ba8, 0xf2e5, 0x476e, 0xa4, 0x77, 0x17, 0x34, 0xfe, 0xaa, 0xf7, 0x26}
612DEFINE_GUID!{Text_FontSize_Attribute_GUID,
613    0xdc5eeeff, 0x0506, 0x4673, 0x93, 0xf2, 0x37, 0x7e, 0x4a, 0x8e, 0x01, 0xf1}
614DEFINE_GUID!{Text_FontWeight_Attribute_GUID,
615    0x6fc02359, 0xb316, 0x4f5f, 0xb4, 0x01, 0xf1, 0xce, 0x55, 0x74, 0x18, 0x53}
616DEFINE_GUID!{Text_ForegroundColor_Attribute_GUID,
617    0x72d1c95d, 0x5e60, 0x471a, 0x96, 0xb1, 0x6c, 0x1b, 0x3b, 0x77, 0xa4, 0x36}
618DEFINE_GUID!{Text_HorizontalTextAlignment_Attribute_GUID,
619    0x04ea6161, 0xfba3, 0x477a, 0x95, 0x2a, 0xbb, 0x32, 0x6d, 0x02, 0x6a, 0x5b}
620DEFINE_GUID!{Text_IndentationFirstLine_Attribute_GUID,
621    0x206f9ad5, 0xc1d3, 0x424a, 0x81, 0x82, 0x6d, 0xa9, 0xa7, 0xf3, 0xd6, 0x32}
622DEFINE_GUID!{Text_IndentationLeading_Attribute_GUID,
623    0x5cf66bac, 0x2d45, 0x4a4b, 0xb6, 0xc9, 0xf7, 0x22, 0x1d, 0x28, 0x15, 0xb0}
624DEFINE_GUID!{Text_IndentationTrailing_Attribute_GUID,
625    0x97ff6c0f, 0x1ce4, 0x408a, 0xb6, 0x7b, 0x94, 0xd8, 0x3e, 0xb6, 0x9b, 0xf2}
626DEFINE_GUID!{Text_IsHidden_Attribute_GUID,
627    0x360182fb, 0xbdd7, 0x47f6, 0xab, 0x69, 0x19, 0xe3, 0x3f, 0x8a, 0x33, 0x44}
628DEFINE_GUID!{Text_IsItalic_Attribute_GUID,
629    0xfce12a56, 0x1336, 0x4a34, 0x96, 0x63, 0x1b, 0xab, 0x47, 0x23, 0x93, 0x20}
630DEFINE_GUID!{Text_IsReadOnly_Attribute_GUID,
631    0xa738156b, 0xca3e, 0x495e, 0x95, 0x14, 0x83, 0x3c, 0x44, 0x0f, 0xeb, 0x11}
632DEFINE_GUID!{Text_IsSubscript_Attribute_GUID,
633    0xf0ead858, 0x8f53, 0x413c, 0x87, 0x3f, 0x1a, 0x7d, 0x7f, 0x5e, 0x0d, 0xe4}
634DEFINE_GUID!{Text_IsSuperscript_Attribute_GUID,
635    0xda706ee4, 0xb3aa, 0x4645, 0xa4, 0x1f, 0xcd, 0x25, 0x15, 0x7d, 0xea, 0x76}
636DEFINE_GUID!{Text_MarginBottom_Attribute_GUID,
637    0x7ee593c4, 0x72b4, 0x4cac, 0x92, 0x71, 0x3e, 0xd2, 0x4b, 0x0e, 0x4d, 0x42}
638DEFINE_GUID!{Text_MarginLeading_Attribute_GUID,
639    0x9e9242d0, 0x5ed0, 0x4900, 0x8e, 0x8a, 0xee, 0xcc, 0x03, 0x83, 0x5a, 0xfc}
640DEFINE_GUID!{Text_MarginTop_Attribute_GUID,
641    0x683d936f, 0xc9b9, 0x4a9a, 0xb3, 0xd9, 0xd2, 0x0d, 0x33, 0x31, 0x1e, 0x2a}
642DEFINE_GUID!{Text_MarginTrailing_Attribute_GUID,
643    0xaf522f98, 0x999d, 0x40af, 0xa5, 0xb2, 0x01, 0x69, 0xd0, 0x34, 0x20, 0x02}
644DEFINE_GUID!{Text_OutlineStyles_Attribute_GUID,
645    0x5b675b27, 0xdb89, 0x46fe, 0x97, 0x0c, 0x61, 0x4d, 0x52, 0x3b, 0xb9, 0x7d}
646DEFINE_GUID!{Text_OverlineColor_Attribute_GUID,
647    0x83ab383a, 0xfd43, 0x40da, 0xab, 0x3e, 0xec, 0xf8, 0x16, 0x5c, 0xbb, 0x6d}
648DEFINE_GUID!{Text_OverlineStyle_Attribute_GUID,
649    0x0a234d66, 0x617e, 0x427f, 0x87, 0x1d, 0xe1, 0xff, 0x1e, 0x0c, 0x21, 0x3f}
650DEFINE_GUID!{Text_StrikethroughColor_Attribute_GUID,
651    0xbfe15a18, 0x8c41, 0x4c5a, 0x9a, 0x0b, 0x04, 0xaf, 0x0e, 0x07, 0xf4, 0x87}
652DEFINE_GUID!{Text_StrikethroughStyle_Attribute_GUID,
653    0x72913ef1, 0xda00, 0x4f01, 0x89, 0x9c, 0xac, 0x5a, 0x85, 0x77, 0xa3, 0x07}
654DEFINE_GUID!{Text_Tabs_Attribute_GUID,
655    0x2e68d00b, 0x92fe, 0x42d8, 0x89, 0x9a, 0xa7, 0x84, 0xaa, 0x44, 0x54, 0xa1}
656DEFINE_GUID!{Text_TextFlowDirections_Attribute_GUID,
657    0x8bdf8739, 0xf420, 0x423e, 0xaf, 0x77, 0x20, 0xa5, 0xd9, 0x73, 0xa9, 0x07}
658DEFINE_GUID!{Text_UnderlineColor_Attribute_GUID,
659    0xbfa12c73, 0xfde2, 0x4473, 0xbf, 0x64, 0x10, 0x36, 0xd6, 0xaa, 0x0f, 0x45}
660DEFINE_GUID!{Text_UnderlineStyle_Attribute_GUID,
661    0x5f3b21c0, 0xede4, 0x44bd, 0x9c, 0x36, 0x38, 0x53, 0x03, 0x8c, 0xbf, 0xeb}
662DEFINE_GUID!{Text_AnnotationTypes_Attribute_GUID,
663    0xad2eb431, 0xee4e, 0x4be1, 0xa7, 0xba, 0x55, 0x59, 0x15, 0x5a, 0x73, 0xef}
664DEFINE_GUID!{Text_AnnotationObjects_Attribute_GUID,
665    0xff41cf68, 0xe7ab, 0x40b9, 0x8c, 0x72, 0x72, 0xa8, 0xed, 0x94, 0x01, 0x7d}
666DEFINE_GUID!{Text_StyleName_Attribute_GUID,
667    0x22c9e091, 0x4d66, 0x45d8, 0xa8, 0x28, 0x73, 0x7b, 0xab, 0x4c, 0x98, 0xa7}
668DEFINE_GUID!{Text_StyleId_Attribute_GUID,
669    0x14c300de, 0xc32b, 0x449b, 0xab, 0x7c, 0xb0, 0xe0, 0x78, 0x9a, 0xea, 0x5d}
670DEFINE_GUID!{Text_Link_Attribute_GUID,
671    0xb38ef51d, 0x9e8d, 0x4e46, 0x91, 0x44, 0x56, 0xeb, 0xe1, 0x77, 0x32, 0x9b}
672DEFINE_GUID!{Text_IsActive_Attribute_GUID,
673    0xf5a4e533, 0xe1b8, 0x436b, 0x93, 0x5d, 0xb5, 0x7a, 0xa3, 0xf5, 0x58, 0xc4}
674DEFINE_GUID!{Text_SelectionActiveEnd_Attribute_GUID,
675    0x1f668cc3, 0x9bbf, 0x416b, 0xb0, 0xa2, 0xf8, 0x9f, 0x86, 0xf6, 0x61, 0x2c}
676DEFINE_GUID!{Text_CaretPosition_Attribute_GUID,
677    0xb227b131, 0x9889, 0x4752, 0xa9, 0x1b, 0x73, 0x3e, 0xfd, 0xc5, 0xc5, 0xa0}
678DEFINE_GUID!{Text_CaretBidiMode_Attribute_GUID,
679    0x929ee7a6, 0x51d3, 0x4715, 0x96, 0xdc, 0xb6, 0x94, 0xfa, 0x24, 0xa1, 0x68}
680DEFINE_GUID!{Text_BeforeParagraphSpacing_Attribute_GUID,
681    0xbe7b0ab1, 0xc822, 0x4a24, 0x85, 0xe9, 0xc8, 0xf2, 0x65, 0xf, 0xc7, 0x9c}
682DEFINE_GUID!{Text_AfterParagraphSpacing_Attribute_GUID,
683    0x588cbb38, 0xe62f, 0x497c, 0xb5, 0xd1, 0xcc, 0xdf, 0xe, 0xe8, 0x23, 0xd8}
684DEFINE_GUID!{Text_LineSpacing_Attribute_GUID,
685    0x63ff70ae, 0xd943, 0x4b47, 0x8a, 0xb7, 0xa7, 0xa0, 0x33, 0xd3, 0x21, 0x4b}
686DEFINE_GUID!{Text_BeforeSpacing_Attribute_GUID,
687    0xbe7b0ab1, 0xc822, 0x4a24, 0x85, 0xe9, 0xc8, 0xf2, 0x65, 0xf, 0xc7, 0x9c}
688DEFINE_GUID!{Text_AfterSpacing_Attribute_GUID,
689    0x588cbb38, 0xe62f, 0x497c, 0xb5, 0xd1, 0xcc, 0xdf, 0xe, 0xe8, 0x23, 0xd8}
690DEFINE_GUID!{Text_SayAsInterpretAs_Attribute_GUID,
691    0xb38ad6ac, 0xeee1, 0x4b6e, 0x88, 0xcc, 0x01, 0x4c, 0xef, 0xa9, 0x3f, 0xcb}
692DEFINE_GUID!{TextEdit_TextChanged_Event_GUID,
693    0x120b0308, 0xec22, 0x4eb8, 0x9c, 0x98, 0x98, 0x67, 0xcd, 0xa1, 0xb1, 0x65}
694DEFINE_GUID!{TextEdit_ConversionTargetChanged_Event_GUID,
695    0x3388c183, 0xed4f, 0x4c8b, 0x9b, 0xaa, 0x36, 0x4d, 0x51, 0xd8, 0x84, 0x7f}
696DEFINE_GUID!{Changes_Event_GUID,
697    0x7df26714, 0x614f, 0x4e05, 0x94, 0x88, 0x71, 0x6c, 0x5b, 0xa1, 0x94, 0x36}
698DEFINE_GUID!{Annotation_Custom_GUID,
699    0x9ec82750, 0x3931, 0x4952, 0x85, 0xbc, 0x1d, 0xbf, 0xf7, 0x8a, 0x43, 0xe3}
700DEFINE_GUID!{Annotation_SpellingError_GUID,
701    0xae85567e, 0x9ece, 0x423f, 0x81, 0xb7, 0x96, 0xc4, 0x3d, 0x53, 0xe5, 0x0e}
702DEFINE_GUID!{Annotation_GrammarError_GUID,
703    0x757a048d, 0x4518, 0x41c6, 0x85, 0x4c, 0xdc, 0x00, 0x9b, 0x7c, 0xfb, 0x53}
704DEFINE_GUID!{Annotation_Comment_GUID,
705    0xfd2fda30, 0x26b3, 0x4c06, 0x8b, 0xc7, 0x98, 0xf1, 0x53, 0x2e, 0x46, 0xfd}
706DEFINE_GUID!{Annotation_FormulaError_GUID,
707    0x95611982, 0x0cab, 0x46d5, 0xa2, 0xf0, 0xe3, 0x0d, 0x19, 0x05, 0xf8, 0xbf}
708DEFINE_GUID!{Annotation_TrackChanges_GUID,
709    0x21e6e888, 0xdc14, 0x4016, 0xac, 0x27, 0x19, 0x05, 0x53, 0xc8, 0xc4, 0x70}
710DEFINE_GUID!{Annotation_Header_GUID,
711    0x867b409b, 0xb216, 0x4472, 0xa2, 0x19, 0x52, 0x5e, 0x31, 0x06, 0x81, 0xf8}
712DEFINE_GUID!{Annotation_Footer_GUID,
713    0xcceab046, 0x1833, 0x47aa, 0x80, 0x80, 0x70, 0x1e, 0xd0, 0xb0, 0xc8, 0x32}
714DEFINE_GUID!{Annotation_Highlighted_GUID,
715    0x757c884e, 0x8083, 0x4081, 0x8b, 0x9c, 0xe8, 0x7f, 0x50, 0x72, 0xf0, 0xe4}
716DEFINE_GUID!{Annotation_Endnote_GUID,
717    0x7565725c, 0x2d99, 0x4839, 0x96, 0x0d, 0x33, 0xd3, 0xb8, 0x66, 0xab, 0xa5}
718DEFINE_GUID!{Annotation_Footnote_GUID,
719    0x3de10e21, 0x4125, 0x42db, 0x86, 0x20, 0xbe, 0x80, 0x83, 0x08, 0x06, 0x24}
720DEFINE_GUID!{Annotation_InsertionChange_GUID,
721    0x0dbeb3a6, 0xdf15, 0x4164, 0xa3, 0xc0, 0xe2, 0x1a, 0x8c, 0xe9, 0x31, 0xc4}
722DEFINE_GUID!{Annotation_DeletionChange_GUID,
723    0xbe3d5b05, 0x951d, 0x42e7, 0x90, 0x1d, 0xad, 0xc8, 0xc2, 0xcf, 0x34, 0xd0}
724DEFINE_GUID!{Annotation_MoveChange_GUID,
725    0x9da587eb, 0x23e5, 0x4490, 0xb3, 0x85, 0x1a, 0x22, 0xdd, 0xc8, 0xb1, 0x87}
726DEFINE_GUID!{Annotation_FormatChange_GUID,
727    0xeb247345, 0xd4f1, 0x41ce, 0x8e, 0x52, 0xf7, 0x9b, 0x69, 0x63, 0x5e, 0x48}
728DEFINE_GUID!{Annotation_UnsyncedChange_GUID,
729    0x1851116a, 0x0e47, 0x4b30, 0x8c, 0xb5, 0xd7, 0xda, 0xe4, 0xfb, 0xcd, 0x1b}
730DEFINE_GUID!{Annotation_EditingLockedChange_GUID,
731    0xc31f3e1c, 0x7423, 0x4dac, 0x83, 0x48, 0x41, 0xf0, 0x99, 0xff, 0x6f, 0x64}
732DEFINE_GUID!{Annotation_ExternalChange_GUID,
733    0x75a05b31, 0x5f11, 0x42fd, 0x88, 0x7d, 0xdf, 0xa0, 0x10, 0xdb, 0x23, 0x92}
734DEFINE_GUID!{Annotation_ConflictingChange_GUID,
735    0x98af8802, 0x517c, 0x459f, 0xaf, 0x13, 0x01, 0x6d, 0x3f, 0xab, 0x87, 0x7e}
736DEFINE_GUID!{Annotation_Author_GUID,
737    0xf161d3a7, 0xf81b, 0x4128, 0xb1, 0x7f, 0x71, 0xf6, 0x90, 0x91, 0x45, 0x20}
738DEFINE_GUID!{Annotation_AdvancedProofingIssue_GUID,
739    0xdac7b72c, 0xc0f2, 0x4b84, 0xb9, 0x0d, 0x5f, 0xaf, 0xc0, 0xf0, 0xef, 0x1c}
740DEFINE_GUID!{Annotation_DataValidationError_GUID,
741    0xc8649fa8, 0x9775, 0x437e, 0xad, 0x46, 0xe7, 0x09, 0xd9, 0x3c, 0x23, 0x43}
742DEFINE_GUID!{Annotation_CircularReferenceError_GUID,
743    0x25bd9cf4, 0x1745, 0x4659, 0xba, 0x67, 0x72, 0x7f, 0x03, 0x18, 0xc6, 0x16}
744DEFINE_GUID!{Annotation_Mathematics_GUID,
745    0xeaab634b, 0x26d0, 0x40c1, 0x80, 0x73, 0x57, 0xca, 0x1c, 0x63, 0x3c, 0x9b}
746DEFINE_GUID!{Changes_Summary_GUID,
747    0x313d65a6, 0xe60f, 0x4d62, 0x98, 0x61, 0x55, 0xaf, 0xd7, 0x28, 0xd2, 0x07}
748DEFINE_GUID!{StyleId_Custom_GUID,
749    0xef2edd3e, 0xa999, 0x4b7c, 0xa3, 0x78, 0x09, 0xbb, 0xd5, 0x2a, 0x35, 0x16}
750DEFINE_GUID!{StyleId_Heading1_GUID,
751    0x7f7e8f69, 0x6866, 0x4621, 0x93, 0x0c, 0x9a, 0x5d, 0x0c, 0xa5, 0x96, 0x1c}
752DEFINE_GUID!{StyleId_Heading2_GUID,
753    0xbaa9b241, 0x5c69, 0x469d, 0x85, 0xad, 0x47, 0x47, 0x37, 0xb5, 0x2b, 0x14}
754DEFINE_GUID!{StyleId_Heading3_GUID,
755    0xbf8be9d2, 0xd8b8, 0x4ec5, 0x8c, 0x52, 0x9c, 0xfb, 0x0d, 0x03, 0x59, 0x70}
756DEFINE_GUID!{StyleId_Heading4_GUID,
757    0x8436ffc0, 0x9578, 0x45fc, 0x83, 0xa4, 0xff, 0x40, 0x05, 0x33, 0x15, 0xdd}
758DEFINE_GUID!{StyleId_Heading5_GUID,
759    0x909f424d, 0x0dbf, 0x406e, 0x97, 0xbb, 0x4e, 0x77, 0x3d, 0x97, 0x98, 0xf7}
760DEFINE_GUID!{StyleId_Heading6_GUID,
761    0x89d23459, 0x5d5b, 0x4824, 0xa4, 0x20, 0x11, 0xd3, 0xed, 0x82, 0xe4, 0x0f}
762DEFINE_GUID!{StyleId_Heading7_GUID,
763    0xa3790473, 0xe9ae, 0x422d, 0xb8, 0xe3, 0x3b, 0x67, 0x5c, 0x61, 0x81, 0xa4}
764DEFINE_GUID!{StyleId_Heading8_GUID,
765    0x2bc14145, 0xa40c, 0x4881, 0x84, 0xae, 0xf2, 0x23, 0x56, 0x85, 0x38, 0x0c}
766DEFINE_GUID!{StyleId_Heading9_GUID,
767    0xc70d9133, 0xbb2a, 0x43d3, 0x8a, 0xc6, 0x33, 0x65, 0x78, 0x84, 0xb0, 0xf0}
768DEFINE_GUID!{StyleId_Title_GUID,
769    0x15d8201a, 0xffcf, 0x481f, 0xb0, 0xa1, 0x30, 0xb6, 0x3b, 0xe9, 0x8f, 0x07}
770DEFINE_GUID!{StyleId_Subtitle_GUID,
771    0xb5d9fc17, 0x5d6f, 0x4420, 0xb4, 0x39, 0x7c, 0xb1, 0x9a, 0xd4, 0x34, 0xe2}
772DEFINE_GUID!{StyleId_Normal_GUID,
773    0xcd14d429, 0xe45e, 0x4475, 0xa1, 0xc5, 0x7f, 0x9e, 0x6b, 0xe9, 0x6e, 0xba}
774DEFINE_GUID!{StyleId_Emphasis_GUID,
775    0xca6e7dbe, 0x355e, 0x4820, 0x95, 0xa0, 0x92, 0x5f, 0x04, 0x1d, 0x34, 0x70}
776DEFINE_GUID!{StyleId_Quote_GUID,
777    0x5d1c21ea, 0x8195, 0x4f6c, 0x87, 0xea, 0x5d, 0xab, 0xec, 0xe6, 0x4c, 0x1d}
778DEFINE_GUID!{StyleId_BulletedList_GUID,
779    0x5963ed64, 0x6426, 0x4632, 0x8c, 0xaf, 0xa3, 0x2a, 0xd4, 0x02, 0xd9, 0x1a}
780DEFINE_GUID!{StyleId_NumberedList_GUID,
781    0x1e96dbd5, 0x64c3, 0x43d0, 0xb1, 0xee, 0xb5, 0x3b, 0x06, 0xe3, 0xed, 0xdf}
782DEFINE_GUID!{Notification_Event_GUID,
783    0x72c5a2f7, 0x9788, 0x480f, 0xb8, 0xeb, 0x4d, 0xee, 0x00, 0xf6, 0x18, 0x6f}
784DEFINE_GUID!{SID_IsUIAutomationObject,
785    0xb96fdb85, 0x7204, 0x4724, 0x84, 0x2b, 0xc7, 0x05, 0x9d, 0xed, 0xb9, 0xd0}
786DEFINE_GUID!{SID_ControlElementProvider,
787    0xf4791d68, 0xe254, 0x4ba3, 0x9a, 0x53, 0x26, 0xa5, 0xc5, 0x49, 0x79, 0x46}
788DEFINE_GUID!{IsSelectionPattern2Available_Property_GUID,
789    0x490806fb, 0x6e89, 0x4a47, 0x83, 0x19, 0xd2, 0x66, 0xe5, 0x11, 0xf0, 0x21}
790DEFINE_GUID!{Selection2_FirstSelectedItem_Property_GUID,
791    0xcc24ea67, 0x369c, 0x4e55, 0x9f, 0xf7, 0x38, 0xda, 0x69, 0x54, 0x0c, 0x29}
792DEFINE_GUID!{Selection2_LastSelectedItem_Property_GUID,
793    0xcf7bda90, 0x2d83, 0x49f8, 0x86, 0x0c, 0x9c, 0xe3, 0x94, 0xcf, 0x89, 0xb4}
794DEFINE_GUID!{Selection2_CurrentSelectedItem_Property_GUID,
795    0x34257c26, 0x83b5, 0x41a6, 0x93, 0x9c, 0xae, 0x84, 0x1c, 0x13, 0x62, 0x36}
796DEFINE_GUID!{Selection2_ItemCount_Property_GUID,
797    0xbb49eb9f, 0x456d, 0x4048, 0xb5, 0x91, 0x9c, 0x20, 0x26, 0xb8, 0x46, 0x36}
798DEFINE_GUID!{Selection_Pattern2_GUID,
799    0xfba25cab, 0xab98, 0x49f7, 0xa7, 0xdc, 0xfe, 0x53, 0x9d, 0xc1, 0x5b, 0xe7}
800DEFINE_GUID!{HeadingLevel_Property_GUID,
801    0x29084272, 0xaaaf, 0x4a30, 0x87, 0x96, 0x3c, 0x12, 0xf6, 0x2b, 0x6b, 0xbb}
802DEFINE_GUID!{IsDialog_Property_GUID,
803    0x9d0dfb9b, 0x8436, 0x4501, 0xbb, 0xbb, 0xe5, 0x34, 0xa4, 0xfb, 0x3b, 0x3f}
804extern "C" {
805    pub fn UiaGetErrorDescription(
806        pDescription: *mut BSTR
807    ) -> BOOL;
808}
809ENUM!{enum ConditionType {
810    ConditionType_True = 0,
811    ConditionType_False = 1,
812    ConditionType_Property = 2,
813    ConditionType_And = 3,
814    ConditionType_Or = 4,
815    ConditionType_Not = 5,
816}}
817STRUCT!{struct UiaCondition {
818    ConditionType: ConditionType,
819}}
820#[cfg(not(feature = "uiautomationclient"))]
821ENUM!{enum PropertyConditionFlags {
822    PropertyConditionFlags_None = 0x00,
823    PropertyConditionFlags_IgnoreCase = 0x01,
824    PropertyConditionFlags_MatchSubstring = 0x02,
825}}
826STRUCT!{struct UiaPropertyCondition {
827    ConditionType: ConditionType,
828    PropertyId: PROPERTYID,
829    Value: VARIANT,
830    Flags: PropertyConditionFlags,
831}}
832STRUCT!{struct UiaAndOrCondition {
833    ConditionType: ConditionType,
834    ppConditions: *mut *mut UiaCondition,
835    cConditions: c_int,
836}}
837STRUCT!{struct UiaNotCondition {
838    ConditionType: ConditionType,
839    pCondition: *mut UiaCondition,
840}}
841#[cfg(not(feature = "uiautomationclient"))]
842ENUM!{enum AutomationElementMode {
843    AutomationElementMode_None,
844    AutomationElementMode_Full,
845}}
846STRUCT!{struct UiaCacheRequest {
847    pViewCondition: *mut UiaCondition,
848    Scope: TreeScope,
849    pProperties: *mut PROPERTYID,
850    cProperties: c_int,
851    pPatterns: *mut PATTERNID,
852    cPatterns: c_int,
853    automationElementMode: AutomationElementMode,
854}}
855extern "C" {
856    pub fn UiaHUiaNodeFromVariant(
857        pvar: *mut VARIANT,
858        phnode: *mut HUIANODE,
859    ) -> HRESULT;
860    pub fn UiaHPatternObjectFromVariant(
861        pvar: *mut VARIANT,
862        phobj: *mut HUIAPATTERNOBJECT,
863    ) -> HRESULT;
864    pub fn UiaHTextRangeFromVariant(
865        pvar: *mut VARIANT,
866        phtextrange: *mut HUIATEXTRANGE,
867    ) -> HRESULT;
868}
869ENUM!{enum NormalizeState {
870    NormalizeState_None,
871    NormalizeState_View,
872    NormalizeState_Custom,
873}}
874#[cfg(not(feature = "uiautomationclient"))]
875ENUM!{enum TreeTraversalOptions {
876    TreeTraversalOptions_Default = 0x0,
877    TreeTraversalOptions_PostOrder = 0x1,
878    TreeTraversalOptions_LastToFirstOrder = 0x2,
879}}
880STRUCT!{struct UiaFindParams {
881    maxDepth: c_int,
882    findFirst: BOOL,
883    ExcludeRoot: BOOL,
884    pFindCondition: *mut UiaCondition,
885}}
886extern "C" {
887    pub fn UiaNodeRelease(
888        hnode: HUIANODE,
889    ) -> BOOL;
890    pub fn UiaGetPropertyValue(
891        hnode: HUIANODE,
892        propertyId: PROPERTYID,
893        pValue: *mut VARIANT,
894    ) -> HRESULT;
895    pub fn UiaGetPatternProvider(
896        hnode: HUIANODE,
897        patternId: PATTERNID,
898        phobj: *mut HUIAPATTERNOBJECT,
899    ) -> HRESULT;
900    pub fn UiaGetRuntimeId(
901        hnode: HUIANODE,
902        pruntimeId: *mut *mut SAFEARRAY,
903    ) -> HRESULT;
904    pub fn UiaSetFocus(
905        hnode: HUIANODE,
906    ) -> HRESULT;
907    pub fn UiaNavigate(
908        hnode: HUIANODE,
909        direction: NavigateDirection,
910        pCondition: *mut UiaCondition,
911        pRequest: *mut UiaCacheRequest,
912        ppRequestedData: *mut *mut SAFEARRAY,
913        ppTreeStructure: *mut BSTR,
914    ) -> HRESULT;
915    pub fn UiaGetUpdatedCache(
916        hnode: HUIANODE,
917        pRequest: *mut UiaCacheRequest,
918        normalizeState: NormalizeState,
919        pNormalizeCondition: *mut UiaCondition,
920        ppRequestedData: *mut *mut SAFEARRAY,
921        ppTreeStructure: *mut *mut BSTR,
922    ) -> HRESULT;
923    pub fn UiaFind(
924        hnode: HUIANODE,
925        pParams: *mut UiaFindParams,
926        pRequest: *mut UiaCacheRequest,
927        ppRequestedData: *mut *mut SAFEARRAY,
928        ppOffsets: *mut *mut SAFEARRAY,
929        ppTreeStructure: *mut *mut SAFEARRAY,
930    ) -> HRESULT;
931    pub fn UiaNodeFromPoint(
932        x: c_double,
933        y: c_double,
934        pRequest: *mut UiaCacheRequest,
935        ppRequestedData: *mut *mut SAFEARRAY,
936        ppTreeStructure: *mut BSTR,
937    ) -> HRESULT;
938    pub fn UiaNodeFromFocus(
939        pRequest: *mut UiaCacheRequest,
940        ppRequestedData: *mut *mut SAFEARRAY,
941        ppTreeStructure: *mut BSTR,
942    ) -> HRESULT;
943    pub fn UiaNodeFromHandle(
944        hwnd: HWND,
945        phnode: *mut HUIANODE,
946    ) -> HRESULT;
947    pub fn UiaNodeFromProvider(
948        pProvider: *mut IRawElementProviderSimple,
949        phnode: *mut HUIANODE,
950    ) -> HRESULT;
951    pub fn UiaGetRootNode(
952        phnode: *mut HUIANODE,
953    ) -> HRESULT;
954}
955#[inline]
956pub fn UiaRectSetEmpty(rc: &mut UiaRect) {
957    rc.left = 0.0;
958    rc.top = 0.0;
959    rc.width = 0.0;
960    rc.height = 0.0;
961}
962#[inline]
963pub fn UiaRectIsEmpty(rc: &UiaRect) -> bool {
964    rc.width <= 0.0 || rc.height <= 0.0
965}
966ENUM!{enum ProviderType {
967    ProviderType_BaseHwnd,
968    ProviderType_Proxy,
969    ProviderType_NonClientArea,
970}}
971FN!{stdcall UiaProviderCallback(
972    hwnd: HWND,
973    providerType: ProviderType,
974) -> *mut SAFEARRAY}
975extern "C" {
976    pub fn UiaRegisterProviderCallback(pCallback: *mut UiaProviderCallback);
977}
978ENUM!{enum AutomationIdentifierType {
979    AutomationIdentifierType_Property,
980    AutomationIdentifierType_Pattern,
981    AutomationIdentifierType_Event,
982    AutomationIdentifierType_ControlType,
983    AutomationIdentifierType_TextAttribute,
984    AutomationIdentifierType_LandmarkType,
985    AutomationIdentifierType_Annotation,
986    AutomationIdentifierType_Changes,
987    AutomationIdentifierType_Style,
988}}
989extern "C" {
990    pub fn UiaLookupId(
991        type_: AutomationIdentifierType,
992        pGuid: *const GUID,
993    ) -> c_int;
994    pub fn UiaGetReservedNotSupportedValue(
995        punkNotSupportedValue: *mut *mut IUnknown,
996    ) -> HRESULT;
997    pub fn UiaGetReservedMixedAttributeValue(
998        punkMixedAttributeValue: *mut *mut IUnknown,
999    ) -> HRESULT;
1000}
1001ENUM!{enum EventArgsType {
1002    EventArgsType_Simple,
1003    EventArgsType_PropertyChanged,
1004    EventArgsType_StructureChanged,
1005    EventArgsType_AsyncContentLoaded,
1006    EventArgsType_WindowClosed,
1007    EventArgsType_TextEditTextChanged,
1008    EventArgsType_Changes,
1009    EventArgsType_Notification,
1010    EventArgsType_ActiveTextPositionChanged,
1011}}
1012ENUM!{enum AsyncContentLoadedState {
1013    AsyncContentLoadedState_Beginning,
1014    AsyncContentLoadedState_Progress,
1015    AsyncContentLoadedState_Completed,
1016}}
1017STRUCT!{struct UiaEventArgs {
1018    Type: EventArgsType,
1019    EventId: c_int,
1020}}
1021STRUCT!{struct UiaPropertyChangedEventArgs {
1022    Type: EventArgsType,
1023    EventId: c_int,
1024    PropertyId: PROPERTYID,
1025    OldValue: VARIANT,
1026    NewValue: VARIANT,
1027}}
1028STRUCT!{struct UiaStructureChangedEventArgs {
1029    Type: EventArgsType,
1030    EventId: c_int,
1031    StructureChangeType: StructureChangeType,
1032    pRuntimeId: *mut c_int,
1033    cRuntimeIdLen: c_int,
1034}}
1035STRUCT!{struct UiaTextEditTextChangedEventArgs {
1036    Type: EventArgsType,
1037    EventId: c_int,
1038    TextEditChangeType: TextEditChangeType,
1039    pTextChange: *mut SAFEARRAY,
1040}}
1041STRUCT!{struct UiaChangesEventArgs {
1042    Type: EventArgsType,
1043    EventId: c_int,
1044    EventIdCount: c_int,
1045    pUiaChanges: *mut UiaChangeInfo,
1046}}
1047STRUCT!{struct UiaAsyncContentLoadedEventArgs {
1048    Type: EventArgsType,
1049    EventId: c_int,
1050    AsyncContentLoadedState: AsyncContentLoadedState,
1051    PercentComplete: c_double,
1052}}
1053STRUCT!{struct UiaWindowClosedEventArgs {
1054    Type: EventArgsType,
1055    EventId: c_int,
1056    pRuntimeId: *mut c_int,
1057    cRuntimeIdLen: c_int,
1058}}
1059extern "C" {
1060    pub fn UiaClientsAreListening() -> BOOL;
1061    pub fn UiaRaiseAutomationPropertyChangedEvent(
1062        pProvider: *mut IRawElementProviderSimple,
1063        id: PROPERTYID,
1064        oldValue: VARIANT,
1065        newValue: VARIANT,
1066    ) -> HRESULT;
1067    pub fn UiaRaiseAutomationEvent(
1068        pProvider: *mut IRawElementProviderSimple,
1069        id: EVENTID,
1070    ) -> HRESULT;
1071    pub fn UiaRaiseStructureChangedEvent(
1072        pProvider: *mut IRawElementProviderSimple,
1073        structureChangeType: StructureChangeType,
1074        pRuntimeId: *mut c_int,
1075        cRuntimeIdLen: c_int,
1076    ) -> HRESULT;
1077    pub fn UiaRaiseAsyncContentLoadedEvent(
1078        pProvider: *mut IRawElementProviderSimple,
1079        asyncContentLoadedState: AsyncContentLoadedState,
1080        percentComplete: c_double,
1081    ) -> HRESULT;
1082    pub fn UiaRaiseTextEditTextChangedEvent(
1083        pProvider: *mut IRawElementProviderSimple,
1084        textEditChangeType: TextEditChangeType,
1085        pChangedData: *mut SAFEARRAY,
1086    ) -> HRESULT;
1087    pub fn UiaRaiseChangesEvent(
1088        pProvider: *mut IRawElementProviderSimple,
1089        eventIdCount: c_int,
1090        pUiaChanges: *mut UiaChangeInfo,
1091    ) -> HRESULT;
1092    pub fn UiaRaiseNotificationEvent(
1093        provider: *mut IRawElementProviderSimple,
1094        notificationKind: NotificationKind,
1095        notificationProcessing: NotificationProcessing,
1096        displayString: BSTR,
1097        activityId: BSTR,
1098    ) -> HRESULT;
1099    pub fn UiaRaiseActiveTextPositionChangedEvent(
1100        provider: *mut IRawElementProviderSimple,
1101        textRange: *mut ITextRangeProvider,
1102    ) -> HRESULT;
1103}
1104FN!{stdcall UiaEventCallback(
1105    pArgs: *mut UiaEventArgs,
1106    pRequestedData: *mut SAFEARRAY,
1107    pTreeStructure: BSTR,
1108) -> ()}
1109extern "C" {
1110    pub fn UiaAddEvent(
1111        hnode: HUIANODE,
1112        eventId: EVENTID,
1113        pCallback: *mut UiaEventCallback,
1114        scope: TreeScope,
1115        pProperties: *mut PROPERTYID,
1116        cProperties: c_int,
1117        pRequest: *mut UiaCacheRequest,
1118        phEvent: *mut HUIAEVENT,
1119    ) -> HRESULT;
1120    pub fn UiaRemoveEvent(
1121        hEvent: HUIAEVENT,
1122    ) -> HRESULT;
1123    pub fn UiaEventAddWindow(
1124        hEvent: HUIAEVENT,
1125        hwnd: HWND,
1126    ) -> HRESULT;
1127    pub fn UiaEventRemoveWindow(
1128        hEvent: HUIAEVENT,
1129        hwnd: HWND,
1130    ) -> HRESULT;
1131    pub fn DockPattern_SetDockPosition(
1132        hobj: HUIAPATTERNOBJECT,
1133        dockPosition: DockPosition,
1134    ) -> HRESULT;
1135    pub fn ExpandCollapsePattern_Collapse(
1136        hobj: HUIAPATTERNOBJECT,
1137    ) -> HRESULT;
1138    pub fn ExpandCollapsePattern_Expand(
1139        hobj: HUIAPATTERNOBJECT,
1140    ) -> HRESULT;
1141    pub fn GridPattern_GetItem(
1142        hobj: HUIAPATTERNOBJECT,
1143        row: c_int,
1144        column: c_int,
1145        pResult: *mut HUIANODE,
1146    ) -> HRESULT;
1147    pub fn InvokePattern_Invoke(
1148        hobj: HUIAPATTERNOBJECT,
1149    ) -> HRESULT;
1150    pub fn MultipleViewPattern_GetViewName(
1151        hobj: HUIAPATTERNOBJECT,
1152        viewId: c_int,
1153        ppStr: *mut BSTR,
1154    ) -> HRESULT;
1155    pub fn MultipleViewPattern_SetCurrentView(
1156        hobj: HUIAPATTERNOBJECT,
1157        viewId: c_int,
1158    ) -> HRESULT;
1159    pub fn RangeValuePattern_SetValue(
1160        hobj: HUIAPATTERNOBJECT,
1161        val: c_double,
1162    ) -> HRESULT;
1163    pub fn ScrollItemPattern_ScrollIntoView(
1164        hobj: HUIAPATTERNOBJECT,
1165    ) -> HRESULT;
1166    pub fn ScrollPattern_Scroll(
1167        hobj: HUIAPATTERNOBJECT,
1168        horizontalAmount: ScrollAmount,
1169        verticalAmount: ScrollAmount,
1170    ) -> HRESULT;
1171    pub fn ScrollPattern_SetScrollPercent(
1172        hobj: HUIAPATTERNOBJECT,
1173        horizontalPercent: c_double,
1174        verticalPercent: c_double,
1175    ) -> HRESULT;
1176    pub fn SelectionItemPattern_AddToSelection(
1177        hobj: HUIAPATTERNOBJECT,
1178    ) -> HRESULT;
1179    pub fn SelectionItemPattern_RemoveFromSelection(
1180        hobj: HUIAPATTERNOBJECT,
1181    ) -> HRESULT;
1182    pub fn SelectionItemPattern_Select(
1183        hobj: HUIAPATTERNOBJECT,
1184    ) -> HRESULT;
1185    pub fn TogglePattern_Toggle(
1186        hobj: HUIAPATTERNOBJECT,
1187    ) -> HRESULT;
1188    pub fn TransformPattern_Move(
1189        hobj: HUIAPATTERNOBJECT,
1190        x: c_double,
1191        y: c_double,
1192    ) -> HRESULT;
1193    pub fn TransformPattern_Resize(
1194        hobj: HUIAPATTERNOBJECT,
1195        width: c_double,
1196        height: c_double,
1197    ) -> HRESULT;
1198    pub fn TransformPattern_Rotate(
1199        hobj: HUIAPATTERNOBJECT,
1200        degrees: c_double,
1201    ) -> HRESULT;
1202    pub fn ValuePattern_SetValue(
1203        hobj: HUIAPATTERNOBJECT,
1204        pVal: LPCWSTR,
1205    ) -> HRESULT;
1206    pub fn WindowPattern_Close(
1207        hobj: HUIAPATTERNOBJECT,
1208    ) -> HRESULT;
1209    pub fn WindowPattern_SetWindowVisualState(
1210        hobj: HUIAPATTERNOBJECT,
1211        state: WindowVisualState,
1212    ) -> HRESULT;
1213    pub fn WindowPattern_WaitForInputIdle(
1214        hobj: HUIAPATTERNOBJECT,
1215        milliseconds: c_int,
1216        pResult: *mut BOOL,
1217    ) -> HRESULT;
1218    pub fn TextPattern_GetSelection(
1219        hobj: HUIAPATTERNOBJECT,
1220        pRetVal: *mut *mut SAFEARRAY,
1221    ) -> HRESULT;
1222    pub fn TextPattern_GetVisibleRanges(
1223        hobj: HUIAPATTERNOBJECT,
1224        pRetVal: *mut *mut SAFEARRAY,
1225    ) -> HRESULT;
1226    pub fn TextPattern_RangeFromChild(
1227        hobj: HUIAPATTERNOBJECT,
1228        hnodeChild: HUIANODE,
1229        pRetVal: *mut HUIATEXTRANGE,
1230    ) -> HRESULT;
1231    pub fn TextPattern_RangeFromPoint(
1232        hobj: HUIAPATTERNOBJECT,
1233        point: UiaPoint,
1234        pRetVal: *mut HUIATEXTRANGE,
1235    ) -> HRESULT;
1236    pub fn TextPattern_get_DocumentRange(
1237        hobj: HUIAPATTERNOBJECT,
1238        pRetVal: *mut HUIATEXTRANGE,
1239    ) -> HRESULT;
1240    pub fn TextPattern_get_SupportedTextSelection(
1241        hobj: HUIAPATTERNOBJECT,
1242        pRetVal: *mut SupportedTextSelection,
1243    ) -> HRESULT;
1244    pub fn TextRange_Clone(
1245        hobj: HUIATEXTRANGE,
1246        pRetVal: *mut HUIATEXTRANGE,
1247    ) -> HRESULT;
1248    pub fn TextRange_Compare(
1249        hobj: HUIATEXTRANGE,
1250        range: HUIATEXTRANGE,
1251        pRetVal: *mut BOOL,
1252    ) -> HRESULT;
1253    pub fn TextRange_CompareEndpoints(
1254        hobj: HUIATEXTRANGE,
1255        endpoint: TextPatternRangeEndpoint,
1256        targetRange: HUIATEXTRANGE,
1257        targetEndpoint: TextPatternRangeEndpoint,
1258        pRetVal: *mut c_int,
1259    ) -> HRESULT;
1260    pub fn TextRange_ExpandToEnclosingUnit(
1261        hobj: HUIATEXTRANGE,
1262        unit: TextUnit,
1263    ) -> HRESULT;
1264    pub fn TextRange_GetAttributeValue(
1265        hobj: HUIATEXTRANGE,
1266        attributeId: TEXTATTRIBUTEID,
1267        pRetVal: *mut VARIANT,
1268    ) -> HRESULT;
1269    pub fn TextRange_FindAttribute(
1270        hobj: HUIATEXTRANGE,
1271        attributeId: TEXTATTRIBUTEID,
1272        val: VARIANT,
1273        backward: BOOL,
1274        pRetVal: *mut HUIATEXTRANGE,
1275    ) -> HRESULT;
1276    pub fn TextRange_FindText(
1277        hobj: HUIATEXTRANGE,
1278        text: BSTR,
1279        backward: BOOL,
1280        ignoreCase: BOOL,
1281        pRetVal: *mut HUIATEXTRANGE,
1282    ) -> HRESULT;
1283    pub fn TextRange_GetBoundingRectangles(
1284        hobj: HUIATEXTRANGE,
1285        pRetVal: *mut *mut SAFEARRAY,
1286    ) -> HRESULT;
1287    pub fn TextRange_GetEnclosingElement(
1288        hobj: HUIATEXTRANGE,
1289        pRetVal: *mut HUIANODE,
1290    ) -> HRESULT;
1291    pub fn TextRange_GetText(
1292        hobj: HUIATEXTRANGE,
1293        maxLength: c_int,
1294        pRetVal: *mut BSTR,
1295    ) -> HRESULT;
1296    pub fn TextRange_Move(
1297        hobj: HUIATEXTRANGE,
1298        unit: TextUnit,
1299        count: c_int,
1300        pRetVal: *mut c_int,
1301    ) -> HRESULT;
1302    pub fn TextRange_MoveEndpointByUnit(
1303        hobj: HUIATEXTRANGE,
1304        endpoint: TextPatternRangeEndpoint,
1305        unit: TextUnit,
1306        count: c_int,
1307        pRetVal: *mut c_int,
1308    ) -> HRESULT;
1309    pub fn TextRange_MoveEndpointByRange(
1310        hobj: HUIATEXTRANGE,
1311        endpoint: TextPatternRangeEndpoint,
1312        targetRange: HUIATEXTRANGE,
1313        targetEndpoint: TextPatternRangeEndpoint,
1314    ) -> HRESULT;
1315    pub fn TextRange_Select(
1316        hobj: HUIATEXTRANGE,
1317    ) -> HRESULT;
1318    pub fn TextRange_AddToSelection(
1319        hobj: HUIATEXTRANGE,
1320    ) -> HRESULT;
1321    pub fn TextRange_RemoveFromSelection(
1322        hobj: HUIATEXTRANGE,
1323    ) -> HRESULT;
1324    pub fn TextRange_ScrollIntoView(
1325        hobj: HUIATEXTRANGE,
1326        alignToTop: BOOL,
1327    ) -> HRESULT;
1328    pub fn TextRange_GetChildren(
1329        hobj: HUIATEXTRANGE,
1330        pRetVal: *mut *mut SAFEARRAY,
1331    ) -> HRESULT;
1332    pub fn ItemContainerPattern_FindItemByProperty(
1333        hobj: HUIAPATTERNOBJECT,
1334        hnodeStartAfter: HUIANODE,
1335        propertyId: PROPERTYID,
1336        value: VARIANT,
1337        pFound: *mut HUIANODE,
1338    ) -> HRESULT;
1339    pub fn LegacyIAccessiblePattern_Select(
1340        hobj: HUIAPATTERNOBJECT,
1341        flagsSelect: c_long,
1342    ) -> HRESULT;
1343    pub fn LegacyIAccessiblePattern_DoDefaultAction(
1344        hobj: HUIAPATTERNOBJECT,
1345    ) -> HRESULT;
1346    pub fn LegacyIAccessiblePattern_SetValue(
1347        hobj: HUIAPATTERNOBJECT,
1348        szValue: LPCWSTR,
1349    ) -> HRESULT;
1350    pub fn LegacyIAccessiblePattern_GetIAccessible(
1351        hobj: HUIAPATTERNOBJECT,
1352        pAccessible: *mut *mut IAccessible,
1353    ) -> HRESULT;
1354    pub fn SynchronizedInputPattern_StartListening(
1355        hobj: HUIAPATTERNOBJECT,
1356        inputType: SynchronizedInputType,
1357    ) -> HRESULT;
1358    pub fn SynchronizedInputPattern_Cancel(
1359        hobj: HUIAPATTERNOBJECT,
1360    ) -> HRESULT;
1361    pub fn VirtualizedItemPattern_Realize(
1362        hobj: HUIAPATTERNOBJECT,
1363    ) -> HRESULT;
1364    pub fn CustomNavigationPattern_Navigate(
1365        hobj: HUIAPATTERNOBJECT,
1366        direction: NavigateDirection,
1367        pResult: *mut HUIANODE,
1368    ) -> HRESULT;
1369    pub fn UiaPatternRelease(
1370        hobj: HUIAPATTERNOBJECT,
1371    ) -> BOOL;
1372    pub fn UiaTextRangeRelease(
1373        hobj: HUIATEXTRANGE,
1374    ) -> BOOL;
1375    pub fn UiaReturnRawElementProvider(
1376        hwnd: HWND,
1377        wParam: WPARAM,
1378        lParam: LPARAM,
1379        el: *mut IRawElementProviderSimple,
1380    ) -> LRESULT;
1381    pub fn UiaHostProviderFromHwnd(
1382        hwnd: HWND,
1383        ppProvider: *mut *mut IRawElementProviderSimple,
1384    ) -> HRESULT;
1385    pub fn UiaProviderForNonClient(
1386        hwnd: HWND,
1387        idObject: c_long,
1388        idChild: c_long,
1389        ppProvider: *mut *mut IRawElementProviderSimple,
1390    ) -> HRESULT;
1391}
1392pub const UIA_IAFP_DEFAULT: DWORD = 0x0000;
1393pub const UIA_IAFP_UNWRAP_BRIDGE: DWORD = 0x0001;
1394extern "C" {
1395    pub fn UiaIAccessibleFromProvider(
1396        pProvider: *mut IRawElementProviderSimple,
1397        dwFlags: DWORD,
1398        ppAccessible: *mut *mut IAccessible,
1399        pvarChild: *mut VARIANT,
1400    ) -> HRESULT;
1401}
1402pub const UIA_PFIA_DEFAULT: DWORD = 0x0000;
1403pub const UIA_PFIA_UNWRAP_BRIDGE: DWORD = 0x0001;
1404extern "C" {
1405    pub fn UiaProviderFromIAccessible(
1406        pAccessible: *mut IAccessible,
1407        idChild: c_long,
1408        dwFlags: DWORD,
1409        ppProvider: *mut *mut IRawElementProviderSimple,
1410    ) -> HRESULT;
1411    pub fn UiaDisconnectAllProviders() -> HRESULT;
1412    pub fn UiaDisconnectProvider(
1413        pProvider: *mut IRawElementProviderSimple,
1414    ) -> HRESULT;
1415    pub fn UiaHasServerSideProvider(
1416        hwnd: HWND,
1417    ) -> BOOL;
1418}