1use 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}