1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3 #[repr(C)]
4 pub struct ACCESSTIMEOUT {
5     pub cbSize: u32,
6     pub dwFlags: u32,
7     pub iTimeOutMSec: u32,
8 }
9 impl ACCESSTIMEOUT {}
10 impl ::std::default::Default for ACCESSTIMEOUT {
11     fn default() -> Self {
12         unsafe { ::std::mem::zeroed() }
13     }
14 }
15 impl ::std::fmt::Debug for ACCESSTIMEOUT {
16     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17         fmt.debug_struct("ACCESSTIMEOUT").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).field("iTimeOutMSec", &self.iTimeOutMSec).finish()
18     }
19 }
20 impl ::std::cmp::PartialEq for ACCESSTIMEOUT {
21     fn eq(&self, other: &Self) -> bool {
22         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.iTimeOutMSec == other.iTimeOutMSec
23     }
24 }
25 impl ::std::cmp::Eq for ACCESSTIMEOUT {}
26 unsafe impl ::windows::runtime::Abi for ACCESSTIMEOUT {
27     type Abi = Self;
28     type DefaultType = Self;
29 }
30 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
31 #[repr(transparent)]
32 pub struct ACC_UTILITY_STATE_FLAGS(pub u32);
33 pub const ANRUS_ON_SCREEN_KEYBOARD_ACTIVE: ACC_UTILITY_STATE_FLAGS = ACC_UTILITY_STATE_FLAGS(1u32);
34 pub const ANRUS_TOUCH_MODIFICATION_ACTIVE: ACC_UTILITY_STATE_FLAGS = ACC_UTILITY_STATE_FLAGS(2u32);
35 pub const ANRUS_PRIORITY_AUDIO_ACTIVE: ACC_UTILITY_STATE_FLAGS = ACC_UTILITY_STATE_FLAGS(4u32);
36 pub const ANRUS_PRIORITY_AUDIO_ACTIVE_NODUCK: ACC_UTILITY_STATE_FLAGS = ACC_UTILITY_STATE_FLAGS(8u32);
37 impl ::std::convert::From<u32> for ACC_UTILITY_STATE_FLAGS {
38     fn from(value: u32) -> Self {
39         Self(value)
40     }
41 }
42 unsafe impl ::windows::runtime::Abi for ACC_UTILITY_STATE_FLAGS {
43     type Abi = Self;
44     type DefaultType = Self;
45 }
46 impl ::std::ops::BitOr for ACC_UTILITY_STATE_FLAGS {
47     type Output = Self;
48     fn bitor(self, rhs: Self) -> Self {
49         Self(self.0 | rhs.0)
strip_trailoptnull50     }
51 }
52 impl ::std::ops::BitAnd for ACC_UTILITY_STATE_FLAGS {
53     type Output = Self;
54     fn bitand(self, rhs: Self) -> Self {
55         Self(self.0 & rhs.0)
56     }
57 }
58 impl ::std::ops::BitOrAssign for ACC_UTILITY_STATE_FLAGS {
59     fn bitor_assign(&mut self, rhs: Self) {
60         self.0.bitor_assign(rhs.0)
61     }
62 }
63 impl ::std::ops::BitAndAssign for ACC_UTILITY_STATE_FLAGS {
64     fn bitand_assign(&mut self, rhs: Self) {
65         self.0.bitand_assign(rhs.0)
66     }
67 }
68 impl ::std::ops::Not for ACC_UTILITY_STATE_FLAGS {
69     type Output = Self;
70     fn not(self) -> Self {
71         Self(self.0.not())
72     }
73 }
74 pub const ANRUS_PRIORITY_AUDIO_DYNAMIC_DUCK: u32 = 16u32;
75 #[cfg(feature = "Win32_Foundation")]
76 #[inline]
77 pub unsafe fn AccNotifyTouchInteraction<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(hwndapp: Param0, hwndtarget: Param1, pttarget: Param2) -> ::windows::runtime::Result<()> {
78     #[cfg(windows)]
79     {
80         #[link(name = "windows")]
81         extern "system" {
82             fn AccNotifyTouchInteraction(hwndapp: super::super::Foundation::HWND, hwndtarget: super::super::Foundation::HWND, pttarget: super::super::Foundation::POINT) -> ::windows::runtime::HRESULT;
83         }
84         AccNotifyTouchInteraction(hwndapp.into_param().abi(), hwndtarget.into_param().abi(), pttarget.into_param().abi()).ok()
85     }
86     #[cfg(not(windows))]
87     unimplemented!("Unsupported target OS");
88 }
89 #[cfg(feature = "Win32_Foundation")]
90 #[inline]
91 pub unsafe fn AccSetRunningUtilityState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwndapp: Param0, dwutilitystatemask: u32, dwutilitystate: ACC_UTILITY_STATE_FLAGS) -> ::windows::runtime::Result<()> {
92     #[cfg(windows)]
93     {
94         #[link(name = "windows")]
95         extern "system" {
96             fn AccSetRunningUtilityState(hwndapp: super::super::Foundation::HWND, dwutilitystatemask: u32, dwutilitystate: ACC_UTILITY_STATE_FLAGS) -> ::windows::runtime::HRESULT;
97         }
98         AccSetRunningUtilityState(hwndapp.into_param().abi(), ::std::mem::transmute(dwutilitystatemask), ::std::mem::transmute(dwutilitystate)).ok()
99     }
100     #[cfg(not(windows))]
101     unimplemented!("Unsupported target OS");
102 }
103 pub const AcceleratorKey_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1363699167, 9559, 19641, [174, 237, 108, 237, 8, 76, 229, 44]);
104 pub const AccessKey_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(109214482, 43001, 18965, [145, 124, 255, 165, 173, 62, 176, 167]);
105 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
106 #[inline]
107 pub unsafe fn AccessibleChildren<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(pacccontainer: Param0, ichildstart: i32, cchildren: i32, rgvarchildren: *mut super::super::System::Com::VARIANT, pcobtained: *mut i32) -> ::windows::runtime::Result<()> {
108     #[cfg(windows)]
109     {
110         #[link(name = "windows")]
111         extern "system" {
112             fn AccessibleChildren(pacccontainer: ::windows::runtime::RawPtr, ichildstart: i32, cchildren: i32, rgvarchildren: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pcobtained: *mut i32) -> ::windows::runtime::HRESULT;
113         }
114         AccessibleChildren(pacccontainer.into_param().abi(), ::std::mem::transmute(ichildstart), ::std::mem::transmute(cchildren), ::std::mem::transmute(rgvarchildren), ::std::mem::transmute(pcobtained)).ok()
115     }
116     #[cfg(not(windows))]
117     unimplemented!("Unsupported target OS");
118 }
119 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
120 #[inline]
121 pub unsafe fn AccessibleObjectFromEvent<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, dwid: u32, dwchildid: u32, ppacc: *mut ::std::option::Option<IAccessible>, pvarchild: *mut super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
122     #[cfg(windows)]
123     {
124         #[link(name = "windows")]
125         extern "system" {
126             fn AccessibleObjectFromEvent(hwnd: super::super::Foundation::HWND, dwid: u32, dwchildid: u32, ppacc: *mut ::windows::runtime::RawPtr, pvarchild: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT;
127         }
128         AccessibleObjectFromEvent(hwnd.into_param().abi(), ::std::mem::transmute(dwid), ::std::mem::transmute(dwchildid), ::std::mem::transmute(ppacc), ::std::mem::transmute(pvarchild)).ok()
129     }
130     #[cfg(not(windows))]
131     unimplemented!("Unsupported target OS");
132 }
133 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
134 #[inline]
135 pub unsafe fn AccessibleObjectFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(ptscreen: Param0, ppacc: *mut ::std::option::Option<IAccessible>, pvarchild: *mut super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
136     #[cfg(windows)]
137     {
138         #[link(name = "windows")]
139         extern "system" {
140             fn AccessibleObjectFromPoint(ptscreen: super::super::Foundation::POINT, ppacc: *mut ::windows::runtime::RawPtr, pvarchild: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT;
141         }
142         AccessibleObjectFromPoint(ptscreen.into_param().abi(), ::std::mem::transmute(ppacc), ::std::mem::transmute(pvarchild)).ok()
143     }
144     #[cfg(not(windows))]
145     unimplemented!("Unsupported target OS");
146 }
147 #[cfg(feature = "Win32_Foundation")]
148 #[inline]
149 pub unsafe fn AccessibleObjectFromWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, dwid: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
150     #[cfg(windows)]
151     {
152         #[link(name = "windows")]
153         extern "system" {
154             fn AccessibleObjectFromWindow(hwnd: super::super::Foundation::HWND, dwid: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
155         }
156         AccessibleObjectFromWindow(hwnd.into_param().abi(), ::std::mem::transmute(dwid), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
157     }
158     #[cfg(not(windows))]
159     unimplemented!("Unsupported target OS");
160 }
161 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
162 #[repr(transparent)]
163 pub struct ActiveEnd(pub i32);
164 pub const ActiveEnd_None: ActiveEnd = ActiveEnd(0i32);
165 pub const ActiveEnd_Start: ActiveEnd = ActiveEnd(1i32);
166 pub const ActiveEnd_End: ActiveEnd = ActiveEnd(2i32);
167 impl ::std::convert::From<i32> for ActiveEnd {
168     fn from(value: i32) -> Self {
169         Self(value)
170     }
171 }
172 unsafe impl ::windows::runtime::Abi for ActiveEnd {
173     type Abi = Self;
174     type DefaultType = Self;
175 }
176 pub const ActiveTextPositionChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2780864156, 51069, 20261, [180, 145, 229, 187, 112, 23, 203, 212]);
177 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
178 #[repr(transparent)]
179 pub struct AnimationStyle(pub i32);
180 pub const AnimationStyle_None: AnimationStyle = AnimationStyle(0i32);
181 pub const AnimationStyle_LasVegasLights: AnimationStyle = AnimationStyle(1i32);
182 pub const AnimationStyle_BlinkingBackground: AnimationStyle = AnimationStyle(2i32);
183 pub const AnimationStyle_SparkleText: AnimationStyle = AnimationStyle(3i32);
184 pub const AnimationStyle_MarchingBlackAnts: AnimationStyle = AnimationStyle(4i32);
185 pub const AnimationStyle_MarchingRedAnts: AnimationStyle = AnimationStyle(5i32);
186 pub const AnimationStyle_Shimmer: AnimationStyle = AnimationStyle(6i32);
187 pub const AnimationStyle_Other: AnimationStyle = AnimationStyle(-1i32);
188 impl ::std::convert::From<i32> for AnimationStyle {
189     fn from(value: i32) -> Self {
190         Self(value)
191     }
192 }
193 unsafe impl ::windows::runtime::Abi for AnimationStyle {
194     type Abi = Self;
195     type DefaultType = Self;
196 }
197 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
198 #[repr(transparent)]
199 pub struct AnnoScope(pub i32);
200 pub const ANNO_THIS: AnnoScope = AnnoScope(0i32);
201 pub const ANNO_CONTAINER: AnnoScope = AnnoScope(1i32);
202 impl ::std::convert::From<i32> for AnnoScope {
203     fn from(value: i32) -> Self {
204         Self(value)
205     }
206 }
207 unsafe impl ::windows::runtime::Abi for AnnoScope {
208     type Abi = Self;
209     type DefaultType = Self;
210 }
211 pub const AnnotationObjects_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(822677704, 31854, 20256, [190, 205, 74, 175, 109, 25, 17, 86]);
212 pub const AnnotationType_AdvancedProofingIssue: i32 = 60020i32;
213 pub const AnnotationType_Author: i32 = 60019i32;
214 pub const AnnotationType_CircularReferenceError: i32 = 60022i32;
215 pub const AnnotationType_Comment: i32 = 60003i32;
216 pub const AnnotationType_ConflictingChange: i32 = 60018i32;
217 pub const AnnotationType_DataValidationError: i32 = 60021i32;
218 pub const AnnotationType_DeletionChange: i32 = 60012i32;
219 pub const AnnotationType_EditingLockedChange: i32 = 60016i32;
220 pub const AnnotationType_Endnote: i32 = 60009i32;
221 pub const AnnotationType_ExternalChange: i32 = 60017i32;
222 pub const AnnotationType_Footer: i32 = 60007i32;
223 pub const AnnotationType_Footnote: i32 = 60010i32;
224 pub const AnnotationType_FormatChange: i32 = 60014i32;
225 pub const AnnotationType_FormulaError: i32 = 60004i32;
226 pub const AnnotationType_GrammarError: i32 = 60002i32;
227 pub const AnnotationType_Header: i32 = 60006i32;
228 pub const AnnotationType_Highlighted: i32 = 60008i32;
229 pub const AnnotationType_InsertionChange: i32 = 60011i32;
230 pub const AnnotationType_Mathematics: i32 = 60023i32;
231 pub const AnnotationType_MoveChange: i32 = 60013i32;
232 pub const AnnotationType_Sensitive: i32 = 60024i32;
233 pub const AnnotationType_SpellingError: i32 = 60001i32;
234 pub const AnnotationType_TrackChanges: i32 = 60005i32;
235 pub const AnnotationType_Unknown: i32 = 60000i32;
236 pub const AnnotationType_UnsyncedChange: i32 = 60015i32;
237 pub const AnnotationTypes_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1689722742, 21444, 18070, [162, 25, 32, 233, 64, 201, 161, 118]);
238 pub const Annotation_AdvancedProofingIssue_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3670521644, 49394, 19332, [185, 13, 95, 175, 192, 240, 239, 28]);
239 pub const Annotation_AnnotationTypeId_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(548292687, 27119, 19528, [143, 91, 196, 147, 139, 32, 106, 199]);
240 pub const Annotation_AnnotationTypeName_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2608957586, 23241, 19193, [170, 150, 245, 138, 119, 176, 88, 227]);
241 pub const Annotation_Author_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4049720231, 63515, 16680, [177, 127, 113, 246, 144, 145, 69, 32]);
242 pub const Annotation_Author_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2052228194, 40028, 18947, [169, 116, 139, 48, 122, 153, 55, 242]);
243 pub const Annotation_CircularReferenceError_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(633183476, 5957, 18009, [186, 103, 114, 127, 3, 24, 198, 22]);
244 pub const Annotation_Comment_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4247771696, 9907, 19462, [139, 199, 152, 241, 83, 46, 70, 253]);
245 pub const Annotation_ConflictingChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2561640450, 20860, 17823, [175, 19, 1, 109, 63, 171, 135, 126]);
246 pub const Annotation_Custom_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2663917392, 14641, 18770, [133, 188, 29, 191, 247, 138, 67, 227]);
247 pub const Annotation_DataValidationError_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3362037672, 38773, 17278, [173, 70, 231, 9, 217, 60, 35, 67]);
248 pub const Annotation_DateTime_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2578827869, 6863, 16715, [164, 208, 107, 53, 11, 4, 117, 120]);
249 pub const Annotation_DeletionChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3191692037, 38173, 17127, [144, 29, 173, 200, 194, 207, 52, 208]);
250 pub const Annotation_EditingLockedChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3273604636, 29731, 19884, [131, 72, 65, 240, 153, 255, 111, 100]);
251 pub const Annotation_Endnote_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1969582684, 11673, 18489, [150, 13, 51, 211, 184, 102, 171, 165]);
252 pub const Annotation_ExternalChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1973443377, 24337, 17149, [136, 125, 223, 160, 16, 219, 35, 146]);
253 pub const Annotation_Footer_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3437932614, 6195, 18346, [128, 128, 112, 30, 208, 176, 200, 50]);
254 pub const Annotation_Footnote_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1038159393, 16677, 17115, [134, 32, 190, 128, 131, 8, 6, 36]);
255 pub const Annotation_FormatChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3945034565, 54513, 16846, [142, 82, 247, 155, 105, 99, 94, 72]);
256 pub const Annotation_FormulaError_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2506168706, 3243, 18133, [162, 240, 227, 13, 25, 5, 248, 191]);
257 pub const Annotation_GrammarError_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1970930829, 17688, 16838, [133, 76, 220, 0, 155, 124, 251, 83]);
258 pub const Annotation_Header_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2256224411, 45590, 17522, [162, 25, 82, 94, 49, 6, 129, 248]);
259 pub const Annotation_Highlighted_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1971095630, 32899, 16513, [139, 156, 232, 127, 80, 114, 240, 228]);
260 pub const Annotation_InsertionChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(230601638, 57109, 16740, [163, 192, 226, 26, 140, 233, 49, 196]);
261 pub const Annotation_Mathematics_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3937100619, 9936, 16577, [128, 115, 87, 202, 28, 99, 60, 155]);
262 pub const Annotation_MoveChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2644871147, 9189, 17552, [179, 133, 26, 34, 221, 200, 177, 135]);
263 pub const Annotation_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4140247767, 13676, 18512, [146, 145, 49, 111, 96, 138, 140, 132]);
264 pub const Annotation_Sensitive_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(938786895, 3858, 17508, [146, 156, 130, 143, 209, 82, 146, 227]);
265 pub const Annotation_SpellingError_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2927974014, 40654, 16959, [129, 183, 150, 196, 61, 83, 229, 14]);
266 pub const Annotation_Target_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3072012333, 8452, 17581, [156, 92, 9, 43, 73, 7, 215, 15]);
267 pub const Annotation_TrackChanges_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(568780936, 56340, 16406, [172, 39, 25, 5, 83, 200, 196, 112]);
268 pub const Annotation_UnsyncedChange_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(407966058, 3655, 19248, [140, 181, 215, 218, 228, 251, 205, 27]);
269 pub const AppBar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1628737677, 52226, 19767, [135, 91, 181, 48, 199, 19, 149, 84]);
270 pub const AriaProperties_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1108567948, 57381, 18722, [190, 181, 228, 59, 160, 142, 98, 33]);
271 pub const AriaRole_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3709893525, 48714, 19981, [183, 39, 99, 172, 233, 75, 105, 22]);
272 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
273 #[repr(transparent)]
274 pub struct AsyncContentLoadedState(pub i32);
275 pub const AsyncContentLoadedState_Beginning: AsyncContentLoadedState = AsyncContentLoadedState(0i32);
276 pub const AsyncContentLoadedState_Progress: AsyncContentLoadedState = AsyncContentLoadedState(1i32);
277 pub const AsyncContentLoadedState_Completed: AsyncContentLoadedState = AsyncContentLoadedState(2i32);
278 impl ::std::convert::From<i32> for AsyncContentLoadedState {
279     fn from(value: i32) -> Self {
280         Self(value)
281     }
282 }
283 unsafe impl ::windows::runtime::Abi for AsyncContentLoadedState {
284     type Abi = Self;
285     type DefaultType = Self;
286 }
287 pub const AsyncContentLoaded_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1608442140, 54010, 20409, [144, 78, 92, 190, 232, 148, 213, 239]);
288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
289 #[repr(transparent)]
290 pub struct AutomationElementMode(pub i32);
291 pub const AutomationElementMode_None: AutomationElementMode = AutomationElementMode(0i32);
292 pub const AutomationElementMode_Full: AutomationElementMode = AutomationElementMode(1i32);
293 impl ::std::convert::From<i32> for AutomationElementMode {
294     fn from(value: i32) -> Self {
295         Self(value)
296     }
297 }
298 unsafe impl ::windows::runtime::Abi for AutomationElementMode {
299     type Abi = Self;
300     type DefaultType = Self;
301 }
302 pub const AutomationFocusChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3062505239, 62989, 16807, [163, 204, 176, 82, 146, 21, 95, 224]);
303 pub const AutomationId_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3358328064, 46606, 17168, [162, 103, 48, 60, 83, 31, 142, 229]);
304 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
305 #[repr(transparent)]
306 pub struct AutomationIdentifierType(pub i32);
307 pub const AutomationIdentifierType_Property: AutomationIdentifierType = AutomationIdentifierType(0i32);
308 pub const AutomationIdentifierType_Pattern: AutomationIdentifierType = AutomationIdentifierType(1i32);
309 pub const AutomationIdentifierType_Event: AutomationIdentifierType = AutomationIdentifierType(2i32);
310 pub const AutomationIdentifierType_ControlType: AutomationIdentifierType = AutomationIdentifierType(3i32);
311 pub const AutomationIdentifierType_TextAttribute: AutomationIdentifierType = AutomationIdentifierType(4i32);
312 pub const AutomationIdentifierType_LandmarkType: AutomationIdentifierType = AutomationIdentifierType(5i32);
313 pub const AutomationIdentifierType_Annotation: AutomationIdentifierType = AutomationIdentifierType(6i32);
314 pub const AutomationIdentifierType_Changes: AutomationIdentifierType = AutomationIdentifierType(7i32);
315 pub const AutomationIdentifierType_Style: AutomationIdentifierType = AutomationIdentifierType(8i32);
316 impl ::std::convert::From<i32> for AutomationIdentifierType {
317     fn from(value: i32) -> Self {
318         Self(value)
319     }
320 }
321 unsafe impl ::windows::runtime::Abi for AutomationIdentifierType {
322     type Abi = Self;
323     type DefaultType = Self;
324 }
325 pub const AutomationPropertyChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(623377313, 36218, 17968, [164, 204, 230, 99, 21, 148, 47, 82]);
326 pub const BoundingRectangle_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2076174514, 15356, 18653, [183, 41, 199, 148, 184, 70, 233, 161]);
327 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
328 #[repr(transparent)]
329 pub struct BulletStyle(pub i32);
330 pub const BulletStyle_None: BulletStyle = BulletStyle(0i32);
331 pub const BulletStyle_HollowRoundBullet: BulletStyle = BulletStyle(1i32);
332 pub const BulletStyle_FilledRoundBullet: BulletStyle = BulletStyle(2i32);
333 pub const BulletStyle_HollowSquareBullet: BulletStyle = BulletStyle(3i32);
334 pub const BulletStyle_FilledSquareBullet: BulletStyle = BulletStyle(4i32);
335 pub const BulletStyle_DashBullet: BulletStyle = BulletStyle(5i32);
336 pub const BulletStyle_Other: BulletStyle = BulletStyle(-1i32);
337 impl ::std::convert::From<i32> for BulletStyle {
338     fn from(value: i32) -> Self {
339         Self(value)
340     }
341 }
342 unsafe impl ::windows::runtime::Abi for BulletStyle {
343     type Abi = Self;
344     type DefaultType = Self;
345 }
346 pub const Button_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1517871977, 50849, 20275, [169, 215, 121, 242, 13, 12, 120, 142]);
347 pub const CAccPropServices: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3052942603, 1352, 18609, [166, 238, 136, 189, 0, 180, 165, 231]);
348 pub const CLSID_AccPropServices: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3052942603, 1352, 18609, [166, 238, 136, 189, 0, 180, 165, 231]);
349 pub const CUIAutomation: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4282964900, 24815, 16897, [170, 135, 84, 16, 62, 239, 89, 78]);
350 pub const CUIAutomation8: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3794457395, 45663, 17932, [131, 208, 5, 129, 16, 115, 149, 201]);
351 pub const CUIAutomationRegistrar: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1848244927, 39287, 17105, [141, 14, 202, 126, 97, 173, 135, 230]);
352 pub const Calendar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2299784072, 229, 18108, [142, 78, 20, 167, 134, 225, 101, 161]);
353 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
354 #[repr(transparent)]
355 pub struct CapStyle(pub i32);
356 pub const CapStyle_None: CapStyle = CapStyle(0i32);
357 pub const CapStyle_SmallCap: CapStyle = CapStyle(1i32);
358 pub const CapStyle_AllCap: CapStyle = CapStyle(2i32);
359 pub const CapStyle_AllPetiteCaps: CapStyle = CapStyle(3i32);
360 pub const CapStyle_PetiteCaps: CapStyle = CapStyle(4i32);
361 pub const CapStyle_Unicase: CapStyle = CapStyle(5i32);
362 pub const CapStyle_Titling: CapStyle = CapStyle(6i32);
363 pub const CapStyle_Other: CapStyle = CapStyle(-1i32);
364 impl ::std::convert::From<i32> for CapStyle {
365     fn from(value: i32) -> Self {
366         Self(value)
367     }
368 }
369 unsafe impl ::windows::runtime::Abi for CapStyle {
370     type Abi = Self;
371     type DefaultType = Self;
372 }
373 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
374 #[repr(transparent)]
375 pub struct CaretBidiMode(pub i32);
376 pub const CaretBidiMode_LTR: CaretBidiMode = CaretBidiMode(0i32);
377 pub const CaretBidiMode_RTL: CaretBidiMode = CaretBidiMode(1i32);
378 impl ::std::convert::From<i32> for CaretBidiMode {
379     fn from(value: i32) -> Self {
380         Self(value)
381     }
382 }
383 unsafe impl ::windows::runtime::Abi for CaretBidiMode {
384     type Abi = Self;
385     type DefaultType = Self;
386 }
387 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
388 #[repr(transparent)]
389 pub struct CaretPosition(pub i32);
390 pub const CaretPosition_Unknown: CaretPosition = CaretPosition(0i32);
391 pub const CaretPosition_EndOfLine: CaretPosition = CaretPosition(1i32);
392 pub const CaretPosition_BeginningOfLine: CaretPosition = CaretPosition(2i32);
393 impl ::std::convert::From<i32> for CaretPosition {
394     fn from(value: i32) -> Self {
395         Self(value)
396     }
397 }
398 unsafe impl ::windows::runtime::Abi for CaretPosition {
399     type Abi = Self;
400     type DefaultType = Self;
401 }
402 pub const CenterPoint_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(212864008, 21516, 20187, [148, 69, 38, 53, 158, 166, 151, 133]);
403 pub const Changes_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2113038100, 24911, 19973, [148, 136, 113, 108, 91, 161, 148, 54]);
404 pub const Changes_Summary_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(826107302, 58895, 19810, [152, 97, 85, 175, 215, 40, 210, 7]);
405 pub const CheckBox_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4216387874, 41947, 18880, [139, 195, 6, 218, 213, 87, 120, 226]);
406 pub const ClassName_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(360411669, 35151, 19301, [132, 226, 170, 192, 218, 8, 177, 107]);
407 pub const ClickablePoint_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(26644539, 45571, 18456, [169, 243, 240, 142, 103, 95, 35, 65]);
408 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
409 #[repr(transparent)]
410 pub struct CoalesceEventsOptions(pub i32);
411 pub const CoalesceEventsOptions_Disabled: CoalesceEventsOptions = CoalesceEventsOptions(0i32);
412 pub const CoalesceEventsOptions_Enabled: CoalesceEventsOptions = CoalesceEventsOptions(1i32);
413 impl ::std::convert::From<i32> for CoalesceEventsOptions {
414     fn from(value: i32) -> Self {
415         Self(value)
416     }
417 }
418 unsafe impl ::windows::runtime::Abi for CoalesceEventsOptions {
419     type Abi = Self;
420     type DefaultType = Self;
421 }
422 pub const ComboBox_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1422606956, 12083, 20479, [170, 161, 174, 246, 13, 172, 93, 235]);
423 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
424 #[repr(transparent)]
425 pub struct ConditionType(pub i32);
426 pub const ConditionType_True: ConditionType = ConditionType(0i32);
427 pub const ConditionType_False: ConditionType = ConditionType(1i32);
428 pub const ConditionType_Property: ConditionType = ConditionType(2i32);
429 pub const ConditionType_And: ConditionType = ConditionType(3i32);
430 pub const ConditionType_Or: ConditionType = ConditionType(4i32);
431 pub const ConditionType_Not: ConditionType = ConditionType(5i32);
432 impl ::std::convert::From<i32> for ConditionType {
433     fn from(value: i32) -> Self {
434         Self(value)
435     }
436 }
437 unsafe impl ::windows::runtime::Abi for ConditionType {
438     type Abi = Self;
439     type DefaultType = Self;
440 }
441 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
442 #[repr(transparent)]
443 pub struct ConnectionRecoveryBehaviorOptions(pub i32);
444 pub const ConnectionRecoveryBehaviorOptions_Disabled: ConnectionRecoveryBehaviorOptions = ConnectionRecoveryBehaviorOptions(0i32);
445 pub const ConnectionRecoveryBehaviorOptions_Enabled: ConnectionRecoveryBehaviorOptions = ConnectionRecoveryBehaviorOptions(1i32);
446 impl ::std::convert::From<i32> for ConnectionRecoveryBehaviorOptions {
447     fn from(value: i32) -> Self {
448         Self(value)
449     }
450 }
451 unsafe impl ::windows::runtime::Abi for ConnectionRecoveryBehaviorOptions {
452     type Abi = Self;
453     type DefaultType = Self;
454 }
455 pub const ControlType_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3396816874, 10412, 19394, [148, 202, 172, 236, 109, 108, 16, 163]);
456 pub const ControllerFor_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1360153738, 42450, 20243, [155, 230, 127, 168, 186, 157, 58, 144]);
457 #[cfg(feature = "Win32_Foundation")]
458 #[inline]
459 pub unsafe fn CreateStdAccessibleObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, idobject: i32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
460     #[cfg(windows)]
461     {
462         #[link(name = "windows")]
463         extern "system" {
464             fn CreateStdAccessibleObject(hwnd: super::super::Foundation::HWND, idobject: i32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
465         }
466         CreateStdAccessibleObject(hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
467     }
468     #[cfg(not(windows))]
469     unimplemented!("Unsupported target OS");
470 }
471 #[cfg(feature = "Win32_Foundation")]
472 #[inline]
473 pub unsafe fn CreateStdAccessibleProxyA<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(hwnd: Param0, pclassname: Param1, idobject: i32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
474     #[cfg(windows)]
475     {
476         #[link(name = "windows")]
477         extern "system" {
478             fn CreateStdAccessibleProxyA(hwnd: super::super::Foundation::HWND, pclassname: super::super::Foundation::PSTR, idobject: i32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
479         }
480         CreateStdAccessibleProxyA(hwnd.into_param().abi(), pclassname.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
481     }
482     #[cfg(not(windows))]
483     unimplemented!("Unsupported target OS");
484 }
485 #[cfg(feature = "Win32_Foundation")]
486 #[inline]
487 pub unsafe fn CreateStdAccessibleProxyW<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hwnd: Param0, pclassname: Param1, idobject: i32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
488     #[cfg(windows)]
489     {
490         #[link(name = "windows")]
491         extern "system" {
492             fn CreateStdAccessibleProxyW(hwnd: super::super::Foundation::HWND, pclassname: super::super::Foundation::PWSTR, idobject: i32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
493         }
494         CreateStdAccessibleProxyW(hwnd.into_param().abi(), pclassname.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
495     }
496     #[cfg(not(windows))]
497     unimplemented!("Unsupported target OS");
498 }
499 pub const Culture_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3805761319, 15737, 19906, [184, 139, 48, 68, 150, 58, 138, 251]);
500 pub const CustomNavigation_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2951385994, 25118, 16468, [187, 44, 47, 70, 17, 77, 172, 63]);
501 pub const Custom_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4070482115, 44471, 17162, [186, 144, 229, 44, 115, 19, 230, 237]);
502 pub const DISPID_ACC_CHILD: i32 = -5002i32;
503 pub const DISPID_ACC_CHILDCOUNT: i32 = -5001i32;
504 pub const DISPID_ACC_DEFAULTACTION: i32 = -5013i32;
505 pub const DISPID_ACC_DESCRIPTION: i32 = -5005i32;
506 pub const DISPID_ACC_DODEFAULTACTION: i32 = -5018i32;
507 pub const DISPID_ACC_FOCUS: i32 = -5011i32;
508 pub const DISPID_ACC_HELP: i32 = -5008i32;
509 pub const DISPID_ACC_HELPTOPIC: i32 = -5009i32;
510 pub const DISPID_ACC_HITTEST: i32 = -5017i32;
511 pub const DISPID_ACC_KEYBOARDSHORTCUT: i32 = -5010i32;
512 pub const DISPID_ACC_LOCATION: i32 = -5015i32;
513 pub const DISPID_ACC_NAME: i32 = -5003i32;
514 pub const DISPID_ACC_NAVIGATE: i32 = -5016i32;
515 pub const DISPID_ACC_PARENT: i32 = -5000i32;
516 pub const DISPID_ACC_ROLE: i32 = -5006i32;
517 pub const DISPID_ACC_SELECT: i32 = -5014i32;
518 pub const DISPID_ACC_SELECTION: i32 = -5012i32;
519 pub const DISPID_ACC_STATE: i32 = -5007i32;
520 pub const DISPID_ACC_VALUE: i32 = -5004i32;
521 pub const DataGrid_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2226619311, 53507, 19210, [132, 21, 231, 57, 66, 65, 15, 75]);
522 pub const DataItem_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2685892674, 55631, 17061, [129, 75, 96, 104, 173, 220, 141, 165]);
523 pub const DescribedBy_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2086167992, 39314, 16637, [141, 176, 107, 241, 211, 23, 249, 152]);
524 #[inline]
525 pub unsafe fn DockPattern_SetDockPosition<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, dockposition: DockPosition) -> ::windows::runtime::Result<()> {
526     #[cfg(windows)]
527     {
528         #[link(name = "windows")]
529         extern "system" {
530             fn DockPattern_SetDockPosition(hobj: HUIAPATTERNOBJECT, dockposition: DockPosition) -> ::windows::runtime::HRESULT;
531         }
532         DockPattern_SetDockPosition(hobj.into_param().abi(), ::std::mem::transmute(dockposition)).ok()
533     }
534     #[cfg(not(windows))]
535     unimplemented!("Unsupported target OS");
536 }
537 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
538 #[repr(transparent)]
539 pub struct DockPosition(pub i32);
540 pub const DockPosition_Top: DockPosition = DockPosition(0i32);
541 pub const DockPosition_Left: DockPosition = DockPosition(1i32);
542 pub const DockPosition_Bottom: DockPosition = DockPosition(2i32);
543 pub const DockPosition_Right: DockPosition = DockPosition(3i32);
544 pub const DockPosition_Fill: DockPosition = DockPosition(4i32);
545 pub const DockPosition_None: DockPosition = DockPosition(5i32);
546 impl ::std::convert::From<i32> for DockPosition {
547     fn from(value: i32) -> Self {
548         Self(value)
549     }
550 }
551 unsafe impl ::windows::runtime::Abi for DockPosition {
552     type Abi = Self;
553     type DefaultType = Self;
554 }
555 pub const Dock_DockPosition_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1835528238, 49328, 19216, [181, 185, 24, 214, 236, 249, 135, 96]);
556 pub const Dock_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2629478470, 33736, 17037, [130, 127, 126, 96, 99, 254, 6, 32]);
557 pub const Document_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1020705647, 28424, 17762, [178, 41, 228, 226, 252, 122, 158, 180]);
558 pub const Drag_DragCancel_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3287148282, 13393, 19983, [158, 113, 223, 156, 40, 10, 70, 87]);
559 pub const Drag_DragComplete_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(954818952, 61215, 17982, [145, 202, 58, 119, 146, 194, 156, 175]);
560 pub const Drag_DragStart_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2285520907, 15017, 17053, [149, 228, 217, 200, 208, 17, 240, 221]);
561 pub const Drag_DropEffect_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1685006201, 18643, 19235, [137, 2, 75, 241, 0, 0, 93, 243]);
562 pub const Drag_DropEffects_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4124447062, 31974, 18878, [168, 54, 146, 105, 220, 236, 146, 15]);
563 pub const Drag_GrabbedItems_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2009159212, 31622, 19233, [158, 215, 60, 239, 218, 111, 76, 67]);
564 pub const Drag_IsGrabbed_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1173489395, 30156, 19658, [169, 185, 252, 223, 185, 130, 216, 162]);
565 pub const Drag_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3233735199, 52403, 20461, [153, 91, 17, 79, 110, 61, 39, 40]);
566 pub const DropTarget_DragEnter_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2866360731, 812, 19080, [150, 29, 28, 245, 121, 88, 30, 52]);
567 pub const DropTarget_DragLeave_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(260238101, 9378, 18824, [146, 23, 222, 22, 42, 238, 39, 43]);
568 pub const DropTarget_DropTargetEffect_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2344049013, 41162, 18817, [184, 24, 135, 252, 102, 233, 80, 157]);
569 pub const DropTarget_DropTargetEffects_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3156071661, 52105, 17905, [165, 146, 224, 59, 8, 174, 121, 15]);
570 pub const DropTarget_Dropped_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1647110872, 7899, 19005, [171, 188, 190, 34, 17, 255, 104, 181]);
571 pub const DropTarget_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(197913686, 48436, 19323, [159, 213, 38, 89, 144, 94, 163, 220]);
572 pub const Edit_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1694803400, 11398, 20359, [174, 123, 26, 189, 220, 129, 12, 249]);
573 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
574 #[repr(transparent)]
575 pub struct EventArgsType(pub i32);
576 pub const EventArgsType_Simple: EventArgsType = EventArgsType(0i32);
577 pub const EventArgsType_PropertyChanged: EventArgsType = EventArgsType(1i32);
578 pub const EventArgsType_StructureChanged: EventArgsType = EventArgsType(2i32);
579 pub const EventArgsType_AsyncContentLoaded: EventArgsType = EventArgsType(3i32);
580 pub const EventArgsType_WindowClosed: EventArgsType = EventArgsType(4i32);
581 pub const EventArgsType_TextEditTextChanged: EventArgsType = EventArgsType(5i32);
582 pub const EventArgsType_Changes: EventArgsType = EventArgsType(6i32);
583 pub const EventArgsType_Notification: EventArgsType = EventArgsType(7i32);
584 pub const EventArgsType_ActiveTextPositionChanged: EventArgsType = EventArgsType(8i32);
585 pub const EventArgsType_StructuredMarkup: EventArgsType = EventArgsType(9i32);
586 impl ::std::convert::From<i32> for EventArgsType {
587     fn from(value: i32) -> Self {
588         Self(value)
589     }
590 }
591 unsafe impl ::windows::runtime::Abi for EventArgsType {
592     type Abi = Self;
593     type DefaultType = Self;
594 }
595 #[inline]
596 pub unsafe fn ExpandCollapsePattern_Collapse<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
597     #[cfg(windows)]
598     {
599         #[link(name = "windows")]
600         extern "system" {
601             fn ExpandCollapsePattern_Collapse(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
602         }
603         ExpandCollapsePattern_Collapse(hobj.into_param().abi()).ok()
604     }
605     #[cfg(not(windows))]
606     unimplemented!("Unsupported target OS");
607 }
608 #[inline]
609 pub unsafe fn ExpandCollapsePattern_Expand<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
610     #[cfg(windows)]
611     {
612         #[link(name = "windows")]
613         extern "system" {
614             fn ExpandCollapsePattern_Expand(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
615         }
616         ExpandCollapsePattern_Expand(hobj.into_param().abi()).ok()
617     }
618     #[cfg(not(windows))]
619     unimplemented!("Unsupported target OS");
620 }
621 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
622 #[repr(transparent)]
623 pub struct ExpandCollapseState(pub i32);
624 pub const ExpandCollapseState_Collapsed: ExpandCollapseState = ExpandCollapseState(0i32);
625 pub const ExpandCollapseState_Expanded: ExpandCollapseState = ExpandCollapseState(1i32);
626 pub const ExpandCollapseState_PartiallyExpanded: ExpandCollapseState = ExpandCollapseState(2i32);
627 pub const ExpandCollapseState_LeafNode: ExpandCollapseState = ExpandCollapseState(3i32);
628 impl ::std::convert::From<i32> for ExpandCollapseState {
629     fn from(value: i32) -> Self {
630         Self(value)
631     }
632 }
633 unsafe impl ::windows::runtime::Abi for ExpandCollapseState {
634     type Abi = Self;
635     type DefaultType = Self;
636 }
637 pub const ExpandCollapse_ExpandCollapseState_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(660229192, 34215, 20329, [171, 160, 175, 21, 118, 16, 0, 43]);
638 pub const ExpandCollapse_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2919624610, 63953, 17034, [131, 76, 83, 165, 197, 47, 155, 139]);
639 #[derive(:: std :: clone :: Clone)]
640 #[repr(C)]
641 #[cfg(feature = "Win32_Foundation")]
642 pub struct ExtendedProperty {
643     pub PropertyName: super::super::Foundation::BSTR,
644     pub PropertyValue: super::super::Foundation::BSTR,
645 }
646 #[cfg(feature = "Win32_Foundation")]
647 impl ExtendedProperty {}
648 #[cfg(feature = "Win32_Foundation")]
649 impl ::std::default::Default for ExtendedProperty {
650     fn default() -> Self {
651         unsafe { ::std::mem::zeroed() }
652     }
653 }
654 #[cfg(feature = "Win32_Foundation")]
655 impl ::std::fmt::Debug for ExtendedProperty {
656     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
657         fmt.debug_struct("ExtendedProperty").field("PropertyName", &self.PropertyName).field("PropertyValue", &self.PropertyValue).finish()
658     }
659 }
660 #[cfg(feature = "Win32_Foundation")]
661 impl ::std::cmp::PartialEq for ExtendedProperty {
662     fn eq(&self, other: &Self) -> bool {
663         self.PropertyName == other.PropertyName && self.PropertyValue == other.PropertyValue
664     }
665 }
666 #[cfg(feature = "Win32_Foundation")]
667 impl ::std::cmp::Eq for ExtendedProperty {}
668 #[cfg(feature = "Win32_Foundation")]
669 unsafe impl ::windows::runtime::Abi for ExtendedProperty {
670     type Abi = ::std::mem::ManuallyDrop<Self>;
671     type DefaultType = Self;
672 }
673 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
674 #[repr(C)]
675 pub struct FILTERKEYS {
676     pub cbSize: u32,
677     pub dwFlags: u32,
678     pub iWaitMSec: u32,
679     pub iDelayMSec: u32,
680     pub iRepeatMSec: u32,
681     pub iBounceMSec: u32,
682 }
683 impl FILTERKEYS {}
684 impl ::std::default::Default for FILTERKEYS {
685     fn default() -> Self {
686         unsafe { ::std::mem::zeroed() }
687     }
688 }
689 impl ::std::fmt::Debug for FILTERKEYS {
690     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
691         fmt.debug_struct("FILTERKEYS").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).field("iWaitMSec", &self.iWaitMSec).field("iDelayMSec", &self.iDelayMSec).field("iRepeatMSec", &self.iRepeatMSec).field("iBounceMSec", &self.iBounceMSec).finish()
692     }
693 }
694 impl ::std::cmp::PartialEq for FILTERKEYS {
695     fn eq(&self, other: &Self) -> bool {
696         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.iWaitMSec == other.iWaitMSec && self.iDelayMSec == other.iDelayMSec && self.iRepeatMSec == other.iRepeatMSec && self.iBounceMSec == other.iBounceMSec
697     }
698 }
699 impl ::std::cmp::Eq for FILTERKEYS {}
700 unsafe impl ::windows::runtime::Abi for FILTERKEYS {
701     type Abi = Self;
702     type DefaultType = Self;
703 }
704 pub const FillColor_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1846461648, 58024, 19030, [157, 231, 149, 51, 137, 147, 59, 57]);
705 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
706 #[repr(transparent)]
707 pub struct FillType(pub i32);
708 pub const FillType_None: FillType = FillType(0i32);
709 pub const FillType_Color: FillType = FillType(1i32);
710 pub const FillType_Gradient: FillType = FillType(2i32);
711 pub const FillType_Picture: FillType = FillType(3i32);
712 pub const FillType_Pattern: FillType = FillType(4i32);
713 impl ::std::convert::From<i32> for FillType {
714     fn from(value: i32) -> Self {
715         Self(value)
716     }
717 }
718 unsafe impl ::windows::runtime::Abi for FillType {
719     type Abi = Self;
720     type DefaultType = Self;
721 }
722 pub const FillType_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3338433764, 36025, 17052, [169, 225, 155, 196, 172, 55, 43, 98]);
723 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
724 #[repr(transparent)]
725 pub struct FlowDirections(pub i32);
726 pub const FlowDirections_Default: FlowDirections = FlowDirections(0i32);
727 pub const FlowDirections_RightToLeft: FlowDirections = FlowDirections(1i32);
728 pub const FlowDirections_BottomToTop: FlowDirections = FlowDirections(2i32);
729 pub const FlowDirections_Vertical: FlowDirections = FlowDirections(4i32);
730 impl ::std::convert::From<i32> for FlowDirections {
731     fn from(value: i32) -> Self {
732         Self(value)
733     }
734 }
735 unsafe impl ::windows::runtime::Abi for FlowDirections {
736     type Abi = Self;
737     type DefaultType = Self;
738 }
739 pub const FlowsFrom_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(96896079, 6622, 18680, [149, 250, 136, 13, 91, 15, 214, 21]);
740 pub const FlowsTo_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3841146144, 21914, 18427, [168, 48, 249, 203, 79, 241, 167, 10]);
741 pub const FrameworkId_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3690830080, 32282, 20312, [182, 27, 112, 99, 18, 15, 119, 59]);
742 pub const FullDescription_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(222580991, 27375, 20275, [149, 221, 123, 239, 167, 42, 67, 145]);
743 #[inline]
744 pub unsafe fn GetOleaccVersionInfo(pver: *mut u32, pbuild: *mut u32) {
745     #[cfg(windows)]
746     {
747         #[link(name = "windows")]
748         extern "system" {
749             fn GetOleaccVersionInfo(pver: *mut u32, pbuild: *mut u32);
750         }
751         ::std::mem::transmute(GetOleaccVersionInfo(::std::mem::transmute(pver), ::std::mem::transmute(pbuild)))
752     }
753     #[cfg(not(windows))]
754     unimplemented!("Unsupported target OS");
755 }
756 #[cfg(feature = "Win32_Foundation")]
757 #[inline]
758 pub unsafe fn GetRoleTextA(lrole: u32, lpszrole: super::super::Foundation::PSTR, cchrolemax: u32) -> u32 {
759     #[cfg(windows)]
760     {
761         #[link(name = "windows")]
762         extern "system" {
763             fn GetRoleTextA(lrole: u32, lpszrole: super::super::Foundation::PSTR, cchrolemax: u32) -> u32;
764         }
765         ::std::mem::transmute(GetRoleTextA(::std::mem::transmute(lrole), ::std::mem::transmute(lpszrole), ::std::mem::transmute(cchrolemax)))
766     }
767     #[cfg(not(windows))]
768     unimplemented!("Unsupported target OS");
769 }
770 #[cfg(feature = "Win32_Foundation")]
771 #[inline]
772 pub unsafe fn GetRoleTextW(lrole: u32, lpszrole: super::super::Foundation::PWSTR, cchrolemax: u32) -> u32 {
773     #[cfg(windows)]
774     {
775         #[link(name = "windows")]
776         extern "system" {
777             fn GetRoleTextW(lrole: u32, lpszrole: super::super::Foundation::PWSTR, cchrolemax: u32) -> u32;
778         }
779         ::std::mem::transmute(GetRoleTextW(::std::mem::transmute(lrole), ::std::mem::transmute(lpszrole), ::std::mem::transmute(cchrolemax)))
780     }
781     #[cfg(not(windows))]
782     unimplemented!("Unsupported target OS");
783 }
784 #[cfg(feature = "Win32_Foundation")]
785 #[inline]
786 pub unsafe fn GetStateTextA(lstatebit: u32, lpszstate: super::super::Foundation::PSTR, cchstate: u32) -> u32 {
787     #[cfg(windows)]
788     {
789         #[link(name = "windows")]
790         extern "system" {
791             fn GetStateTextA(lstatebit: u32, lpszstate: super::super::Foundation::PSTR, cchstate: u32) -> u32;
792         }
793         ::std::mem::transmute(GetStateTextA(::std::mem::transmute(lstatebit), ::std::mem::transmute(lpszstate), ::std::mem::transmute(cchstate)))
794     }
795     #[cfg(not(windows))]
796     unimplemented!("Unsupported target OS");
797 }
798 #[cfg(feature = "Win32_Foundation")]
799 #[inline]
800 pub unsafe fn GetStateTextW(lstatebit: u32, lpszstate: super::super::Foundation::PWSTR, cchstate: u32) -> u32 {
801     #[cfg(windows)]
802     {
803         #[link(name = "windows")]
804         extern "system" {
805             fn GetStateTextW(lstatebit: u32, lpszstate: super::super::Foundation::PWSTR, cchstate: u32) -> u32;
806         }
807         ::std::mem::transmute(GetStateTextW(::std::mem::transmute(lstatebit), ::std::mem::transmute(lpszstate), ::std::mem::transmute(cchstate)))
808     }
809     #[cfg(not(windows))]
810     unimplemented!("Unsupported target OS");
811 }
812 pub const GridItem_ColumnSpan_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1480500213, 34512, 19208, [166, 236, 44, 84, 99, 255, 193, 9]);
813 pub const GridItem_Column_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3346317660, 25280, 17689, [139, 220, 71, 190, 87, 60, 138, 213]);
814 pub const GridItem_Parent_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2643534418, 47487, 20172, [133, 16, 234, 14, 51, 66, 124, 114]);
815 pub const GridItem_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4074096759, 42082, 18775, [162, 165, 44, 150, 179, 3, 188, 99]);
816 pub const GridItem_RowSpan_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1166158108, 18027, 20115, [142, 131, 61, 23, 21, 236, 12, 94]);
817 pub const GridItem_Row_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1646499626, 51525, 17763, [147, 41, 253, 201, 116, 175, 37, 83]);
818 #[inline]
819 pub unsafe fn GridPattern_GetItem<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, row: i32, column: i32, presult: *mut HUIANODE) -> ::windows::runtime::Result<()> {
820     #[cfg(windows)]
821     {
822         #[link(name = "windows")]
823         extern "system" {
824             fn GridPattern_GetItem(hobj: HUIAPATTERNOBJECT, row: i32, column: i32, presult: *mut HUIANODE) -> ::windows::runtime::HRESULT;
825         }
826         GridPattern_GetItem(hobj.into_param().abi(), ::std::mem::transmute(row), ::std::mem::transmute(column), ::std::mem::transmute(presult)).ok()
827     }
828     #[cfg(not(windows))]
829     unimplemented!("Unsupported target OS");
830 }
831 pub const Grid_ColumnCount_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4271305589, 17578, 17718, [172, 122, 42, 117, 215, 26, 62, 252]);
832 pub const Grid_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(638201035, 37800, 20036, [164, 193, 61, 243, 151, 242, 176, 43]);
833 pub const Grid_RowCount_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(714409407, 49899, 20406, [179, 86, 130, 69, 174, 83, 112, 62]);
834 pub const Group_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2907744796, 59592, 18292, [174, 27, 221, 134, 223, 11, 59, 220]);
835 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
836 #[repr(C)]
837 #[cfg(feature = "Win32_Foundation")]
838 pub struct HIGHCONTRASTA {
839     pub cbSize: u32,
840     pub dwFlags: HIGHCONTRASTW_FLAGS,
841     pub lpszDefaultScheme: super::super::Foundation::PSTR,
842 }
843 #[cfg(feature = "Win32_Foundation")]
844 impl HIGHCONTRASTA {}
845 #[cfg(feature = "Win32_Foundation")]
846 impl ::std::default::Default for HIGHCONTRASTA {
847     fn default() -> Self {
848         unsafe { ::std::mem::zeroed() }
849     }
850 }
851 #[cfg(feature = "Win32_Foundation")]
852 impl ::std::fmt::Debug for HIGHCONTRASTA {
853     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
854         fmt.debug_struct("HIGHCONTRASTA").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).field("lpszDefaultScheme", &self.lpszDefaultScheme).finish()
855     }
856 }
857 #[cfg(feature = "Win32_Foundation")]
858 impl ::std::cmp::PartialEq for HIGHCONTRASTA {
859     fn eq(&self, other: &Self) -> bool {
860         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.lpszDefaultScheme == other.lpszDefaultScheme
861     }
862 }
863 #[cfg(feature = "Win32_Foundation")]
864 impl ::std::cmp::Eq for HIGHCONTRASTA {}
865 #[cfg(feature = "Win32_Foundation")]
866 unsafe impl ::windows::runtime::Abi for HIGHCONTRASTA {
867     type Abi = Self;
868     type DefaultType = Self;
869 }
870 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
871 #[repr(C)]
872 #[cfg(feature = "Win32_Foundation")]
873 pub struct HIGHCONTRASTW {
874     pub cbSize: u32,
875     pub dwFlags: HIGHCONTRASTW_FLAGS,
876     pub lpszDefaultScheme: super::super::Foundation::PWSTR,
877 }
878 #[cfg(feature = "Win32_Foundation")]
879 impl HIGHCONTRASTW {}
880 #[cfg(feature = "Win32_Foundation")]
881 impl ::std::default::Default for HIGHCONTRASTW {
882     fn default() -> Self {
883         unsafe { ::std::mem::zeroed() }
884     }
885 }
886 #[cfg(feature = "Win32_Foundation")]
887 impl ::std::fmt::Debug for HIGHCONTRASTW {
888     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
889         fmt.debug_struct("HIGHCONTRASTW").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).field("lpszDefaultScheme", &self.lpszDefaultScheme).finish()
890     }
891 }
892 #[cfg(feature = "Win32_Foundation")]
893 impl ::std::cmp::PartialEq for HIGHCONTRASTW {
894     fn eq(&self, other: &Self) -> bool {
895         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.lpszDefaultScheme == other.lpszDefaultScheme
896     }
897 }
898 #[cfg(feature = "Win32_Foundation")]
899 impl ::std::cmp::Eq for HIGHCONTRASTW {}
900 #[cfg(feature = "Win32_Foundation")]
901 unsafe impl ::windows::runtime::Abi for HIGHCONTRASTW {
902     type Abi = Self;
903     type DefaultType = Self;
904 }
905 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
906 #[repr(transparent)]
907 pub struct HIGHCONTRASTW_FLAGS(pub u32);
908 pub const HCF_HIGHCONTRASTON: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(1u32);
909 pub const HCF_AVAILABLE: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(2u32);
910 pub const HCF_HOTKEYACTIVE: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(4u32);
911 pub const HCF_CONFIRMHOTKEY: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(8u32);
912 pub const HCF_HOTKEYSOUND: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(16u32);
913 pub const HCF_INDICATOR: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(32u32);
914 pub const HCF_HOTKEYAVAILABLE: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(64u32);
915 pub const HCF_OPTION_NOTHEMECHANGE: HIGHCONTRASTW_FLAGS = HIGHCONTRASTW_FLAGS(4096u32);
916 impl ::std::convert::From<u32> for HIGHCONTRASTW_FLAGS {
917     fn from(value: u32) -> Self {
918         Self(value)
919     }
920 }
921 unsafe impl ::windows::runtime::Abi for HIGHCONTRASTW_FLAGS {
922     type Abi = Self;
923     type DefaultType = Self;
924 }
925 impl ::std::ops::BitOr for HIGHCONTRASTW_FLAGS {
926     type Output = Self;
927     fn bitor(self, rhs: Self) -> Self {
928         Self(self.0 | rhs.0)
929     }
930 }
931 impl ::std::ops::BitAnd for HIGHCONTRASTW_FLAGS {
932     type Output = Self;
933     fn bitand(self, rhs: Self) -> Self {
934         Self(self.0 & rhs.0)
935     }
936 }
937 impl ::std::ops::BitOrAssign for HIGHCONTRASTW_FLAGS {
938     fn bitor_assign(&mut self, rhs: Self) {
939         self.0.bitor_assign(rhs.0)
940     }
941 }
942 impl ::std::ops::BitAndAssign for HIGHCONTRASTW_FLAGS {
943     fn bitand_assign(&mut self, rhs: Self) {
944         self.0.bitand_assign(rhs.0)
945     }
946 }
947 impl ::std::ops::Not for HIGHCONTRASTW_FLAGS {
948     type Output = Self;
949     fn not(self) -> Self {
950         Self(self.0.not())
951     }
952 }
953 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
954 #[repr(transparent)]
955 pub struct HUIAEVENT(pub isize);
956 impl ::std::default::Default for HUIAEVENT {
957     fn default() -> Self {
958         unsafe { ::std::mem::zeroed() }
959     }
960 }
961 unsafe impl ::windows::runtime::Handle for HUIAEVENT {}
962 unsafe impl ::windows::runtime::Abi for HUIAEVENT {
963     type Abi = Self;
964     type DefaultType = Self;
965 }
966 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
967 #[repr(transparent)]
968 pub struct HUIANODE(pub isize);
969 impl ::std::default::Default for HUIANODE {
970     fn default() -> Self {
971         unsafe { ::std::mem::zeroed() }
972     }
973 }
974 unsafe impl ::windows::runtime::Handle for HUIANODE {}
975 unsafe impl ::windows::runtime::Abi for HUIANODE {
976     type Abi = Self;
977     type DefaultType = Self;
978 }
979 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
980 #[repr(transparent)]
981 pub struct HUIAPATTERNOBJECT(pub isize);
982 impl ::std::default::Default for HUIAPATTERNOBJECT {
983     fn default() -> Self {
984         unsafe { ::std::mem::zeroed() }
985     }
986 }
987 unsafe impl ::windows::runtime::Handle for HUIAPATTERNOBJECT {}
988 unsafe impl ::windows::runtime::Abi for HUIAPATTERNOBJECT {
989     type Abi = Self;
990     type DefaultType = Self;
991 }
992 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
993 #[repr(transparent)]
994 pub struct HUIATEXTRANGE(pub isize);
995 impl ::std::default::Default for HUIATEXTRANGE {
996     fn default() -> Self {
997         unsafe { ::std::mem::zeroed() }
998     }
999 }
1000 unsafe impl ::windows::runtime::Handle for HUIATEXTRANGE {}
1001 unsafe impl ::windows::runtime::Abi for HUIATEXTRANGE {
1002     type Abi = Self;
1003     type DefaultType = Self;
1004 }
1005 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
1006 #[repr(transparent)]
1007 pub struct HWINEVENTHOOK(pub isize);
1008 impl ::std::default::Default for HWINEVENTHOOK {
1009     fn default() -> Self {
1010         unsafe { ::std::mem::zeroed() }
1011     }
1012 }
1013 unsafe impl ::windows::runtime::Handle for HWINEVENTHOOK {}
1014 unsafe impl ::windows::runtime::Abi for HWINEVENTHOOK {
1015     type Abi = Self;
1016     type DefaultType = Self;
1017 }
1018 pub const HasKeyboardFocus_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3481992505, 16198, 18432, [150, 86, 178, 191, 18, 82, 153, 5]);
1019 pub const HeaderItem_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3871085259, 31886, 18895, [177, 104, 74, 147, 163, 43, 235, 176]);
1020 pub const Header_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1536216014, 30971, 17940, [130, 182, 85, 77, 116, 113, 142, 103]);
1021 pub const HeadingLevel1: i32 = 80051i32;
1022 pub const HeadingLevel2: i32 = 80052i32;
1023 pub const HeadingLevel3: i32 = 80053i32;
1024 pub const HeadingLevel4: i32 = 80054i32;
1025 pub const HeadingLevel5: i32 = 80055i32;
1026 pub const HeadingLevel6: i32 = 80056i32;
1027 pub const HeadingLevel7: i32 = 80057i32;
1028 pub const HeadingLevel8: i32 = 80058i32;
1029 pub const HeadingLevel9: i32 = 80059i32;
1030 pub const HeadingLevel_None: i32 = 80050i32;
1031 pub const HeadingLevel_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(688407154, 43695, 18992, [135, 150, 60, 18, 246, 43, 107, 187]);
1032 pub const HelpText_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(139810437, 2423, 17863, [167, 166, 171, 175, 86, 132, 18, 26]);
1033 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1034 #[repr(transparent)]
1035 pub struct HorizontalTextAlignment(pub i32);
1036 pub const HorizontalTextAlignment_Left: HorizontalTextAlignment = HorizontalTextAlignment(0i32);
1037 pub const HorizontalTextAlignment_Centered: HorizontalTextAlignment = HorizontalTextAlignment(1i32);
1038 pub const HorizontalTextAlignment_Right: HorizontalTextAlignment = HorizontalTextAlignment(2i32);
1039 pub const HorizontalTextAlignment_Justified: HorizontalTextAlignment = HorizontalTextAlignment(3i32);
1040 impl ::std::convert::From<i32> for HorizontalTextAlignment {
1041     fn from(value: i32) -> Self {
1042         Self(value)
1043     }
1044 }
1045 unsafe impl ::windows::runtime::Abi for HorizontalTextAlignment {
1046     type Abi = Self;
1047     type DefaultType = Self;
1048 }
1049 pub const HostedFragmentRootsInvalidated_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3871191102, 2337, 20165, [141, 207, 234, 232, 119, 176, 66, 107]);
1050 pub const Hyperlink_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2320892460, 45069, 19733, [143, 240, 91, 107, 38, 110, 94, 2]);
1051 #[repr(transparent)]
1052 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1053 pub struct IAccIdentity(::windows::runtime::IUnknown);
1054 impl IAccIdentity {
1055     pub unsafe fn GetIdentityString(&self, dwidchild: u32, ppidstring: *mut *mut u8, pdwidstringlen: *mut u32) -> ::windows::runtime::Result<()> {
1056         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwidchild), ::std::mem::transmute(ppidstring), ::std::mem::transmute(pdwidstringlen)).ok()
1057     }
1058 }
1059 unsafe impl ::windows::runtime::Interface for IAccIdentity {
1060     type Vtable = IAccIdentity_abi;
1061     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2018686861, 7421, 16833, [166, 21, 156, 12, 133, 150, 11, 95]);
1062 }
1063 impl ::std::convert::From<IAccIdentity> for ::windows::runtime::IUnknown {
1064     fn from(value: IAccIdentity) -> Self {
1065         unsafe { ::std::mem::transmute(value) }
1066     }
1067 }
1068 impl ::std::convert::From<&IAccIdentity> for ::windows::runtime::IUnknown {
1069     fn from(value: &IAccIdentity) -> Self {
1070         ::std::convert::From::from(::std::clone::Clone::clone(value))
1071     }
1072 }
1073 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccIdentity {
1074     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1075         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1076     }
1077 }
1078 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccIdentity {
1079     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1080         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1081     }
1082 }
1083 #[repr(C)]
1084 #[doc(hidden)]
1085 pub struct IAccIdentity_abi(
1086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwidchild: u32, ppidstring: *mut *mut u8, pdwidstringlen: *mut u32) -> ::windows::runtime::HRESULT,
1090 );
1091 #[repr(transparent)]
1092 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1093 pub struct IAccPropServer(::windows::runtime::IUnknown);
1094 impl IAccPropServer {
1095     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1096     pub unsafe fn GetPropValue<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, pidstring: *const u8, dwidstringlen: u32, idprop: Param2, pvarvalue: *mut super::super::System::Com::VARIANT, pfhasprop: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
1097         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pidstring), ::std::mem::transmute(dwidstringlen), idprop.into_param().abi(), ::std::mem::transmute(pvarvalue), ::std::mem::transmute(pfhasprop)).ok()
1098     }
1099 }
1100 unsafe impl ::windows::runtime::Interface for IAccPropServer {
1101     type Vtable = IAccPropServer_abi;
1102     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1992350651, 5600, 20091, [182, 27, 32, 238, 234, 32, 1, 224]);
1103 }
1104 impl ::std::convert::From<IAccPropServer> for ::windows::runtime::IUnknown {
1105     fn from(value: IAccPropServer) -> Self {
1106         unsafe { ::std::mem::transmute(value) }
1107     }
1108 }
1109 impl ::std::convert::From<&IAccPropServer> for ::windows::runtime::IUnknown {
1110     fn from(value: &IAccPropServer) -> Self {
1111         ::std::convert::From::from(::std::clone::Clone::clone(value))
1112     }
1113 }
1114 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccPropServer {
1115     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1116         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1117     }
1118 }
1119 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccPropServer {
1120     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1121         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1122     }
1123 }
1124 #[repr(C)]
1125 #[doc(hidden)]
1126 pub struct IAccPropServer_abi(
1127     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1128     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1129     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1130     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidstring: *const u8, dwidstringlen: u32, idprop: ::windows::runtime::GUID, pvarvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pfhasprop: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1131     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1132 );
1133 #[repr(transparent)]
1134 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1135 pub struct IAccPropServices(::windows::runtime::IUnknown);
1136 impl IAccPropServices {
1137     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1138     pub unsafe fn SetPropValue<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, pidstring: *const u8, dwidstringlen: u32, idprop: Param2, var: Param3) -> ::windows::runtime::Result<()> {
1139         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pidstring), ::std::mem::transmute(dwidstringlen), idprop.into_param().abi(), var.into_param().abi()).ok()
1140     }
1141     pub unsafe fn SetPropServer<'a, Param4: ::windows::runtime::IntoParam<'a, IAccPropServer>>(&self, pidstring: *const u8, dwidstringlen: u32, paprops: *const ::windows::runtime::GUID, cprops: i32, pserver: Param4, annoscope: AnnoScope) -> ::windows::runtime::Result<()> {
1142         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pidstring), ::std::mem::transmute(dwidstringlen), ::std::mem::transmute(paprops), ::std::mem::transmute(cprops), pserver.into_param().abi(), ::std::mem::transmute(annoscope)).ok()
1143     }
1144     pub unsafe fn ClearProps(&self, pidstring: *const u8, dwidstringlen: u32, paprops: *const ::windows::runtime::GUID, cprops: i32) -> ::windows::runtime::Result<()> {
1145         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pidstring), ::std::mem::transmute(dwidstringlen), ::std::mem::transmute(paprops), ::std::mem::transmute(cprops)).ok()
1146     }
1147     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1148     pub unsafe fn SetHwndProp<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param4: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, hwnd: Param0, idobject: u32, idchild: u32, idprop: Param3, var: Param4) -> ::windows::runtime::Result<()> {
1149         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), idprop.into_param().abi(), var.into_param().abi()).ok()
1150     }
1151     #[cfg(feature = "Win32_Foundation")]
1152     pub unsafe fn SetHwndPropStr<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hwnd: Param0, idobject: u32, idchild: u32, idprop: Param3, str: Param4) -> ::windows::runtime::Result<()> {
1153         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), idprop.into_param().abi(), str.into_param().abi()).ok()
1154     }
1155     #[cfg(feature = "Win32_Foundation")]
1156     pub unsafe fn SetHwndPropServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param5: ::windows::runtime::IntoParam<'a, IAccPropServer>>(&self, hwnd: Param0, idobject: u32, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32, pserver: Param5, annoscope: AnnoScope) -> ::windows::runtime::Result<()> {
1157         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), ::std::mem::transmute(paprops), ::std::mem::transmute(cprops), pserver.into_param().abi(), ::std::mem::transmute(annoscope)).ok()
1158     }
1159     #[cfg(feature = "Win32_Foundation")]
1160     pub unsafe fn ClearHwndProps<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0, idobject: u32, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32) -> ::windows::runtime::Result<()> {
1161         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), ::std::mem::transmute(paprops), ::std::mem::transmute(cprops)).ok()
1162     }
1163     #[cfg(feature = "Win32_Foundation")]
1164     pub unsafe fn ComposeHwndIdentityString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0, idobject: u32, idchild: u32, ppidstring: *mut *mut u8, pdwidstringlen: *mut u32) -> ::windows::runtime::Result<()> {
1165         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), ::std::mem::transmute(ppidstring), ::std::mem::transmute(pdwidstringlen)).ok()
1166     }
1167     #[cfg(feature = "Win32_Foundation")]
1168     pub unsafe fn DecomposeHwndIdentityString(&self, pidstring: *const u8, dwidstringlen: u32, phwnd: *mut super::super::Foundation::HWND, pidobject: *mut u32, pidchild: *mut u32) -> ::windows::runtime::Result<()> {
1169         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pidstring), ::std::mem::transmute(dwidstringlen), ::std::mem::transmute(phwnd), ::std::mem::transmute(pidobject), ::std::mem::transmute(pidchild)).ok()
1170     }
1171     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation", feature = "Win32_UI_WindowsAndMessaging"))]
1172     pub unsafe fn SetHmenuProp<'a, Param0: ::windows::runtime::IntoParam<'a, super::WindowsAndMessaging::HMENU>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, hmenu: Param0, idchild: u32, idprop: Param2, var: Param3) -> ::windows::runtime::Result<()> {
1173         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), hmenu.into_param().abi(), ::std::mem::transmute(idchild), idprop.into_param().abi(), var.into_param().abi()).ok()
1174     }
1175     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
1176     pub unsafe fn SetHmenuPropStr<'a, Param0: ::windows::runtime::IntoParam<'a, super::WindowsAndMessaging::HMENU>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hmenu: Param0, idchild: u32, idprop: Param2, str: Param3) -> ::windows::runtime::Result<()> {
1177         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), hmenu.into_param().abi(), ::std::mem::transmute(idchild), idprop.into_param().abi(), str.into_param().abi()).ok()
1178     }
1179     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
1180     pub unsafe fn SetHmenuPropServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::WindowsAndMessaging::HMENU>, Param4: ::windows::runtime::IntoParam<'a, IAccPropServer>>(&self, hmenu: Param0, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32, pserver: Param4, annoscope: AnnoScope) -> ::windows::runtime::Result<()> {
1181         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), hmenu.into_param().abi(), ::std::mem::transmute(idchild), ::std::mem::transmute(paprops), ::std::mem::transmute(cprops), pserver.into_param().abi(), ::std::mem::transmute(annoscope)).ok()
1182     }
1183     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
1184     pub unsafe fn ClearHmenuProps<'a, Param0: ::windows::runtime::IntoParam<'a, super::WindowsAndMessaging::HMENU>>(&self, hmenu: Param0, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32) -> ::windows::runtime::Result<()> {
1185         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), hmenu.into_param().abi(), ::std::mem::transmute(idchild), ::std::mem::transmute(paprops), ::std::mem::transmute(cprops)).ok()
1186     }
1187     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
1188     pub unsafe fn ComposeHmenuIdentityString<'a, Param0: ::windows::runtime::IntoParam<'a, super::WindowsAndMessaging::HMENU>>(&self, hmenu: Param0, idchild: u32, ppidstring: *mut *mut u8, pdwidstringlen: *mut u32) -> ::windows::runtime::Result<()> {
1189         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), hmenu.into_param().abi(), ::std::mem::transmute(idchild), ::std::mem::transmute(ppidstring), ::std::mem::transmute(pdwidstringlen)).ok()
1190     }
1191     #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
1192     pub unsafe fn DecomposeHmenuIdentityString(&self, pidstring: *const u8, dwidstringlen: u32, phmenu: *mut super::WindowsAndMessaging::HMENU, pidchild: *mut u32) -> ::windows::runtime::Result<()> {
1193         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(pidstring), ::std::mem::transmute(dwidstringlen), ::std::mem::transmute(phmenu), ::std::mem::transmute(pidchild)).ok()
1194     }
1195 }
1196 unsafe impl ::windows::runtime::Interface for IAccPropServices {
1197     type Vtable = IAccPropServices_abi;
1198     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1848043382, 1264, 18781, [128, 228, 51, 48, 53, 46, 49, 105]);
1199 }
1200 impl ::std::convert::From<IAccPropServices> for ::windows::runtime::IUnknown {
1201     fn from(value: IAccPropServices) -> Self {
1202         unsafe { ::std::mem::transmute(value) }
1203     }
1204 }
1205 impl ::std::convert::From<&IAccPropServices> for ::windows::runtime::IUnknown {
1206     fn from(value: &IAccPropServices) -> Self {
1207         ::std::convert::From::from(::std::clone::Clone::clone(value))
1208     }
1209 }
1210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccPropServices {
1211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1212         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1213     }
1214 }
1215 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccPropServices {
1216     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1217         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1218     }
1219 }
1220 #[repr(C)]
1221 #[doc(hidden)]
1222 pub struct IAccPropServices_abi(
1223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1226     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidstring: *const u8, dwidstringlen: u32, idprop: ::windows::runtime::GUID, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1227     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidstring: *const u8, dwidstringlen: u32, paprops: *const ::windows::runtime::GUID, cprops: i32, pserver: ::windows::runtime::RawPtr, annoscope: AnnoScope) -> ::windows::runtime::HRESULT,
1229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidstring: *const u8, dwidstringlen: u32, paprops: *const ::windows::runtime::GUID, cprops: i32) -> ::windows::runtime::HRESULT,
1230     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, idobject: u32, idchild: u32, idprop: ::windows::runtime::GUID, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1231     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1232     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, idobject: u32, idchild: u32, idprop: ::windows::runtime::GUID, str: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1233     #[cfg(not(feature = "Win32_Foundation"))] usize,
1234     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, idobject: u32, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32, pserver: ::windows::runtime::RawPtr, annoscope: AnnoScope) -> ::windows::runtime::HRESULT,
1235     #[cfg(not(feature = "Win32_Foundation"))] usize,
1236     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, idobject: u32, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32) -> ::windows::runtime::HRESULT,
1237     #[cfg(not(feature = "Win32_Foundation"))] usize,
1238     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, idobject: u32, idchild: u32, ppidstring: *mut *mut u8, pdwidstringlen: *mut u32) -> ::windows::runtime::HRESULT,
1239     #[cfg(not(feature = "Win32_Foundation"))] usize,
1240     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidstring: *const u8, dwidstringlen: u32, phwnd: *mut super::super::Foundation::HWND, pidobject: *mut u32, pidchild: *mut u32) -> ::windows::runtime::HRESULT,
1241     #[cfg(not(feature = "Win32_Foundation"))] usize,
1242     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation", feature = "Win32_UI_WindowsAndMessaging"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hmenu: super::WindowsAndMessaging::HMENU, idchild: u32, idprop: ::windows::runtime::GUID, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1243     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation", feature = "Win32_UI_WindowsAndMessaging")))] usize,
1244     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hmenu: super::WindowsAndMessaging::HMENU, idchild: u32, idprop: ::windows::runtime::GUID, str: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1245     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging")))] usize,
1246     #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hmenu: super::WindowsAndMessaging::HMENU, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32, pserver: ::windows::runtime::RawPtr, annoscope: AnnoScope) -> ::windows::runtime::HRESULT,
1247     #[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))] usize,
1248     #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hmenu: super::WindowsAndMessaging::HMENU, idchild: u32, paprops: *const ::windows::runtime::GUID, cprops: i32) -> ::windows::runtime::HRESULT,
1249     #[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))] usize,
1250     #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hmenu: super::WindowsAndMessaging::HMENU, idchild: u32, ppidstring: *mut *mut u8, pdwidstringlen: *mut u32) -> ::windows::runtime::HRESULT,
1251     #[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))] usize,
1252     #[cfg(feature = "Win32_UI_WindowsAndMessaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pidstring: *const u8, dwidstringlen: u32, phmenu: *mut super::WindowsAndMessaging::HMENU, pidchild: *mut u32) -> ::windows::runtime::HRESULT,
1253     #[cfg(not(feature = "Win32_UI_WindowsAndMessaging"))] usize,
1254 );
1255 #[repr(transparent)]
1256 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1257 pub struct IAccessible(::windows::runtime::IUnknown);
1258 impl IAccessible {
1259     #[cfg(feature = "Win32_System_Ole_Automation")]
1260     pub unsafe fn accParent(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IDispatch> {
1261         let mut result__: <super::super::System::Ole::Automation::IDispatch as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1262         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IDispatch>(result__)
1263     }
1264     pub unsafe fn accChildCount(&self) -> ::windows::runtime::Result<i32> {
1265         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1266         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1267     }
1268     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1269     pub unsafe fn accChild<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IDispatch> {
1270         let mut result__: <super::super::System::Ole::Automation::IDispatch as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1271         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::System::Ole::Automation::IDispatch>(result__)
1272     }
1273     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1274     pub unsafe fn accName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1275         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1276         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1277     }
1278     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1279     pub unsafe fn accValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1280         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1281         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1282     }
1283     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1284     pub unsafe fn accDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1285         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1286         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1287     }
1288     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1289     pub unsafe fn accRole<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
1290         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1291         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
1292     }
1293     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1294     pub unsafe fn accState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
1295         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1296         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
1297     }
1298     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1299     pub unsafe fn accHelp<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1300         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1301         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1302     }
1303     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1304     pub unsafe fn accHelpTopic<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, pszhelpfile: *mut super::super::Foundation::BSTR, varchild: Param1, pidtopic: *mut i32) -> ::windows::runtime::Result<()> {
1305         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pszhelpfile), varchild.into_param().abi(), ::std::mem::transmute(pidtopic)).ok()
1306     }
1307     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1308     pub unsafe fn accKeyboardShortcut<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1309         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1310         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1311     }
1312     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1313     pub unsafe fn accFocus(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
1314         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1315         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
1316     }
1317     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1318     pub unsafe fn accSelection(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
1319         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1320         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
1321     }
1322     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1323     pub unsafe fn accDefaultAction<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1324         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1325         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), varchild.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1326     }
1327     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1328     pub unsafe fn accSelect<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, flagsselect: i32, varchild: Param1) -> ::windows::runtime::Result<()> {
1329         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(flagsselect), varchild.into_param().abi()).ok()
1330     }
1331     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1332     pub unsafe fn accLocation<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, pxleft: *mut i32, pytop: *mut i32, pcxwidth: *mut i32, pcyheight: *mut i32, varchild: Param4) -> ::windows::runtime::Result<()> {
1333         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(pxleft), ::std::mem::transmute(pytop), ::std::mem::transmute(pcxwidth), ::std::mem::transmute(pcyheight), varchild.into_param().abi()).ok()
1334     }
1335     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1336     pub unsafe fn accNavigate<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, navdir: i32, varstart: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
1337         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1338         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(navdir), varstart.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
1339     }
1340     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1341     pub unsafe fn accHitTest(&self, xleft: i32, ytop: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
1342         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1343         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(xleft), ::std::mem::transmute(ytop), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
1344     }
1345     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1346     pub unsafe fn accDoDefaultAction<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, varchild: Param0) -> ::windows::runtime::Result<()> {
1347         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), varchild.into_param().abi()).ok()
1348     }
1349     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1350     pub unsafe fn SetaccName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, varchild: Param0, szname: Param1) -> ::windows::runtime::Result<()> {
1351         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), varchild.into_param().abi(), szname.into_param().abi()).ok()
1352     }
1353     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1354     pub unsafe fn SetaccValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, varchild: Param0, szvalue: Param1) -> ::windows::runtime::Result<()> {
1355         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), varchild.into_param().abi(), szvalue.into_param().abi()).ok()
1356     }
1357 }
1358 unsafe impl ::windows::runtime::Interface for IAccessible {
1359     type Vtable = IAccessible_abi;
1360     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1636251360, 15421, 4559, [129, 12, 0, 170, 0, 56, 155, 113]);
1361 }
1362 impl ::std::convert::From<IAccessible> for ::windows::runtime::IUnknown {
1363     fn from(value: IAccessible) -> Self {
1364         unsafe { ::std::mem::transmute(value) }
1365     }
1366 }
1367 impl ::std::convert::From<&IAccessible> for ::windows::runtime::IUnknown {
1368     fn from(value: &IAccessible) -> Self {
1369         ::std::convert::From::from(::std::clone::Clone::clone(value))
1370     }
1371 }
1372 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccessible {
1373     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1374         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1375     }
1376 }
1377 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccessible {
1378     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1379         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1380     }
1381 }
1382 #[cfg(feature = "Win32_System_Ole_Automation")]
1383 impl ::std::convert::From<IAccessible> for super::super::System::Ole::Automation::IDispatch {
1384     fn from(value: IAccessible) -> Self {
1385         unsafe { ::std::mem::transmute(value) }
1386     }
1387 }
1388 #[cfg(feature = "Win32_System_Ole_Automation")]
1389 impl ::std::convert::From<&IAccessible> for super::super::System::Ole::Automation::IDispatch {
1390     fn from(value: &IAccessible) -> Self {
1391         ::std::convert::From::from(::std::clone::Clone::clone(value))
1392     }
1393 }
1394 #[cfg(feature = "Win32_System_Ole_Automation")]
1395 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IAccessible {
1396     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1397         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1398     }
1399 }
1400 #[cfg(feature = "Win32_System_Ole_Automation")]
1401 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IAccessible {
1402     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1403         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1404     }
1405 }
1406 #[repr(C)]
1407 #[doc(hidden)]
1408 pub struct IAccessible_abi(
1409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1413     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1414     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1415     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1416     #[cfg(not(feature = "Win32_Foundation"))] usize,
1417     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1418     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1419     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1420     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdispparent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1421     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcountchildren: *mut i32) -> ::windows::runtime::HRESULT,
1423     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, ppdispchild: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1424     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1425     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pszname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1426     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1427     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pszvalue: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1428     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1429     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pszdescription: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1430     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1431     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pvarrole: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1432     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1433     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pvarstate: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1434     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1435     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pszhelp: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1436     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1437     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszhelpfile: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pidtopic: *mut i32) -> ::windows::runtime::HRESULT,
1438     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1439     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pszkeyboardshortcut: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1440     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1441     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarchild: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1442     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1443     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarchildren: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1444     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1445     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pszdefaultaction: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1446     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1447     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flagsselect: i32, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1448     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1449     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pxleft: *mut i32, pytop: *mut i32, pcxwidth: *mut i32, pcyheight: *mut i32, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1450     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1451     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, navdir: i32, varstart: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pvarendupat: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1452     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1453     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, xleft: i32, ytop: i32, pvarchild: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1454     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1455     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
1456     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1457     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, szname: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1458     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1459     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, varchild: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, szvalue: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1460     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1461 );
1462 #[repr(transparent)]
1463 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1464 pub struct IAccessibleEx(::windows::runtime::IUnknown);
1465 impl IAccessibleEx {
1466     pub unsafe fn GetObjectForChild(&self, idchild: i32) -> ::windows::runtime::Result<IAccessibleEx> {
1467         let mut result__: <IAccessibleEx as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1468         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(idchild), &mut result__).from_abi::<IAccessibleEx>(result__)
1469     }
1470     pub unsafe fn GetIAccessiblePair(&self, ppacc: *mut ::std::option::Option<IAccessible>, pidchild: *mut i32) -> ::windows::runtime::Result<()> {
1471         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppacc), ::std::mem::transmute(pidchild)).ok()
1472     }
1473     #[cfg(feature = "Win32_System_Com")]
1474     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1475         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1476         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1477     }
1478     pub unsafe fn ConvertReturnedElement<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, pin: Param0) -> ::windows::runtime::Result<IAccessibleEx> {
1479         let mut result__: <IAccessibleEx as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1480         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pin.into_param().abi(), &mut result__).from_abi::<IAccessibleEx>(result__)
1481     }
1482 }
1483 unsafe impl ::windows::runtime::Interface for IAccessibleEx {
1484     type Vtable = IAccessibleEx_abi;
1485     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4172810970, 11332, 18640, [137, 190, 95, 242, 60, 156, 216, 117]);
1486 }
1487 impl ::std::convert::From<IAccessibleEx> for ::windows::runtime::IUnknown {
1488     fn from(value: IAccessibleEx) -> Self {
1489         unsafe { ::std::mem::transmute(value) }
1490     }
1491 }
1492 impl ::std::convert::From<&IAccessibleEx> for ::windows::runtime::IUnknown {
1493     fn from(value: &IAccessibleEx) -> Self {
1494         ::std::convert::From::from(::std::clone::Clone::clone(value))
1495     }
1496 }
1497 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccessibleEx {
1498     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1499         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1500     }
1501 }
1502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccessibleEx {
1503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1504         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1505     }
1506 }
1507 #[repr(C)]
1508 #[doc(hidden)]
1509 pub struct IAccessibleEx_abi(
1510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, idchild: i32, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppacc: *mut ::windows::runtime::RawPtr, pidchild: *mut i32) -> ::windows::runtime::HRESULT,
1515     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1516     #[cfg(not(feature = "Win32_System_Com"))] usize,
1517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pin: ::windows::runtime::RawPtr, ppretvalout: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1518 );
1519 #[repr(transparent)]
1520 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1521 pub struct IAccessibleHandler(::windows::runtime::IUnknown);
1522 impl IAccessibleHandler {
1523     pub unsafe fn AccessibleObjectFromID(&self, hwnd: i32, lobjectid: i32) -> ::windows::runtime::Result<IAccessible> {
1524         let mut result__: <IAccessible as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1525         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hwnd), ::std::mem::transmute(lobjectid), &mut result__).from_abi::<IAccessible>(result__)
1526     }
1527 }
1528 unsafe impl ::windows::runtime::Interface for IAccessibleHandler {
1529     type Vtable = IAccessibleHandler_abi;
1530     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(50471984, 43972, 4560, [189, 226, 0, 170, 0, 26, 25, 83]);
1531 }
1532 impl ::std::convert::From<IAccessibleHandler> for ::windows::runtime::IUnknown {
1533     fn from(value: IAccessibleHandler) -> Self {
1534         unsafe { ::std::mem::transmute(value) }
1535     }
1536 }
1537 impl ::std::convert::From<&IAccessibleHandler> for ::windows::runtime::IUnknown {
1538     fn from(value: &IAccessibleHandler) -> Self {
1539         ::std::convert::From::from(::std::clone::Clone::clone(value))
1540     }
1541 }
1542 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccessibleHandler {
1543     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1544         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1545     }
1546 }
1547 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccessibleHandler {
1548     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1549         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1550     }
1551 }
1552 #[repr(C)]
1553 #[doc(hidden)]
1554 pub struct IAccessibleHandler_abi(
1555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: i32, lobjectid: i32, piaccessible: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1559 );
1560 #[repr(transparent)]
1561 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1562 pub struct IAccessibleHostingElementProviders(::windows::runtime::IUnknown);
1563 impl IAccessibleHostingElementProviders {
1564     #[cfg(feature = "Win32_System_Com")]
1565     pub unsafe fn GetEmbeddedFragmentRoots(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1566         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1567         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1568     }
1569     pub unsafe fn GetObjectIdForProvider<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, pprovider: Param0) -> ::windows::runtime::Result<i32> {
1570         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1571         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), &mut result__).from_abi::<i32>(result__)
1572     }
1573 }
1574 unsafe impl ::windows::runtime::Interface for IAccessibleHostingElementProviders {
1575     type Vtable = IAccessibleHostingElementProviders_abi;
1576     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(866923291, 37950, 16416, [178, 149, 219, 55, 120, 73, 116, 163]);
1577 }
1578 impl ::std::convert::From<IAccessibleHostingElementProviders> for ::windows::runtime::IUnknown {
1579     fn from(value: IAccessibleHostingElementProviders) -> Self {
1580         unsafe { ::std::mem::transmute(value) }
1581     }
1582 }
1583 impl ::std::convert::From<&IAccessibleHostingElementProviders> for ::windows::runtime::IUnknown {
1584     fn from(value: &IAccessibleHostingElementProviders) -> Self {
1585         ::std::convert::From::from(::std::clone::Clone::clone(value))
1586     }
1587 }
1588 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccessibleHostingElementProviders {
1589     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1590         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1591     }
1592 }
1593 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccessibleHostingElementProviders {
1594     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1595         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1596     }
1597 }
1598 #[repr(C)]
1599 #[doc(hidden)]
1600 pub struct IAccessibleHostingElementProviders_abi(
1601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1604     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1605     #[cfg(not(feature = "Win32_System_Com"))] usize,
1606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, pidobject: *mut i32) -> ::windows::runtime::HRESULT,
1607 );
1608 #[repr(transparent)]
1609 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1610 pub struct IAccessibleWindowlessSite(::windows::runtime::IUnknown);
1611 impl IAccessibleWindowlessSite {
1612     pub unsafe fn AcquireObjectIdRange<'a, Param1: ::windows::runtime::IntoParam<'a, IAccessibleHandler>>(&self, rangesize: i32, prangeowner: Param1) -> ::windows::runtime::Result<i32> {
1613         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1614         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangesize), prangeowner.into_param().abi(), &mut result__).from_abi::<i32>(result__)
1615     }
1616     pub unsafe fn ReleaseObjectIdRange<'a, Param1: ::windows::runtime::IntoParam<'a, IAccessibleHandler>>(&self, rangebase: i32, prangeowner: Param1) -> ::windows::runtime::Result<()> {
1617         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangebase), prangeowner.into_param().abi()).ok()
1618     }
1619     #[cfg(feature = "Win32_System_Com")]
1620     pub unsafe fn QueryObjectIdRanges<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessibleHandler>>(&self, prangesowner: Param0) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1621         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1622         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), prangesowner.into_param().abi(), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1623     }
1624     pub unsafe fn GetParentAccessible(&self) -> ::windows::runtime::Result<IAccessible> {
1625         let mut result__: <IAccessible as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1626         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IAccessible>(result__)
1627     }
1628 }
1629 unsafe impl ::windows::runtime::Interface for IAccessibleWindowlessSite {
1630     type Vtable = IAccessibleWindowlessSite_abi;
1631     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3208297884, 30426, 17289, [158, 182, 20, 39, 210, 90, 186, 183]);
1632 }
1633 impl ::std::convert::From<IAccessibleWindowlessSite> for ::windows::runtime::IUnknown {
1634     fn from(value: IAccessibleWindowlessSite) -> Self {
1635         unsafe { ::std::mem::transmute(value) }
1636     }
1637 }
1638 impl ::std::convert::From<&IAccessibleWindowlessSite> for ::windows::runtime::IUnknown {
1639     fn from(value: &IAccessibleWindowlessSite) -> Self {
1640         ::std::convert::From::from(::std::clone::Clone::clone(value))
1641     }
1642 }
1643 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAccessibleWindowlessSite {
1644     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1645         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1646     }
1647 }
1648 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAccessibleWindowlessSite {
1649     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1650         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1651     }
1652 }
1653 #[repr(C)]
1654 #[doc(hidden)]
1655 pub struct IAccessibleWindowlessSite_abi(
1656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangesize: i32, prangeowner: ::windows::runtime::RawPtr, prangebase: *mut i32) -> ::windows::runtime::HRESULT,
1660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangebase: i32, prangeowner: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1661     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prangesowner: ::windows::runtime::RawPtr, psaranges: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1662     #[cfg(not(feature = "Win32_System_Com"))] usize,
1663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppparent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1664 );
1665 #[repr(transparent)]
1666 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1667 pub struct IAnnotationProvider(::windows::runtime::IUnknown);
1668 impl IAnnotationProvider {
1669     pub unsafe fn AnnotationTypeId(&self) -> ::windows::runtime::Result<i32> {
1670         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1671         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1672     }
1673     #[cfg(feature = "Win32_Foundation")]
1674     pub unsafe fn AnnotationTypeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1675         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1676         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1677     }
1678     #[cfg(feature = "Win32_Foundation")]
1679     pub unsafe fn Author(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1680         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1681         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1682     }
1683     #[cfg(feature = "Win32_Foundation")]
1684     pub unsafe fn DateTime(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1685         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1686         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1687     }
1688     pub unsafe fn Target(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
1689         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1690         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
1691     }
1692 }
1693 unsafe impl ::windows::runtime::Interface for IAnnotationProvider {
1694     type Vtable = IAnnotationProvider_abi;
1695     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4183588480, 48483, 17921, [151, 130, 68, 94, 191, 240, 17, 252]);
1696 }
1697 impl ::std::convert::From<IAnnotationProvider> for ::windows::runtime::IUnknown {
1698     fn from(value: IAnnotationProvider) -> Self {
1699         unsafe { ::std::mem::transmute(value) }
1700     }
1701 }
1702 impl ::std::convert::From<&IAnnotationProvider> for ::windows::runtime::IUnknown {
1703     fn from(value: &IAnnotationProvider) -> Self {
1704         ::std::convert::From::from(::std::clone::Clone::clone(value))
1705     }
1706 }
1707 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAnnotationProvider {
1708     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1709         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1710     }
1711 }
1712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAnnotationProvider {
1713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1714         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1715     }
1716 }
1717 #[repr(C)]
1718 #[doc(hidden)]
1719 pub struct IAnnotationProvider_abi(
1720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
1724     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1725     #[cfg(not(feature = "Win32_Foundation"))] usize,
1726     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1727     #[cfg(not(feature = "Win32_Foundation"))] usize,
1728     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1729     #[cfg(not(feature = "Win32_Foundation"))] usize,
1730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1731 );
1732 #[repr(transparent)]
1733 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1734 pub struct ICustomNavigationProvider(::windows::runtime::IUnknown);
1735 impl ICustomNavigationProvider {
1736     pub unsafe fn Navigate(&self, direction: NavigateDirection) -> ::windows::runtime::Result<IRawElementProviderSimple> {
1737         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1738         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(direction), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
1739     }
1740 }
1741 unsafe impl ::windows::runtime::Interface for ICustomNavigationProvider {
1742     type Vtable = ICustomNavigationProvider_abi;
1743     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543335050, 35847, 19348, [142, 18, 112, 55, 198, 34, 174, 184]);
1744 }
1745 impl ::std::convert::From<ICustomNavigationProvider> for ::windows::runtime::IUnknown {
1746     fn from(value: ICustomNavigationProvider) -> Self {
1747         unsafe { ::std::mem::transmute(value) }
1748     }
1749 }
1750 impl ::std::convert::From<&ICustomNavigationProvider> for ::windows::runtime::IUnknown {
1751     fn from(value: &ICustomNavigationProvider) -> Self {
1752         ::std::convert::From::from(::std::clone::Clone::clone(value))
1753     }
1754 }
1755 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICustomNavigationProvider {
1756     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1757         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1758     }
1759 }
1760 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICustomNavigationProvider {
1761     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1762         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1763     }
1764 }
1765 #[repr(C)]
1766 #[doc(hidden)]
1767 pub struct ICustomNavigationProvider_abi(
1768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, direction: NavigateDirection, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1772 );
1773 #[repr(transparent)]
1774 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1775 pub struct IDockProvider(::windows::runtime::IUnknown);
1776 impl IDockProvider {
1777     pub unsafe fn SetDockPosition(&self, dockposition: DockPosition) -> ::windows::runtime::Result<()> {
1778         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dockposition)).ok()
1779     }
1780     pub unsafe fn DockPosition(&self) -> ::windows::runtime::Result<DockPosition> {
1781         let mut result__: <DockPosition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1782         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DockPosition>(result__)
1783     }
1784 }
1785 unsafe impl ::windows::runtime::Interface for IDockProvider {
1786     type Vtable = IDockProvider_abi;
1787     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(362530604, 19155, 18526, [150, 55, 215, 5, 46, 223, 1, 70]);
1788 }
1789 impl ::std::convert::From<IDockProvider> for ::windows::runtime::IUnknown {
1790     fn from(value: IDockProvider) -> Self {
1791         unsafe { ::std::mem::transmute(value) }
1792     }
1793 }
1794 impl ::std::convert::From<&IDockProvider> for ::windows::runtime::IUnknown {
1795     fn from(value: &IDockProvider) -> Self {
1796         ::std::convert::From::from(::std::clone::Clone::clone(value))
1797     }
1798 }
1799 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDockProvider {
1800     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1801         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1802     }
1803 }
1804 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDockProvider {
1805     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1806         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1807     }
1808 }
1809 #[repr(C)]
1810 #[doc(hidden)]
1811 pub struct IDockProvider_abi(
1812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dockposition: DockPosition) -> ::windows::runtime::HRESULT,
1816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut DockPosition) -> ::windows::runtime::HRESULT,
1817 );
1818 #[repr(transparent)]
1819 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1820 pub struct IDragProvider(::windows::runtime::IUnknown);
1821 impl IDragProvider {
1822     #[cfg(feature = "Win32_Foundation")]
1823     pub unsafe fn IsGrabbed(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1824         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1825         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1826     }
1827     #[cfg(feature = "Win32_Foundation")]
1828     pub unsafe fn DropEffect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1829         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1830         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1831     }
1832     #[cfg(feature = "Win32_System_Com")]
1833     pub unsafe fn DropEffects(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1834         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1835         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1836     }
1837     #[cfg(feature = "Win32_System_Com")]
1838     pub unsafe fn GetGrabbedItems(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1839         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1840         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1841     }
1842 }
1843 unsafe impl ::windows::runtime::Interface for IDragProvider {
1844     type Vtable = IDragProvider_abi;
1845     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1789377467, 32761, 18813, [144, 79, 210, 11, 137, 121, 41, 216]);
1846 }
1847 impl ::std::convert::From<IDragProvider> for ::windows::runtime::IUnknown {
1848     fn from(value: IDragProvider) -> Self {
1849         unsafe { ::std::mem::transmute(value) }
1850     }
1851 }
1852 impl ::std::convert::From<&IDragProvider> for ::windows::runtime::IUnknown {
1853     fn from(value: &IDragProvider) -> Self {
1854         ::std::convert::From::from(::std::clone::Clone::clone(value))
1855     }
1856 }
1857 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDragProvider {
1858     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1859         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1860     }
1861 }
1862 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDragProvider {
1863     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1864         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1865     }
1866 }
1867 #[repr(C)]
1868 #[doc(hidden)]
1869 pub struct IDragProvider_abi(
1870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1873     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1874     #[cfg(not(feature = "Win32_Foundation"))] usize,
1875     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1876     #[cfg(not(feature = "Win32_Foundation"))] usize,
1877     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1878     #[cfg(not(feature = "Win32_System_Com"))] usize,
1879     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1880     #[cfg(not(feature = "Win32_System_Com"))] usize,
1881 );
1882 #[repr(transparent)]
1883 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1884 pub struct IDropTargetProvider(::windows::runtime::IUnknown);
1885 impl IDropTargetProvider {
1886     #[cfg(feature = "Win32_Foundation")]
1887     pub unsafe fn DropTargetEffect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1888         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1889         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1890     }
1891     #[cfg(feature = "Win32_System_Com")]
1892     pub unsafe fn DropTargetEffects(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1893         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1894         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1895     }
1896 }
1897 unsafe impl ::windows::runtime::Interface for IDropTargetProvider {
1898     type Vtable = IDropTargetProvider_abi;
1899     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3135777789, 13706, 18460, [133, 160, 216, 180, 217, 10, 93, 97]);
1900 }
1901 impl ::std::convert::From<IDropTargetProvider> for ::windows::runtime::IUnknown {
1902     fn from(value: IDropTargetProvider) -> Self {
1903         unsafe { ::std::mem::transmute(value) }
1904     }
1905 }
1906 impl ::std::convert::From<&IDropTargetProvider> for ::windows::runtime::IUnknown {
1907     fn from(value: &IDropTargetProvider) -> Self {
1908         ::std::convert::From::from(::std::clone::Clone::clone(value))
1909     }
1910 }
1911 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDropTargetProvider {
1912     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1913         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1914     }
1915 }
1916 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDropTargetProvider {
1917     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1918         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1919     }
1920 }
1921 #[repr(C)]
1922 #[doc(hidden)]
1923 pub struct IDropTargetProvider_abi(
1924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1927     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1928     #[cfg(not(feature = "Win32_Foundation"))] usize,
1929     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1930     #[cfg(not(feature = "Win32_System_Com"))] usize,
1931 );
1932 #[repr(transparent)]
1933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1934 pub struct IExpandCollapseProvider(::windows::runtime::IUnknown);
1935 impl IExpandCollapseProvider {
1936     pub unsafe fn Expand(&self) -> ::windows::runtime::Result<()> {
1937         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
1938     }
1939     pub unsafe fn Collapse(&self) -> ::windows::runtime::Result<()> {
1940         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1941     }
1942     pub unsafe fn ExpandCollapseState(&self) -> ::windows::runtime::Result<ExpandCollapseState> {
1943         let mut result__: <ExpandCollapseState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1944         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ExpandCollapseState>(result__)
1945     }
1946 }
1947 unsafe impl ::windows::runtime::Interface for IExpandCollapseProvider {
1948     type Vtable = IExpandCollapseProvider_abi;
1949     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3628585893, 51888, 19096, [140, 50, 236, 180, 92, 89, 173, 36]);
1950 }
1951 impl ::std::convert::From<IExpandCollapseProvider> for ::windows::runtime::IUnknown {
1952     fn from(value: IExpandCollapseProvider) -> Self {
1953         unsafe { ::std::mem::transmute(value) }
1954     }
1955 }
1956 impl ::std::convert::From<&IExpandCollapseProvider> for ::windows::runtime::IUnknown {
1957     fn from(value: &IExpandCollapseProvider) -> Self {
1958         ::std::convert::From::from(::std::clone::Clone::clone(value))
1959     }
1960 }
1961 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IExpandCollapseProvider {
1962     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1963         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1964     }
1965 }
1966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IExpandCollapseProvider {
1967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1968         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1969     }
1970 }
1971 #[repr(C)]
1972 #[doc(hidden)]
1973 pub struct IExpandCollapseProvider_abi(
1974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ExpandCollapseState) -> ::windows::runtime::HRESULT,
1980 );
1981 #[repr(transparent)]
1982 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1983 pub struct IGridItemProvider(::windows::runtime::IUnknown);
1984 impl IGridItemProvider {
1985     pub unsafe fn Row(&self) -> ::windows::runtime::Result<i32> {
1986         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1987         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1988     }
1989     pub unsafe fn Column(&self) -> ::windows::runtime::Result<i32> {
1990         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1991         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1992     }
1993     pub unsafe fn RowSpan(&self) -> ::windows::runtime::Result<i32> {
1994         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1995         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1996     }
1997     pub unsafe fn ColumnSpan(&self) -> ::windows::runtime::Result<i32> {
1998         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1999         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2000     }
2001     pub unsafe fn ContainingGrid(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
2002         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2003         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
2004     }
2005 }
2006 unsafe impl ::windows::runtime::Interface for IGridItemProvider {
2007     type Vtable = IGridItemProvider_abi;
2008     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3492102641, 64385, 19812, [174, 50, 245, 32, 248, 166, 219, 209]);
2009 }
2010 impl ::std::convert::From<IGridItemProvider> for ::windows::runtime::IUnknown {
2011     fn from(value: IGridItemProvider) -> Self {
2012         unsafe { ::std::mem::transmute(value) }
2013     }
2014 }
2015 impl ::std::convert::From<&IGridItemProvider> for ::windows::runtime::IUnknown {
2016     fn from(value: &IGridItemProvider) -> Self {
2017         ::std::convert::From::from(::std::clone::Clone::clone(value))
2018     }
2019 }
2020 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IGridItemProvider {
2021     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2022         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2023     }
2024 }
2025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IGridItemProvider {
2026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2027         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2028     }
2029 }
2030 #[repr(C)]
2031 #[doc(hidden)]
2032 pub struct IGridItemProvider_abi(
2033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2041 );
2042 #[repr(transparent)]
2043 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2044 pub struct IGridProvider(::windows::runtime::IUnknown);
2045 impl IGridProvider {
2046     pub unsafe fn GetItem(&self, row: i32, column: i32) -> ::windows::runtime::Result<IRawElementProviderSimple> {
2047         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2048         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(row), ::std::mem::transmute(column), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
2049     }
2050     pub unsafe fn RowCount(&self) -> ::windows::runtime::Result<i32> {
2051         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2052         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2053     }
2054     pub unsafe fn ColumnCount(&self) -> ::windows::runtime::Result<i32> {
2055         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2056         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2057     }
2058 }
2059 unsafe impl ::windows::runtime::Interface for IGridProvider {
2060     type Vtable = IGridProvider_abi;
2061     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2977784199, 2311, 17995, [161, 104, 14, 241, 122, 21, 114, 177]);
2062 }
2063 impl ::std::convert::From<IGridProvider> for ::windows::runtime::IUnknown {
2064     fn from(value: IGridProvider) -> Self {
2065         unsafe { ::std::mem::transmute(value) }
2066     }
2067 }
2068 impl ::std::convert::From<&IGridProvider> for ::windows::runtime::IUnknown {
2069     fn from(value: &IGridProvider) -> Self {
2070         ::std::convert::From::from(::std::clone::Clone::clone(value))
2071     }
2072 }
2073 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IGridProvider {
2074     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2075         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2076     }
2077 }
2078 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IGridProvider {
2079     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2080         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2081     }
2082 }
2083 #[repr(C)]
2084 #[doc(hidden)]
2085 pub struct IGridProvider_abi(
2086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, row: i32, column: i32, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2092 );
2093 pub const IIS_ControlAccessible: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(952533670, 38705, 17394, [159, 174, 233, 1, 230, 65, 177, 1]);
2094 pub const IIS_IsOleaccProxy: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2418448378, 32996, 17760, [128, 42, 161, 63, 34, 166, 71, 9]);
2095 #[repr(transparent)]
2096 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2097 pub struct IInvokeProvider(::windows::runtime::IUnknown);
2098 impl IInvokeProvider {
2099     pub unsafe fn Invoke(&self) -> ::windows::runtime::Result<()> {
2100         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2101     }
2102 }
2103 unsafe impl ::windows::runtime::Interface for IInvokeProvider {
2104     type Vtable = IInvokeProvider_abi;
2105     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1425846859, 57742, 18338, [180, 211, 236, 203, 231, 117, 153, 162]);
2106 }
2107 impl ::std::convert::From<IInvokeProvider> for ::windows::runtime::IUnknown {
2108     fn from(value: IInvokeProvider) -> Self {
2109         unsafe { ::std::mem::transmute(value) }
2110     }
2111 }
2112 impl ::std::convert::From<&IInvokeProvider> for ::windows::runtime::IUnknown {
2113     fn from(value: &IInvokeProvider) -> Self {
2114         ::std::convert::From::from(::std::clone::Clone::clone(value))
2115     }
2116 }
2117 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IInvokeProvider {
2118     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2119         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2120     }
2121 }
2122 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IInvokeProvider {
2123     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2124         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2125     }
2126 }
2127 #[repr(C)]
2128 #[doc(hidden)]
2129 pub struct IInvokeProvider_abi(
2130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2134 );
2135 #[repr(transparent)]
2136 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2137 pub struct IItemContainerProvider(::windows::runtime::IUnknown);
2138 impl IItemContainerProvider {
2139     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2140     pub unsafe fn FindItemByProperty<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, pstartafter: Param0, propertyid: i32, value: Param2) -> ::windows::runtime::Result<IRawElementProviderSimple> {
2141         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2142         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pstartafter.into_param().abi(), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
2143     }
2144 }
2145 unsafe impl ::windows::runtime::Interface for IItemContainerProvider {
2146     type Vtable = IItemContainerProvider_abi;
2147     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3880220427, 14798, 17282, [171, 48, 216, 251, 63, 51, 111, 36]);
2148 }
2149 impl ::std::convert::From<IItemContainerProvider> for ::windows::runtime::IUnknown {
2150     fn from(value: IItemContainerProvider) -> Self {
2151         unsafe { ::std::mem::transmute(value) }
2152     }
2153 }
2154 impl ::std::convert::From<&IItemContainerProvider> for ::windows::runtime::IUnknown {
2155     fn from(value: &IItemContainerProvider) -> Self {
2156         ::std::convert::From::from(::std::clone::Clone::clone(value))
2157     }
2158 }
2159 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IItemContainerProvider {
2160     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2161         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2162     }
2163 }
2164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IItemContainerProvider {
2165     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2166         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2167     }
2168 }
2169 #[repr(C)]
2170 #[doc(hidden)]
2171 pub struct IItemContainerProvider_abi(
2172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2175     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstartafter: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pfound: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2176     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2177 );
2178 #[repr(transparent)]
2179 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2180 pub struct ILegacyIAccessibleProvider(::windows::runtime::IUnknown);
2181 impl ILegacyIAccessibleProvider {
2182     pub unsafe fn Select(&self, flagsselect: i32) -> ::windows::runtime::Result<()> {
2183         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(flagsselect)).ok()
2184     }
2185     pub unsafe fn DoDefaultAction(&self) -> ::windows::runtime::Result<()> {
2186         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
2187     }
2188     #[cfg(feature = "Win32_Foundation")]
2189     pub unsafe fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, szvalue: Param0) -> ::windows::runtime::Result<()> {
2190         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), szvalue.into_param().abi()).ok()
2191     }
2192     pub unsafe fn GetIAccessible(&self) -> ::windows::runtime::Result<IAccessible> {
2193         let mut result__: <IAccessible as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2194         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IAccessible>(result__)
2195     }
2196     pub unsafe fn ChildId(&self) -> ::windows::runtime::Result<i32> {
2197         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2198         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2199     }
2200     #[cfg(feature = "Win32_Foundation")]
2201     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2202         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2203         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2204     }
2205     #[cfg(feature = "Win32_Foundation")]
2206     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2207         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2208         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2209     }
2210     #[cfg(feature = "Win32_Foundation")]
2211     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2212         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2213         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2214     }
2215     pub unsafe fn Role(&self) -> ::windows::runtime::Result<u32> {
2216         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2217         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2218     }
2219     pub unsafe fn State(&self) -> ::windows::runtime::Result<u32> {
2220         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2221         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2222     }
2223     #[cfg(feature = "Win32_Foundation")]
2224     pub unsafe fn Help(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2225         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2226         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2227     }
2228     #[cfg(feature = "Win32_Foundation")]
2229     pub unsafe fn KeyboardShortcut(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2230         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2231         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2232     }
2233     #[cfg(feature = "Win32_System_Com")]
2234     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2235         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2236         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2237     }
2238     #[cfg(feature = "Win32_Foundation")]
2239     pub unsafe fn DefaultAction(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2240         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2241         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2242     }
2243 }
2244 unsafe impl ::windows::runtime::Interface for ILegacyIAccessibleProvider {
2245     type Vtable = ILegacyIAccessibleProvider_abi;
2246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3830199654, 37213, 16496, [153, 198, 4, 123, 255, 90, 8, 245]);
2247 }
2248 impl ::std::convert::From<ILegacyIAccessibleProvider> for ::windows::runtime::IUnknown {
2249     fn from(value: ILegacyIAccessibleProvider) -> Self {
2250         unsafe { ::std::mem::transmute(value) }
2251     }
2252 }
2253 impl ::std::convert::From<&ILegacyIAccessibleProvider> for ::windows::runtime::IUnknown {
2254     fn from(value: &ILegacyIAccessibleProvider) -> Self {
2255         ::std::convert::From::from(::std::clone::Clone::clone(value))
2256     }
2257 }
2258 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ILegacyIAccessibleProvider {
2259     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2260         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2261     }
2262 }
2263 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ILegacyIAccessibleProvider {
2264     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2265         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2266     }
2267 }
2268 #[repr(C)]
2269 #[doc(hidden)]
2270 pub struct ILegacyIAccessibleProvider_abi(
2271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flagsselect: i32) -> ::windows::runtime::HRESULT,
2275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, szvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2277     #[cfg(not(feature = "Win32_Foundation"))] usize,
2278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaccessible: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2280     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2281     #[cfg(not(feature = "Win32_Foundation"))] usize,
2282     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvalue: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2283     #[cfg(not(feature = "Win32_Foundation"))] usize,
2284     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdescription: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2285     #[cfg(not(feature = "Win32_Foundation"))] usize,
2286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwrole: *mut u32) -> ::windows::runtime::HRESULT,
2287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwstate: *mut u32) -> ::windows::runtime::HRESULT,
2288     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszhelp: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2289     #[cfg(not(feature = "Win32_Foundation"))] usize,
2290     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszkeyboardshortcut: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2291     #[cfg(not(feature = "Win32_Foundation"))] usize,
2292     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarselectedchildren: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2293     #[cfg(not(feature = "Win32_System_Com"))] usize,
2294     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdefaultaction: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2295     #[cfg(not(feature = "Win32_Foundation"))] usize,
2296 );
2297 #[repr(transparent)]
2298 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2299 pub struct IMultipleViewProvider(::windows::runtime::IUnknown);
2300 impl IMultipleViewProvider {
2301     #[cfg(feature = "Win32_Foundation")]
2302     pub unsafe fn GetViewName(&self, viewid: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2303         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2304         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(viewid), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2305     }
2306     pub unsafe fn SetCurrentView(&self, viewid: i32) -> ::windows::runtime::Result<()> {
2307         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(viewid)).ok()
2308     }
2309     pub unsafe fn CurrentView(&self) -> ::windows::runtime::Result<i32> {
2310         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2311         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2312     }
2313     #[cfg(feature = "Win32_System_Com")]
2314     pub unsafe fn GetSupportedViews(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2315         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2316         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2317     }
2318 }
2319 unsafe impl ::windows::runtime::Interface for IMultipleViewProvider {
2320     type Vtable = IMultipleViewProvider_abi;
2321     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1652083377, 46422, 18970, [180, 224, 65, 138, 204, 82, 50, 1]);
2322 }
2323 impl ::std::convert::From<IMultipleViewProvider> for ::windows::runtime::IUnknown {
2324     fn from(value: IMultipleViewProvider) -> Self {
2325         unsafe { ::std::mem::transmute(value) }
2326     }
2327 }
2328 impl ::std::convert::From<&IMultipleViewProvider> for ::windows::runtime::IUnknown {
2329     fn from(value: &IMultipleViewProvider) -> Self {
2330         ::std::convert::From::from(::std::clone::Clone::clone(value))
2331     }
2332 }
2333 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMultipleViewProvider {
2334     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2335         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2336     }
2337 }
2338 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMultipleViewProvider {
2339     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2340         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2341     }
2342 }
2343 #[repr(C)]
2344 #[doc(hidden)]
2345 pub struct IMultipleViewProvider_abi(
2346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2349     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewid: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2350     #[cfg(not(feature = "Win32_Foundation"))] usize,
2351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, viewid: i32) -> ::windows::runtime::HRESULT,
2352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
2353     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2354     #[cfg(not(feature = "Win32_System_Com"))] usize,
2355 );
2356 #[repr(transparent)]
2357 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2358 pub struct IObjectModelProvider(::windows::runtime::IUnknown);
2359 impl IObjectModelProvider {
2360     pub unsafe fn GetUnderlyingObjectModel(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2361         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2362         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2363     }
2364 }
2365 unsafe impl ::windows::runtime::Interface for IObjectModelProvider {
2366     type Vtable = IObjectModelProvider_abi;
2367     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(987262653, 62959, 18493, [187, 24, 177, 4, 42, 71, 93, 100]);
2368 }
2369 impl ::std::convert::From<IObjectModelProvider> for ::windows::runtime::IUnknown {
2370     fn from(value: IObjectModelProvider) -> Self {
2371         unsafe { ::std::mem::transmute(value) }
2372     }
2373 }
2374 impl ::std::convert::From<&IObjectModelProvider> for ::windows::runtime::IUnknown {
2375     fn from(value: &IObjectModelProvider) -> Self {
2376         ::std::convert::From::from(::std::clone::Clone::clone(value))
2377     }
2378 }
2379 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IObjectModelProvider {
2380     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2381         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2382     }
2383 }
2384 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IObjectModelProvider {
2385     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2386         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2387     }
2388 }
2389 #[repr(C)]
2390 #[doc(hidden)]
2391 pub struct IObjectModelProvider_abi(
2392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppunknown: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2396 );
2397 #[repr(transparent)]
2398 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2399 pub struct IProxyProviderWinEventHandler(::windows::runtime::IUnknown);
2400 impl IProxyProviderWinEventHandler {
2401     #[cfg(feature = "Win32_Foundation")]
2402     pub unsafe fn RespondToWinEvent<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param4: ::windows::runtime::IntoParam<'a, IProxyProviderWinEventSink>>(&self, idwinevent: u32, hwnd: Param1, idobject: i32, idchild: i32, psink: Param4) -> ::windows::runtime::Result<()> {
2403         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(idwinevent), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), psink.into_param().abi()).ok()
2404     }
2405 }
2406 unsafe impl ::windows::runtime::Interface for IProxyProviderWinEventHandler {
2407     type Vtable = IProxyProviderWinEventHandler_abi;
2408     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2304322260, 62688, 17365, [163, 182, 186, 215, 225, 17, 180, 53]);
2409 }
2410 impl ::std::convert::From<IProxyProviderWinEventHandler> for ::windows::runtime::IUnknown {
2411     fn from(value: IProxyProviderWinEventHandler) -> Self {
2412         unsafe { ::std::mem::transmute(value) }
2413     }
2414 }
2415 impl ::std::convert::From<&IProxyProviderWinEventHandler> for ::windows::runtime::IUnknown {
2416     fn from(value: &IProxyProviderWinEventHandler) -> Self {
2417         ::std::convert::From::from(::std::clone::Clone::clone(value))
2418     }
2419 }
2420 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProxyProviderWinEventHandler {
2421     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2422         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2423     }
2424 }
2425 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProxyProviderWinEventHandler {
2426     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2427         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2428     }
2429 }
2430 #[repr(C)]
2431 #[doc(hidden)]
2432 pub struct IProxyProviderWinEventHandler_abi(
2433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2436     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, idwinevent: u32, hwnd: super::super::Foundation::HWND, idobject: i32, idchild: i32, psink: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2437     #[cfg(not(feature = "Win32_Foundation"))] usize,
2438 );
2439 #[repr(transparent)]
2440 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2441 pub struct IProxyProviderWinEventSink(::windows::runtime::IUnknown);
2442 impl IProxyProviderWinEventSink {
2443     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2444     pub unsafe fn AddAutomationPropertyChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, pprovider: Param0, id: i32, newvalue: Param2) -> ::windows::runtime::Result<()> {
2445         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), ::std::mem::transmute(id), newvalue.into_param().abi()).ok()
2446     }
2447     pub unsafe fn AddAutomationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, pprovider: Param0, id: i32) -> ::windows::runtime::Result<()> {
2448         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), ::std::mem::transmute(id)).ok()
2449     }
2450     #[cfg(feature = "Win32_System_Com")]
2451     pub unsafe fn AddStructureChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, pprovider: Param0, structurechangetype: StructureChangeType, runtimeid: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2452         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pprovider.into_param().abi(), ::std::mem::transmute(structurechangetype), ::std::mem::transmute(runtimeid)).ok()
2453     }
2454 }
2455 unsafe impl ::windows::runtime::Interface for IProxyProviderWinEventSink {
2456     type Vtable = IProxyProviderWinEventSink_abi;
2457     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1339566968, 42046, 18092, [152, 3, 10, 105, 105, 199, 193, 131]);
2458 }
2459 impl ::std::convert::From<IProxyProviderWinEventSink> for ::windows::runtime::IUnknown {
2460     fn from(value: IProxyProviderWinEventSink) -> Self {
2461         unsafe { ::std::mem::transmute(value) }
2462     }
2463 }
2464 impl ::std::convert::From<&IProxyProviderWinEventSink> for ::windows::runtime::IUnknown {
2465     fn from(value: &IProxyProviderWinEventSink) -> Self {
2466         ::std::convert::From::from(::std::clone::Clone::clone(value))
2467     }
2468 }
2469 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProxyProviderWinEventSink {
2470     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2471         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2472     }
2473 }
2474 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProxyProviderWinEventSink {
2475     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2476         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2477     }
2478 }
2479 #[repr(C)]
2480 #[doc(hidden)]
2481 pub struct IProxyProviderWinEventSink_abi(
2482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2485     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, id: i32, newvalue: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2486     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, id: i32) -> ::windows::runtime::HRESULT,
2488     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprovider: ::windows::runtime::RawPtr, structurechangetype: StructureChangeType, runtimeid: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2489     #[cfg(not(feature = "Win32_System_Com"))] usize,
2490 );
2491 #[repr(transparent)]
2492 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2493 pub struct IRangeValueProvider(::windows::runtime::IUnknown);
2494 impl IRangeValueProvider {
2495     pub unsafe fn SetValue(&self, val: f64) -> ::windows::runtime::Result<()> {
2496         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
2497     }
2498     pub unsafe fn Value(&self) -> ::windows::runtime::Result<f64> {
2499         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2500         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2501     }
2502     #[cfg(feature = "Win32_Foundation")]
2503     pub unsafe fn IsReadOnly(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
2504         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2505         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
2506     }
2507     pub unsafe fn Maximum(&self) -> ::windows::runtime::Result<f64> {
2508         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2509         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2510     }
2511     pub unsafe fn Minimum(&self) -> ::windows::runtime::Result<f64> {
2512         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2513         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2514     }
2515     pub unsafe fn LargeChange(&self) -> ::windows::runtime::Result<f64> {
2516         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2517         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2518     }
2519     pub unsafe fn SmallChange(&self) -> ::windows::runtime::Result<f64> {
2520         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2521         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
2522     }
2523 }
2524 unsafe impl ::windows::runtime::Interface for IRangeValueProvider {
2525     type Vtable = IRangeValueProvider_abi;
2526     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(920419055, 13286, 18065, [175, 225, 43, 231, 39, 75, 61, 51]);
2527 }
2528 impl ::std::convert::From<IRangeValueProvider> for ::windows::runtime::IUnknown {
2529     fn from(value: IRangeValueProvider) -> Self {
2530         unsafe { ::std::mem::transmute(value) }
2531     }
2532 }
2533 impl ::std::convert::From<&IRangeValueProvider> for ::windows::runtime::IUnknown {
2534     fn from(value: &IRangeValueProvider) -> Self {
2535         ::std::convert::From::from(::std::clone::Clone::clone(value))
2536     }
2537 }
2538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRangeValueProvider {
2539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2541     }
2542 }
2543 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRangeValueProvider {
2544     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2545         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2546     }
2547 }
2548 #[repr(C)]
2549 #[doc(hidden)]
2550 pub struct IRangeValueProvider_abi(
2551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: f64) -> ::windows::runtime::HRESULT,
2555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
2556     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2557     #[cfg(not(feature = "Win32_Foundation"))] usize,
2558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
2559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
2560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
2561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
2562 );
2563 #[repr(transparent)]
2564 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2565 pub struct IRawElementProviderAdviseEvents(::windows::runtime::IUnknown);
2566 impl IRawElementProviderAdviseEvents {
2567     #[cfg(feature = "Win32_System_Com")]
2568     pub unsafe fn AdviseEventAdded(&self, eventid: i32, propertyids: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2569         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), ::std::mem::transmute(propertyids)).ok()
2570     }
2571     #[cfg(feature = "Win32_System_Com")]
2572     pub unsafe fn AdviseEventRemoved(&self, eventid: i32, propertyids: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
2573         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), ::std::mem::transmute(propertyids)).ok()
2574     }
2575 }
2576 unsafe impl ::windows::runtime::Interface for IRawElementProviderAdviseEvents {
2577     type Vtable = IRawElementProviderAdviseEvents_abi;
2578     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2751967867, 3949, 17447, [146, 146, 71, 60, 123, 249, 50, 88]);
2579 }
2580 impl ::std::convert::From<IRawElementProviderAdviseEvents> for ::windows::runtime::IUnknown {
2581     fn from(value: IRawElementProviderAdviseEvents) -> Self {
2582         unsafe { ::std::mem::transmute(value) }
2583     }
2584 }
2585 impl ::std::convert::From<&IRawElementProviderAdviseEvents> for ::windows::runtime::IUnknown {
2586     fn from(value: &IRawElementProviderAdviseEvents) -> Self {
2587         ::std::convert::From::from(::std::clone::Clone::clone(value))
2588     }
2589 }
2590 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderAdviseEvents {
2591     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2592         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2593     }
2594 }
2595 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderAdviseEvents {
2596     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2597         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2598     }
2599 }
2600 #[repr(C)]
2601 #[doc(hidden)]
2602 pub struct IRawElementProviderAdviseEvents_abi(
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2606     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, propertyids: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2607     #[cfg(not(feature = "Win32_System_Com"))] usize,
2608     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, propertyids: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2609     #[cfg(not(feature = "Win32_System_Com"))] usize,
2610 );
2611 #[repr(transparent)]
2612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2613 pub struct IRawElementProviderFragment(::windows::runtime::IUnknown);
2614 impl IRawElementProviderFragment {
2615     pub unsafe fn Navigate(&self, direction: NavigateDirection) -> ::windows::runtime::Result<IRawElementProviderFragment> {
2616         let mut result__: <IRawElementProviderFragment as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2617         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(direction), &mut result__).from_abi::<IRawElementProviderFragment>(result__)
2618     }
2619     #[cfg(feature = "Win32_System_Com")]
2620     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2621         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2622         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2623     }
2624     pub unsafe fn BoundingRectangle(&self) -> ::windows::runtime::Result<UiaRect> {
2625         let mut result__: <UiaRect as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2626         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<UiaRect>(result__)
2627     }
2628     #[cfg(feature = "Win32_System_Com")]
2629     pub unsafe fn GetEmbeddedFragmentRoots(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2630         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2631         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2632     }
2633     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
2634         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
2635     }
2636     pub unsafe fn FragmentRoot(&self) -> ::windows::runtime::Result<IRawElementProviderFragmentRoot> {
2637         let mut result__: <IRawElementProviderFragmentRoot as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2638         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderFragmentRoot>(result__)
2639     }
2640 }
2641 unsafe impl ::windows::runtime::Interface for IRawElementProviderFragment {
2642     type Vtable = IRawElementProviderFragment_abi;
2643     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4144381352, 33625, 17308, [146, 151, 187, 197, 41, 154, 125, 135]);
2644 }
2645 impl ::std::convert::From<IRawElementProviderFragment> for ::windows::runtime::IUnknown {
2646     fn from(value: IRawElementProviderFragment) -> Self {
2647         unsafe { ::std::mem::transmute(value) }
2648     }
2649 }
2650 impl ::std::convert::From<&IRawElementProviderFragment> for ::windows::runtime::IUnknown {
2651     fn from(value: &IRawElementProviderFragment) -> Self {
2652         ::std::convert::From::from(::std::clone::Clone::clone(value))
2653     }
2654 }
2655 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderFragment {
2656     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2657         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2658     }
2659 }
2660 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderFragment {
2661     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2662         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2663     }
2664 }
2665 #[repr(C)]
2666 #[doc(hidden)]
2667 pub struct IRawElementProviderFragment_abi(
2668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, direction: NavigateDirection, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2672     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2673     #[cfg(not(feature = "Win32_System_Com"))] usize,
2674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut UiaRect) -> ::windows::runtime::HRESULT,
2675     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2676     #[cfg(not(feature = "Win32_System_Com"))] usize,
2677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2679 );
2680 #[repr(transparent)]
2681 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2682 pub struct IRawElementProviderFragmentRoot(::windows::runtime::IUnknown);
2683 impl IRawElementProviderFragmentRoot {
2684     pub unsafe fn ElementProviderFromPoint(&self, x: f64, y: f64) -> ::windows::runtime::Result<IRawElementProviderFragment> {
2685         let mut result__: <IRawElementProviderFragment as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2686         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y), &mut result__).from_abi::<IRawElementProviderFragment>(result__)
2687     }
2688     pub unsafe fn GetFocus(&self) -> ::windows::runtime::Result<IRawElementProviderFragment> {
2689         let mut result__: <IRawElementProviderFragment as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2690         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderFragment>(result__)
2691     }
2692 }
2693 unsafe impl ::windows::runtime::Interface for IRawElementProviderFragmentRoot {
2694     type Vtable = IRawElementProviderFragmentRoot_abi;
2695     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1645011621, 43919, 16553, [134, 203, 222, 60, 117, 89, 155, 88]);
2696 }
2697 impl ::std::convert::From<IRawElementProviderFragmentRoot> for ::windows::runtime::IUnknown {
2698     fn from(value: IRawElementProviderFragmentRoot) -> Self {
2699         unsafe { ::std::mem::transmute(value) }
2700     }
2701 }
2702 impl ::std::convert::From<&IRawElementProviderFragmentRoot> for ::windows::runtime::IUnknown {
2703     fn from(value: &IRawElementProviderFragmentRoot) -> Self {
2704         ::std::convert::From::from(::std::clone::Clone::clone(value))
2705     }
2706 }
2707 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderFragmentRoot {
2708     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2709         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2710     }
2711 }
2712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderFragmentRoot {
2713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2714         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2715     }
2716 }
2717 #[repr(C)]
2718 #[doc(hidden)]
2719 pub struct IRawElementProviderFragmentRoot_abi(
2720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f64, y: f64, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2725 );
2726 #[repr(transparent)]
2727 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2728 pub struct IRawElementProviderHostingAccessibles(::windows::runtime::IUnknown);
2729 impl IRawElementProviderHostingAccessibles {
2730     #[cfg(feature = "Win32_System_Com")]
2731     pub unsafe fn GetEmbeddedAccessibles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2732         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2733         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2734     }
2735 }
2736 unsafe impl ::windows::runtime::Interface for IRawElementProviderHostingAccessibles {
2737     type Vtable = IRawElementProviderHostingAccessibles_abi;
2738     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(616434439, 54141, 18554, [152, 207, 161, 62, 212, 101, 233, 179]);
2739 }
2740 impl ::std::convert::From<IRawElementProviderHostingAccessibles> for ::windows::runtime::IUnknown {
2741     fn from(value: IRawElementProviderHostingAccessibles) -> Self {
2742         unsafe { ::std::mem::transmute(value) }
2743     }
2744 }
2745 impl ::std::convert::From<&IRawElementProviderHostingAccessibles> for ::windows::runtime::IUnknown {
2746     fn from(value: &IRawElementProviderHostingAccessibles) -> Self {
2747         ::std::convert::From::from(::std::clone::Clone::clone(value))
2748     }
2749 }
2750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderHostingAccessibles {
2751     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2752         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2753     }
2754 }
2755 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderHostingAccessibles {
2756     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2757         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2758     }
2759 }
2760 #[repr(C)]
2761 #[doc(hidden)]
2762 pub struct IRawElementProviderHostingAccessibles_abi(
2763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2766     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2767     #[cfg(not(feature = "Win32_System_Com"))] usize,
2768 );
2769 #[repr(transparent)]
2770 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2771 pub struct IRawElementProviderHwndOverride(::windows::runtime::IUnknown);
2772 impl IRawElementProviderHwndOverride {
2773     #[cfg(feature = "Win32_Foundation")]
2774     pub unsafe fn GetOverrideProviderForHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0) -> ::windows::runtime::Result<IRawElementProviderSimple> {
2775         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2776         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
2777     }
2778 }
2779 unsafe impl ::windows::runtime::Interface for IRawElementProviderHwndOverride {
2780     type Vtable = IRawElementProviderHwndOverride_abi;
2781     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(492696188, 35143, 17445, [184, 217, 121, 120, 123, 180, 96, 184]);
2782 }
2783 impl ::std::convert::From<IRawElementProviderHwndOverride> for ::windows::runtime::IUnknown {
2784     fn from(value: IRawElementProviderHwndOverride) -> Self {
2785         unsafe { ::std::mem::transmute(value) }
2786     }
2787 }
2788 impl ::std::convert::From<&IRawElementProviderHwndOverride> for ::windows::runtime::IUnknown {
2789     fn from(value: &IRawElementProviderHwndOverride) -> Self {
2790         ::std::convert::From::from(::std::clone::Clone::clone(value))
2791     }
2792 }
2793 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderHwndOverride {
2794     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2795         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2796     }
2797 }
2798 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderHwndOverride {
2799     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2800         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2801     }
2802 }
2803 #[repr(C)]
2804 #[doc(hidden)]
2805 pub struct IRawElementProviderHwndOverride_abi(
2806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2809     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2810     #[cfg(not(feature = "Win32_Foundation"))] usize,
2811 );
2812 #[repr(transparent)]
2813 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2814 pub struct IRawElementProviderSimple(::windows::runtime::IUnknown);
2815 impl IRawElementProviderSimple {
2816     pub unsafe fn ProviderOptions(&self) -> ::windows::runtime::Result<ProviderOptions> {
2817         let mut result__: <ProviderOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2818         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ProviderOptions>(result__)
2819     }
2820     pub unsafe fn GetPatternProvider(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2821         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2822         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2823     }
2824     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2825     pub unsafe fn GetPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2826         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2827         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2828     }
2829     pub unsafe fn HostRawElementProvider(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
2830         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2831         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
2832     }
2833 }
2834 unsafe impl ::windows::runtime::Interface for IRawElementProviderSimple {
2835     type Vtable = IRawElementProviderSimple_abi;
2836     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3604834513, 34557, 17202, [134, 102, 154, 190, 222, 162, 210, 76]);
2837 }
2838 impl ::std::convert::From<IRawElementProviderSimple> for ::windows::runtime::IUnknown {
2839     fn from(value: IRawElementProviderSimple) -> Self {
2840         unsafe { ::std::mem::transmute(value) }
2841     }
2842 }
2843 impl ::std::convert::From<&IRawElementProviderSimple> for ::windows::runtime::IUnknown {
2844     fn from(value: &IRawElementProviderSimple) -> Self {
2845         ::std::convert::From::from(::std::clone::Clone::clone(value))
2846     }
2847 }
2848 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderSimple {
2849     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2850         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2851     }
2852 }
2853 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderSimple {
2854     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2855         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2856     }
2857 }
2858 #[repr(C)]
2859 #[doc(hidden)]
2860 pub struct IRawElementProviderSimple_abi(
2861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ProviderOptions) -> ::windows::runtime::HRESULT,
2865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2866     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2867     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2869 );
2870 #[repr(transparent)]
2871 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2872 pub struct IRawElementProviderSimple2(::windows::runtime::IUnknown);
2873 impl IRawElementProviderSimple2 {
2874     pub unsafe fn ProviderOptions(&self) -> ::windows::runtime::Result<ProviderOptions> {
2875         let mut result__: <ProviderOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2876         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ProviderOptions>(result__)
2877     }
2878     pub unsafe fn GetPatternProvider(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2879         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2880         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2881     }
2882     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2883     pub unsafe fn GetPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2884         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2885         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2886     }
2887     pub unsafe fn HostRawElementProvider(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
2888         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2889         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
2890     }
2891     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
2892         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
2893     }
2894 }
2895 unsafe impl ::windows::runtime::Interface for IRawElementProviderSimple2 {
2896     type Vtable = IRawElementProviderSimple2_abi;
2897     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2695379369, 36257, 19074, [128, 106, 142, 13, 68, 231, 159, 86]);
2898 }
2899 impl ::std::convert::From<IRawElementProviderSimple2> for ::windows::runtime::IUnknown {
2900     fn from(value: IRawElementProviderSimple2) -> Self {
2901         unsafe { ::std::mem::transmute(value) }
2902     }
2903 }
2904 impl ::std::convert::From<&IRawElementProviderSimple2> for ::windows::runtime::IUnknown {
2905     fn from(value: &IRawElementProviderSimple2) -> Self {
2906         ::std::convert::From::from(::std::clone::Clone::clone(value))
2907     }
2908 }
2909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderSimple2 {
2910     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2911         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2912     }
2913 }
2914 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderSimple2 {
2915     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2916         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2917     }
2918 }
2919 impl ::std::convert::From<IRawElementProviderSimple2> for IRawElementProviderSimple {
2920     fn from(value: IRawElementProviderSimple2) -> Self {
2921         unsafe { ::std::mem::transmute(value) }
2922     }
2923 }
2924 impl ::std::convert::From<&IRawElementProviderSimple2> for IRawElementProviderSimple {
2925     fn from(value: &IRawElementProviderSimple2) -> Self {
2926         ::std::convert::From::from(::std::clone::Clone::clone(value))
2927     }
2928 }
2929 impl<'a> ::windows::runtime::IntoParam<'a, IRawElementProviderSimple> for IRawElementProviderSimple2 {
2930     fn into_param(self) -> ::windows::runtime::Param<'a, IRawElementProviderSimple> {
2931         ::windows::runtime::Param::Owned(::std::convert::Into::<IRawElementProviderSimple>::into(self))
2932     }
2933 }
2934 impl<'a> ::windows::runtime::IntoParam<'a, IRawElementProviderSimple> for &IRawElementProviderSimple2 {
2935     fn into_param(self) -> ::windows::runtime::Param<'a, IRawElementProviderSimple> {
2936         ::windows::runtime::Param::Owned(::std::convert::Into::<IRawElementProviderSimple>::into(::std::clone::Clone::clone(self)))
2937     }
2938 }
2939 #[repr(C)]
2940 #[doc(hidden)]
2941 pub struct IRawElementProviderSimple2_abi(
2942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ProviderOptions) -> ::windows::runtime::HRESULT,
2946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2947     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2948     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2951 );
2952 #[repr(transparent)]
2953 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2954 pub struct IRawElementProviderSimple3(::windows::runtime::IUnknown);
2955 impl IRawElementProviderSimple3 {
2956     pub unsafe fn ProviderOptions(&self) -> ::windows::runtime::Result<ProviderOptions> {
2957         let mut result__: <ProviderOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2958         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ProviderOptions>(result__)
2959     }
2960     pub unsafe fn GetPatternProvider(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2961         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2962         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2963     }
2964     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2965     pub unsafe fn GetPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2966         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2967         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2968     }
2969     pub unsafe fn HostRawElementProvider(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
2970         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2971         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
2972     }
2973     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
2974         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
2975     }
2976     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2977     pub unsafe fn GetMetadataValue(&self, targetid: i32, metadataid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2978         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2979         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(targetid), ::std::mem::transmute(metadataid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2980     }
2981 }
2982 unsafe impl ::windows::runtime::Interface for IRawElementProviderSimple3 {
2983     type Vtable = IRawElementProviderSimple3_abi;
2984     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4243970080, 55276, 17939, [189, 246, 66, 168, 76, 231, 218, 175]);
2985 }
2986 impl ::std::convert::From<IRawElementProviderSimple3> for ::windows::runtime::IUnknown {
2987     fn from(value: IRawElementProviderSimple3) -> Self {
2988         unsafe { ::std::mem::transmute(value) }
2989     }
2990 }
2991 impl ::std::convert::From<&IRawElementProviderSimple3> for ::windows::runtime::IUnknown {
2992     fn from(value: &IRawElementProviderSimple3) -> Self {
2993         ::std::convert::From::from(::std::clone::Clone::clone(value))
2994     }
2995 }
2996 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderSimple3 {
2997     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2998         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2999     }
3000 }
3001 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderSimple3 {
3002     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3003         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3004     }
3005 }
3006 impl ::std::convert::From<IRawElementProviderSimple3> for IRawElementProviderSimple2 {
3007     fn from(value: IRawElementProviderSimple3) -> Self {
3008         unsafe { ::std::mem::transmute(value) }
3009     }
3010 }
3011 impl ::std::convert::From<&IRawElementProviderSimple3> for IRawElementProviderSimple2 {
3012     fn from(value: &IRawElementProviderSimple3) -> Self {
3013         ::std::convert::From::from(::std::clone::Clone::clone(value))
3014     }
3015 }
3016 impl<'a> ::windows::runtime::IntoParam<'a, IRawElementProviderSimple2> for IRawElementProviderSimple3 {
3017     fn into_param(self) -> ::windows::runtime::Param<'a, IRawElementProviderSimple2> {
3018         ::windows::runtime::Param::Owned(::std::convert::Into::<IRawElementProviderSimple2>::into(self))
3019     }
3020 }
3021 impl<'a> ::windows::runtime::IntoParam<'a, IRawElementProviderSimple2> for &IRawElementProviderSimple3 {
3022     fn into_param(self) -> ::windows::runtime::Param<'a, IRawElementProviderSimple2> {
3023         ::windows::runtime::Param::Owned(::std::convert::Into::<IRawElementProviderSimple2>::into(::std::clone::Clone::clone(self)))
3024     }
3025 }
3026 impl ::std::convert::From<IRawElementProviderSimple3> for IRawElementProviderSimple {
3027     fn from(value: IRawElementProviderSimple3) -> Self {
3028         unsafe { ::std::mem::transmute(value) }
3029     }
3030 }
3031 impl ::std::convert::From<&IRawElementProviderSimple3> for IRawElementProviderSimple {
3032     fn from(value: &IRawElementProviderSimple3) -> Self {
3033         ::std::convert::From::from(::std::clone::Clone::clone(value))
3034     }
3035 }
3036 impl<'a> ::windows::runtime::IntoParam<'a, IRawElementProviderSimple> for IRawElementProviderSimple3 {
3037     fn into_param(self) -> ::windows::runtime::Param<'a, IRawElementProviderSimple> {
3038         ::windows::runtime::Param::Owned(::std::convert::Into::<IRawElementProviderSimple>::into(self))
3039     }
3040 }
3041 impl<'a> ::windows::runtime::IntoParam<'a, IRawElementProviderSimple> for &IRawElementProviderSimple3 {
3042     fn into_param(self) -> ::windows::runtime::Param<'a, IRawElementProviderSimple> {
3043         ::windows::runtime::Param::Owned(::std::convert::Into::<IRawElementProviderSimple>::into(::std::clone::Clone::clone(self)))
3044     }
3045 }
3046 #[repr(C)]
3047 #[doc(hidden)]
3048 pub struct IRawElementProviderSimple3_abi(
3049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ProviderOptions) -> ::windows::runtime::HRESULT,
3053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3054     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3055     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3058     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetid: i32, metadataid: i32, returnval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
3059     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3060 );
3061 #[repr(transparent)]
3062 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3063 pub struct IRawElementProviderWindowlessSite(::windows::runtime::IUnknown);
3064 impl IRawElementProviderWindowlessSite {
3065     pub unsafe fn GetAdjacentFragment(&self, direction: NavigateDirection) -> ::windows::runtime::Result<IRawElementProviderFragment> {
3066         let mut result__: <IRawElementProviderFragment as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3067         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(direction), &mut result__).from_abi::<IRawElementProviderFragment>(result__)
3068     }
3069     #[cfg(feature = "Win32_System_Com")]
3070     pub unsafe fn GetRuntimeIdPrefix(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3071         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3072         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3073     }
3074 }
3075 unsafe impl ::windows::runtime::Interface for IRawElementProviderWindowlessSite {
3076     type Vtable = IRawElementProviderWindowlessSite_abi;
3077     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(170562508, 49069, 17068, [155, 46, 9, 145, 251, 13, 62, 160]);
3078 }
3079 impl ::std::convert::From<IRawElementProviderWindowlessSite> for ::windows::runtime::IUnknown {
3080     fn from(value: IRawElementProviderWindowlessSite) -> Self {
3081         unsafe { ::std::mem::transmute(value) }
3082     }
3083 }
3084 impl ::std::convert::From<&IRawElementProviderWindowlessSite> for ::windows::runtime::IUnknown {
3085     fn from(value: &IRawElementProviderWindowlessSite) -> Self {
3086         ::std::convert::From::from(::std::clone::Clone::clone(value))
3087     }
3088 }
3089 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawElementProviderWindowlessSite {
3090     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3091         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3092     }
3093 }
3094 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawElementProviderWindowlessSite {
3095     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3096         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3097     }
3098 }
3099 #[repr(C)]
3100 #[doc(hidden)]
3101 pub struct IRawElementProviderWindowlessSite_abi(
3102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, direction: NavigateDirection, ppparent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3106     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3107     #[cfg(not(feature = "Win32_System_Com"))] usize,
3108 );
3109 #[repr(transparent)]
3110 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3111 pub struct IRichEditUiaInformation(::windows::runtime::IUnknown);
3112 impl IRichEditUiaInformation {
3113     pub unsafe fn GetBoundaryRectangle(&self, puiarect: *mut UiaRect) -> ::windows::runtime::Result<()> {
3114         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(puiarect)).ok()
3115     }
3116     pub unsafe fn IsVisible(&self) -> ::windows::runtime::Result<()> {
3117         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3118     }
3119 }
3120 unsafe impl ::windows::runtime::Interface for IRichEditUiaInformation {
3121     type Vtable = IRichEditUiaInformation_abi;
3122     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3123 }
3124 impl ::std::convert::From<IRichEditUiaInformation> for ::windows::runtime::IUnknown {
3125     fn from(value: IRichEditUiaInformation) -> Self {
3126         unsafe { ::std::mem::transmute(value) }
3127     }
3128 }
3129 impl ::std::convert::From<&IRichEditUiaInformation> for ::windows::runtime::IUnknown {
3130     fn from(value: &IRichEditUiaInformation) -> Self {
3131         ::std::convert::From::from(::std::clone::Clone::clone(value))
3132     }
3133 }
3134 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRichEditUiaInformation {
3135     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3136         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3137     }
3138 }
3139 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRichEditUiaInformation {
3140     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3141         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3142     }
3143 }
3144 #[repr(C)]
3145 #[doc(hidden)]
3146 pub struct IRichEditUiaInformation_abi(
3147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puiarect: *mut UiaRect) -> ::windows::runtime::HRESULT,
3151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3152 );
3153 #[repr(transparent)]
3154 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3155 pub struct IRicheditWindowlessAccessibility(::windows::runtime::IUnknown);
3156 impl IRicheditWindowlessAccessibility {
3157     pub unsafe fn CreateProvider<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderWindowlessSite>>(&self, psite: Param0) -> ::windows::runtime::Result<IRawElementProviderSimple> {
3158         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3159         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), psite.into_param().abi(), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
3160     }
3161 }
3162 unsafe impl ::windows::runtime::Interface for IRicheditWindowlessAccessibility {
3163     type Vtable = IRicheditWindowlessAccessibility_abi;
3164     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3165 }
3166 impl ::std::convert::From<IRicheditWindowlessAccessibility> for ::windows::runtime::IUnknown {
3167     fn from(value: IRicheditWindowlessAccessibility) -> Self {
3168         unsafe { ::std::mem::transmute(value) }
3169     }
3170 }
3171 impl ::std::convert::From<&IRicheditWindowlessAccessibility> for ::windows::runtime::IUnknown {
3172     fn from(value: &IRicheditWindowlessAccessibility) -> Self {
3173         ::std::convert::From::from(::std::clone::Clone::clone(value))
3174     }
3175 }
3176 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRicheditWindowlessAccessibility {
3177     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3178         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3179     }
3180 }
3181 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRicheditWindowlessAccessibility {
3182     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3183         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3184     }
3185 }
3186 #[repr(C)]
3187 #[doc(hidden)]
3188 pub struct IRicheditWindowlessAccessibility_abi(
3189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psite: ::windows::runtime::RawPtr, ppprovider: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3193 );
3194 #[repr(transparent)]
3195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3196 pub struct IScrollItemProvider(::windows::runtime::IUnknown);
3197 impl IScrollItemProvider {
3198     pub unsafe fn ScrollIntoView(&self) -> ::windows::runtime::Result<()> {
3199         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
3200     }
3201 }
3202 unsafe impl ::windows::runtime::Interface for IScrollItemProvider {
3203     type Vtable = IScrollItemProvider_abi;
3204     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(593544980, 19441, 19238, [186, 101, 155, 33, 49, 97, 39, 235]);
3205 }
3206 impl ::std::convert::From<IScrollItemProvider> for ::windows::runtime::IUnknown {
3207     fn from(value: IScrollItemProvider) -> Self {
3208         unsafe { ::std::mem::transmute(value) }
3209     }
3210 }
3211 impl ::std::convert::From<&IScrollItemProvider> for ::windows::runtime::IUnknown {
3212     fn from(value: &IScrollItemProvider) -> Self {
3213         ::std::convert::From::from(::std::clone::Clone::clone(value))
3214     }
3215 }
3216 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IScrollItemProvider {
3217     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3218         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3219     }
3220 }
3221 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IScrollItemProvider {
3222     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3223         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3224     }
3225 }
3226 #[repr(C)]
3227 #[doc(hidden)]
3228 pub struct IScrollItemProvider_abi(
3229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3233 );
3234 #[repr(transparent)]
3235 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3236 pub struct IScrollProvider(::windows::runtime::IUnknown);
3237 impl IScrollProvider {
3238     pub unsafe fn Scroll(&self, horizontalamount: ScrollAmount, verticalamount: ScrollAmount) -> ::windows::runtime::Result<()> {
3239         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(horizontalamount), ::std::mem::transmute(verticalamount)).ok()
3240     }
3241     pub unsafe fn SetScrollPercent(&self, horizontalpercent: f64, verticalpercent: f64) -> ::windows::runtime::Result<()> {
3242         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(horizontalpercent), ::std::mem::transmute(verticalpercent)).ok()
3243     }
3244     pub unsafe fn HorizontalScrollPercent(&self) -> ::windows::runtime::Result<f64> {
3245         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3246         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
3247     }
3248     pub unsafe fn VerticalScrollPercent(&self) -> ::windows::runtime::Result<f64> {
3249         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3250         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
3251     }
3252     pub unsafe fn HorizontalViewSize(&self) -> ::windows::runtime::Result<f64> {
3253         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3254         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
3255     }
3256     pub unsafe fn VerticalViewSize(&self) -> ::windows::runtime::Result<f64> {
3257         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3258         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
3259     }
3260     #[cfg(feature = "Win32_Foundation")]
3261     pub unsafe fn HorizontallyScrollable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3262         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3263         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3264     }
3265     #[cfg(feature = "Win32_Foundation")]
3266     pub unsafe fn VerticallyScrollable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3267         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3268         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3269     }
3270 }
3271 unsafe impl ::windows::runtime::Interface for IScrollProvider {
3272     type Vtable = IScrollProvider_abi;
3273     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3012264055, 8131, 17061, [140, 174, 212, 12, 34, 21, 5, 90]);
3274 }
3275 impl ::std::convert::From<IScrollProvider> for ::windows::runtime::IUnknown {
3276     fn from(value: IScrollProvider) -> Self {
3277         unsafe { ::std::mem::transmute(value) }
3278     }
3279 }
3280 impl ::std::convert::From<&IScrollProvider> for ::windows::runtime::IUnknown {
3281     fn from(value: &IScrollProvider) -> Self {
3282         ::std::convert::From::from(::std::clone::Clone::clone(value))
3283     }
3284 }
3285 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IScrollProvider {
3286     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3287         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3288     }
3289 }
3290 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IScrollProvider {
3291     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3292         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3293     }
3294 }
3295 #[repr(C)]
3296 #[doc(hidden)]
3297 pub struct IScrollProvider_abi(
3298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, horizontalamount: ScrollAmount, verticalamount: ScrollAmount) -> ::windows::runtime::HRESULT,
3302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, horizontalpercent: f64, verticalpercent: f64) -> ::windows::runtime::HRESULT,
3303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
3304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
3305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
3306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
3307     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3308     #[cfg(not(feature = "Win32_Foundation"))] usize,
3309     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3310     #[cfg(not(feature = "Win32_Foundation"))] usize,
3311 );
3312 #[repr(transparent)]
3313 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3314 pub struct ISelectionItemProvider(::windows::runtime::IUnknown);
3315 impl ISelectionItemProvider {
3316     pub unsafe fn Select(&self) -> ::windows::runtime::Result<()> {
3317         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
3318     }
3319     pub unsafe fn AddToSelection(&self) -> ::windows::runtime::Result<()> {
3320         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3321     }
3322     pub unsafe fn RemoveFromSelection(&self) -> ::windows::runtime::Result<()> {
3323         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3324     }
3325     #[cfg(feature = "Win32_Foundation")]
3326     pub unsafe fn IsSelected(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3327         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3328         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3329     }
3330     pub unsafe fn SelectionContainer(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
3331         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3332         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
3333     }
3334 }
3335 unsafe impl ::windows::runtime::Interface for ISelectionItemProvider {
3336     type Vtable = ISelectionItemProvider_abi;
3337     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(717936648, 45780, 17709, [164, 7, 145, 255, 26, 209, 103, 178]);
3338 }
3339 impl ::std::convert::From<ISelectionItemProvider> for ::windows::runtime::IUnknown {
3340     fn from(value: ISelectionItemProvider) -> Self {
3341         unsafe { ::std::mem::transmute(value) }
3342     }
3343 }
3344 impl ::std::convert::From<&ISelectionItemProvider> for ::windows::runtime::IUnknown {
3345     fn from(value: &ISelectionItemProvider) -> Self {
3346         ::std::convert::From::from(::std::clone::Clone::clone(value))
3347     }
3348 }
3349 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISelectionItemProvider {
3350     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3351         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3352     }
3353 }
3354 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISelectionItemProvider {
3355     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3356         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3357     }
3358 }
3359 #[repr(C)]
3360 #[doc(hidden)]
3361 pub struct ISelectionItemProvider_abi(
3362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3368     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3369     #[cfg(not(feature = "Win32_Foundation"))] usize,
3370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3371 );
3372 #[repr(transparent)]
3373 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3374 pub struct ISelectionProvider(::windows::runtime::IUnknown);
3375 impl ISelectionProvider {
3376     #[cfg(feature = "Win32_System_Com")]
3377     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3378         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3379         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3380     }
3381     #[cfg(feature = "Win32_Foundation")]
3382     pub unsafe fn CanSelectMultiple(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3383         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3384         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3385     }
3386     #[cfg(feature = "Win32_Foundation")]
3387     pub unsafe fn IsSelectionRequired(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3388         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3389         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3390     }
3391 }
3392 unsafe impl ::windows::runtime::Interface for ISelectionProvider {
3393     type Vtable = ISelectionProvider_abi;
3394     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4220191663, 15327, 18644, [189, 54, 26, 101, 121, 59, 225, 104]);
3395 }
3396 impl ::std::convert::From<ISelectionProvider> for ::windows::runtime::IUnknown {
3397     fn from(value: ISelectionProvider) -> Self {
3398         unsafe { ::std::mem::transmute(value) }
3399     }
3400 }
3401 impl ::std::convert::From<&ISelectionProvider> for ::windows::runtime::IUnknown {
3402     fn from(value: &ISelectionProvider) -> Self {
3403         ::std::convert::From::from(::std::clone::Clone::clone(value))
3404     }
3405 }
3406 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISelectionProvider {
3407     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3408         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3409     }
3410 }
3411 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISelectionProvider {
3412     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3413         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3414     }
3415 }
3416 #[repr(C)]
3417 #[doc(hidden)]
3418 pub struct ISelectionProvider_abi(
3419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3422     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3423     #[cfg(not(feature = "Win32_System_Com"))] usize,
3424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3425     #[cfg(not(feature = "Win32_Foundation"))] usize,
3426     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3427     #[cfg(not(feature = "Win32_Foundation"))] usize,
3428 );
3429 #[repr(transparent)]
3430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3431 pub struct ISelectionProvider2(::windows::runtime::IUnknown);
3432 impl ISelectionProvider2 {
3433     #[cfg(feature = "Win32_System_Com")]
3434     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3435         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3436         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3437     }
3438     #[cfg(feature = "Win32_Foundation")]
3439     pub unsafe fn CanSelectMultiple(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3440         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3441         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3442     }
3443     #[cfg(feature = "Win32_Foundation")]
3444     pub unsafe fn IsSelectionRequired(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3445         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3446         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3447     }
3448     pub unsafe fn FirstSelectedItem(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
3449         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3450         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
3451     }
3452     pub unsafe fn LastSelectedItem(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
3453         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3454         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
3455     }
3456     pub unsafe fn CurrentSelectedItem(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
3457         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3458         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
3459     }
3460     pub unsafe fn ItemCount(&self) -> ::windows::runtime::Result<i32> {
3461         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3462         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3463     }
3464 }
3465 unsafe impl ::windows::runtime::Interface for ISelectionProvider2 {
3466     type Vtable = ISelectionProvider2_abi;
3467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(351700085, 60956, 17654, [168, 105, 210, 57, 56, 31, 15, 231]);
3468 }
3469 impl ::std::convert::From<ISelectionProvider2> for ::windows::runtime::IUnknown {
3470     fn from(value: ISelectionProvider2) -> Self {
3471         unsafe { ::std::mem::transmute(value) }
3472     }
3473 }
3474 impl ::std::convert::From<&ISelectionProvider2> for ::windows::runtime::IUnknown {
3475     fn from(value: &ISelectionProvider2) -> Self {
3476         ::std::convert::From::from(::std::clone::Clone::clone(value))
3477     }
3478 }
3479 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISelectionProvider2 {
3480     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3481         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3482     }
3483 }
3484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISelectionProvider2 {
3485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3486         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3487     }
3488 }
3489 impl ::std::convert::From<ISelectionProvider2> for ISelectionProvider {
3490     fn from(value: ISelectionProvider2) -> Self {
3491         unsafe { ::std::mem::transmute(value) }
3492     }
3493 }
3494 impl ::std::convert::From<&ISelectionProvider2> for ISelectionProvider {
3495     fn from(value: &ISelectionProvider2) -> Self {
3496         ::std::convert::From::from(::std::clone::Clone::clone(value))
3497     }
3498 }
3499 impl<'a> ::windows::runtime::IntoParam<'a, ISelectionProvider> for ISelectionProvider2 {
3500     fn into_param(self) -> ::windows::runtime::Param<'a, ISelectionProvider> {
3501         ::windows::runtime::Param::Owned(::std::convert::Into::<ISelectionProvider>::into(self))
3502     }
3503 }
3504 impl<'a> ::windows::runtime::IntoParam<'a, ISelectionProvider> for &ISelectionProvider2 {
3505     fn into_param(self) -> ::windows::runtime::Param<'a, ISelectionProvider> {
3506         ::windows::runtime::Param::Owned(::std::convert::Into::<ISelectionProvider>::into(::std::clone::Clone::clone(self)))
3507     }
3508 }
3509 #[repr(C)]
3510 #[doc(hidden)]
3511 pub struct ISelectionProvider2_abi(
3512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3515     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3516     #[cfg(not(feature = "Win32_System_Com"))] usize,
3517     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3518     #[cfg(not(feature = "Win32_Foundation"))] usize,
3519     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3520     #[cfg(not(feature = "Win32_Foundation"))] usize,
3521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
3525 );
3526 #[repr(transparent)]
3527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3528 pub struct ISpreadsheetItemProvider(::windows::runtime::IUnknown);
3529 impl ISpreadsheetItemProvider {
3530     #[cfg(feature = "Win32_Foundation")]
3531     pub unsafe fn Formula(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3532         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3533         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3534     }
3535     #[cfg(feature = "Win32_System_Com")]
3536     pub unsafe fn GetAnnotationObjects(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3537         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3538         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3539     }
3540     #[cfg(feature = "Win32_System_Com")]
3541     pub unsafe fn GetAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3542         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3543         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3544     }
3545 }
3546 unsafe impl ::windows::runtime::Interface for ISpreadsheetItemProvider {
3547     type Vtable = ISpreadsheetItemProvider_abi;
3548     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3941418592, 31549, 18553, [162, 230, 54, 92, 230, 3, 243, 208]);
3549 }
3550 impl ::std::convert::From<ISpreadsheetItemProvider> for ::windows::runtime::IUnknown {
3551     fn from(value: ISpreadsheetItemProvider) -> Self {
3552         unsafe { ::std::mem::transmute(value) }
3553     }
3554 }
3555 impl ::std::convert::From<&ISpreadsheetItemProvider> for ::windows::runtime::IUnknown {
3556     fn from(value: &ISpreadsheetItemProvider) -> Self {
3557         ::std::convert::From::from(::std::clone::Clone::clone(value))
3558     }
3559 }
3560 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpreadsheetItemProvider {
3561     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3562         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3563     }
3564 }
3565 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpreadsheetItemProvider {
3566     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3567         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3568     }
3569 }
3570 #[repr(C)]
3571 #[doc(hidden)]
3572 pub struct ISpreadsheetItemProvider_abi(
3573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3576     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3577     #[cfg(not(feature = "Win32_Foundation"))] usize,
3578     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3579     #[cfg(not(feature = "Win32_System_Com"))] usize,
3580     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3581     #[cfg(not(feature = "Win32_System_Com"))] usize,
3582 );
3583 #[repr(transparent)]
3584 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3585 pub struct ISpreadsheetProvider(::windows::runtime::IUnknown);
3586 impl ISpreadsheetProvider {
3587     #[cfg(feature = "Win32_Foundation")]
3588     pub unsafe fn GetItemByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IRawElementProviderSimple> {
3589         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3590         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
3591     }
3592 }
3593 unsafe impl ::windows::runtime::Interface for ISpreadsheetProvider {
3594     type Vtable = ISpreadsheetProvider_abi;
3595     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1869307189, 21797, 20352, [183, 88, 133, 71, 56, 50, 255, 199]);
3596 }
3597 impl ::std::convert::From<ISpreadsheetProvider> for ::windows::runtime::IUnknown {
3598     fn from(value: ISpreadsheetProvider) -> Self {
3599         unsafe { ::std::mem::transmute(value) }
3600     }
3601 }
3602 impl ::std::convert::From<&ISpreadsheetProvider> for ::windows::runtime::IUnknown {
3603     fn from(value: &ISpreadsheetProvider) -> Self {
3604         ::std::convert::From::from(::std::clone::Clone::clone(value))
3605     }
3606 }
3607 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISpreadsheetProvider {
3608     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3609         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3610     }
3611 }
3612 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISpreadsheetProvider {
3613     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3614         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3615     }
3616 }
3617 #[repr(C)]
3618 #[doc(hidden)]
3619 pub struct ISpreadsheetProvider_abi(
3620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3623     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: super::super::Foundation::PWSTR, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3624     #[cfg(not(feature = "Win32_Foundation"))] usize,
3625 );
3626 #[repr(transparent)]
3627 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3628 pub struct IStylesProvider(::windows::runtime::IUnknown);
3629 impl IStylesProvider {
3630     pub unsafe fn StyleId(&self) -> ::windows::runtime::Result<i32> {
3631         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3632         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3633     }
3634     #[cfg(feature = "Win32_Foundation")]
3635     pub unsafe fn StyleName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3636         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3637         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3638     }
3639     pub unsafe fn FillColor(&self) -> ::windows::runtime::Result<i32> {
3640         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3641         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3642     }
3643     #[cfg(feature = "Win32_Foundation")]
3644     pub unsafe fn FillPatternStyle(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3645         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3646         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3647     }
3648     #[cfg(feature = "Win32_Foundation")]
3649     pub unsafe fn Shape(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3650         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3651         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3652     }
3653     pub unsafe fn FillPatternColor(&self) -> ::windows::runtime::Result<i32> {
3654         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3655         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3656     }
3657     #[cfg(feature = "Win32_Foundation")]
3658     pub unsafe fn ExtendedProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3659         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3660         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3661     }
3662 }
3663 unsafe impl ::windows::runtime::Interface for IStylesProvider {
3664     type Vtable = IStylesProvider_abi;
3665     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(431404617, 62935, 19053, [189, 203, 18, 146, 82, 190, 88, 138]);
3666 }
3667 impl ::std::convert::From<IStylesProvider> for ::windows::runtime::IUnknown {
3668     fn from(value: IStylesProvider) -> Self {
3669         unsafe { ::std::mem::transmute(value) }
3670     }
3671 }
3672 impl ::std::convert::From<&IStylesProvider> for ::windows::runtime::IUnknown {
3673     fn from(value: &IStylesProvider) -> Self {
3674         ::std::convert::From::from(::std::clone::Clone::clone(value))
3675     }
3676 }
3677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStylesProvider {
3678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3680     }
3681 }
3682 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStylesProvider {
3683     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3684         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3685     }
3686 }
3687 #[repr(C)]
3688 #[doc(hidden)]
3689 pub struct IStylesProvider_abi(
3690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
3694     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3695     #[cfg(not(feature = "Win32_Foundation"))] usize,
3696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
3697     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3698     #[cfg(not(feature = "Win32_Foundation"))] usize,
3699     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3700     #[cfg(not(feature = "Win32_Foundation"))] usize,
3701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
3702     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3703     #[cfg(not(feature = "Win32_Foundation"))] usize,
3704 );
3705 #[repr(transparent)]
3706 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3707 pub struct ISynchronizedInputProvider(::windows::runtime::IUnknown);
3708 impl ISynchronizedInputProvider {
3709     pub unsafe fn StartListening(&self, inputtype: SynchronizedInputType) -> ::windows::runtime::Result<()> {
3710         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(inputtype)).ok()
3711     }
3712     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
3713         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3714     }
3715 }
3716 unsafe impl ::windows::runtime::Interface for ISynchronizedInputProvider {
3717     type Vtable = ISynchronizedInputProvider_abi;
3718     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(702224902, 718, 19703, [155, 66, 86, 93, 79, 171, 32, 238]);
3719 }
3720 impl ::std::convert::From<ISynchronizedInputProvider> for ::windows::runtime::IUnknown {
3721     fn from(value: ISynchronizedInputProvider) -> Self {
3722         unsafe { ::std::mem::transmute(value) }
3723     }
3724 }
3725 impl ::std::convert::From<&ISynchronizedInputProvider> for ::windows::runtime::IUnknown {
3726     fn from(value: &ISynchronizedInputProvider) -> Self {
3727         ::std::convert::From::from(::std::clone::Clone::clone(value))
3728     }
3729 }
3730 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISynchronizedInputProvider {
3731     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3732         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3733     }
3734 }
3735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISynchronizedInputProvider {
3736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3737         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3738     }
3739 }
3740 #[repr(C)]
3741 #[doc(hidden)]
3742 pub struct ISynchronizedInputProvider_abi(
3743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, inputtype: SynchronizedInputType) -> ::windows::runtime::HRESULT,
3747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3748 );
3749 #[repr(transparent)]
3750 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3751 pub struct ITableItemProvider(::windows::runtime::IUnknown);
3752 impl ITableItemProvider {
3753     #[cfg(feature = "Win32_System_Com")]
3754     pub unsafe fn GetRowHeaderItems(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3755         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3756         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3757     }
3758     #[cfg(feature = "Win32_System_Com")]
3759     pub unsafe fn GetColumnHeaderItems(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3760         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3761         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3762     }
3763 }
3764 unsafe impl ::windows::runtime::Interface for ITableItemProvider {
3765     type Vtable = ITableItemProvider_abi;
3766     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3111341990, 30495, 19832, [156, 144, 37, 23, 153, 147, 73, 205]);
3767 }
3768 impl ::std::convert::From<ITableItemProvider> for ::windows::runtime::IUnknown {
3769     fn from(value: ITableItemProvider) -> Self {
3770         unsafe { ::std::mem::transmute(value) }
3771     }
3772 }
3773 impl ::std::convert::From<&ITableItemProvider> for ::windows::runtime::IUnknown {
3774     fn from(value: &ITableItemProvider) -> Self {
3775         ::std::convert::From::from(::std::clone::Clone::clone(value))
3776     }
3777 }
3778 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITableItemProvider {
3779     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3780         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3781     }
3782 }
3783 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITableItemProvider {
3784     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3785         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3786     }
3787 }
3788 #[repr(C)]
3789 #[doc(hidden)]
3790 pub struct ITableItemProvider_abi(
3791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3794     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3795     #[cfg(not(feature = "Win32_System_Com"))] usize,
3796     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3797     #[cfg(not(feature = "Win32_System_Com"))] usize,
3798 );
3799 #[repr(transparent)]
3800 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3801 pub struct ITableProvider(::windows::runtime::IUnknown);
3802 impl ITableProvider {
3803     #[cfg(feature = "Win32_System_Com")]
3804     pub unsafe fn GetRowHeaders(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3805         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3806         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3807     }
3808     #[cfg(feature = "Win32_System_Com")]
3809     pub unsafe fn GetColumnHeaders(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3810         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3811         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3812     }
3813     pub unsafe fn RowOrColumnMajor(&self) -> ::windows::runtime::Result<RowOrColumnMajor> {
3814         let mut result__: <RowOrColumnMajor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3815         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<RowOrColumnMajor>(result__)
3816     }
3817 }
3818 unsafe impl ::windows::runtime::Interface for ITableProvider {
3819     type Vtable = ITableProvider_abi;
3820     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2626028437, 38835, 18698, [181, 42, 133, 140, 194, 42, 241, 102]);
3821 }
3822 impl ::std::convert::From<ITableProvider> for ::windows::runtime::IUnknown {
3823     fn from(value: ITableProvider) -> Self {
3824         unsafe { ::std::mem::transmute(value) }
3825     }
3826 }
3827 impl ::std::convert::From<&ITableProvider> for ::windows::runtime::IUnknown {
3828     fn from(value: &ITableProvider) -> Self {
3829         ::std::convert::From::from(::std::clone::Clone::clone(value))
3830     }
3831 }
3832 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITableProvider {
3833     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3834         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3835     }
3836 }
3837 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITableProvider {
3838     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3839         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3840     }
3841 }
3842 #[repr(C)]
3843 #[doc(hidden)]
3844 pub struct ITableProvider_abi(
3845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3848     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3849     #[cfg(not(feature = "Win32_System_Com"))] usize,
3850     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3851     #[cfg(not(feature = "Win32_System_Com"))] usize,
3852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut RowOrColumnMajor) -> ::windows::runtime::HRESULT,
3853 );
3854 #[repr(transparent)]
3855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3856 pub struct ITextChildProvider(::windows::runtime::IUnknown);
3857 impl ITextChildProvider {
3858     pub unsafe fn TextContainer(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
3859         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3860         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
3861     }
3862     pub unsafe fn TextRange(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
3863         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3864         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
3865     }
3866 }
3867 unsafe impl ::windows::runtime::Interface for ITextChildProvider {
3868     type Vtable = ITextChildProvider_abi;
3869     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1278075577, 51343, 20360, [161, 17, 241, 211, 54, 183, 209, 169]);
3870 }
3871 impl ::std::convert::From<ITextChildProvider> for ::windows::runtime::IUnknown {
3872     fn from(value: ITextChildProvider) -> Self {
3873         unsafe { ::std::mem::transmute(value) }
3874     }
3875 }
3876 impl ::std::convert::From<&ITextChildProvider> for ::windows::runtime::IUnknown {
3877     fn from(value: &ITextChildProvider) -> Self {
3878         ::std::convert::From::from(::std::clone::Clone::clone(value))
3879     }
3880 }
3881 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextChildProvider {
3882     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3883         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3884     }
3885 }
3886 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextChildProvider {
3887     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3888         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3889     }
3890 }
3891 #[repr(C)]
3892 #[doc(hidden)]
3893 pub struct ITextChildProvider_abi(
3894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3899 );
3900 #[repr(transparent)]
3901 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3902 pub struct ITextEditProvider(::windows::runtime::IUnknown);
3903 impl ITextEditProvider {
3904     #[cfg(feature = "Win32_System_Com")]
3905     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3906         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3907         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3908     }
3909     #[cfg(feature = "Win32_System_Com")]
3910     pub unsafe fn GetVisibleRanges(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3911         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3912         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3913     }
3914     pub unsafe fn RangeFromChild<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, childelement: Param0) -> ::windows::runtime::Result<ITextRangeProvider> {
3915         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3916         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), childelement.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
3917     }
3918     pub unsafe fn RangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, UiaPoint>>(&self, point: Param0) -> ::windows::runtime::Result<ITextRangeProvider> {
3919         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3920         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), point.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
3921     }
3922     pub unsafe fn DocumentRange(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
3923         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3924         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
3925     }
3926     pub unsafe fn SupportedTextSelection(&self) -> ::windows::runtime::Result<SupportedTextSelection> {
3927         let mut result__: <SupportedTextSelection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3928         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SupportedTextSelection>(result__)
3929     }
3930     pub unsafe fn GetActiveComposition(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
3931         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3932         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
3933     }
3934     pub unsafe fn GetConversionTarget(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
3935         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3936         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
3937     }
3938 }
3939 unsafe impl ::windows::runtime::Interface for ITextEditProvider {
3940     type Vtable = ITextEditProvider_abi;
3941     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3929408948, 14853, 16398, [181, 249, 78, 145, 180, 15, 97, 118]);
3942 }
3943 impl ::std::convert::From<ITextEditProvider> for ::windows::runtime::IUnknown {
3944     fn from(value: ITextEditProvider) -> Self {
3945         unsafe { ::std::mem::transmute(value) }
3946     }
3947 }
3948 impl ::std::convert::From<&ITextEditProvider> for ::windows::runtime::IUnknown {
3949     fn from(value: &ITextEditProvider) -> Self {
3950         ::std::convert::From::from(::std::clone::Clone::clone(value))
3951     }
3952 }
3953 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextEditProvider {
3954     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3955         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3956     }
3957 }
3958 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextEditProvider {
3959     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3960         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3961     }
3962 }
3963 impl ::std::convert::From<ITextEditProvider> for ITextProvider {
3964     fn from(value: ITextEditProvider) -> Self {
3965         unsafe { ::std::mem::transmute(value) }
3966     }
3967 }
3968 impl ::std::convert::From<&ITextEditProvider> for ITextProvider {
3969     fn from(value: &ITextEditProvider) -> Self {
3970         ::std::convert::From::from(::std::clone::Clone::clone(value))
3971     }
3972 }
3973 impl<'a> ::windows::runtime::IntoParam<'a, ITextProvider> for ITextEditProvider {
3974     fn into_param(self) -> ::windows::runtime::Param<'a, ITextProvider> {
3975         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextProvider>::into(self))
3976     }
3977 }
3978 impl<'a> ::windows::runtime::IntoParam<'a, ITextProvider> for &ITextEditProvider {
3979     fn into_param(self) -> ::windows::runtime::Param<'a, ITextProvider> {
3980         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextProvider>::into(::std::clone::Clone::clone(self)))
3981     }
3982 }
3983 #[repr(C)]
3984 #[doc(hidden)]
3985 pub struct ITextEditProvider_abi(
3986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3989     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3990     #[cfg(not(feature = "Win32_System_Com"))] usize,
3991     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3992     #[cfg(not(feature = "Win32_System_Com"))] usize,
3993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childelement: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, point: UiaPoint, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut SupportedTextSelection) -> ::windows::runtime::HRESULT,
3997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3999 );
4000 #[repr(transparent)]
4001 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4002 pub struct ITextProvider(::windows::runtime::IUnknown);
4003 impl ITextProvider {
4004     #[cfg(feature = "Win32_System_Com")]
4005     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4006         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4007         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4008     }
4009     #[cfg(feature = "Win32_System_Com")]
4010     pub unsafe fn GetVisibleRanges(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4011         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4012         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4013     }
4014     pub unsafe fn RangeFromChild<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, childelement: Param0) -> ::windows::runtime::Result<ITextRangeProvider> {
4015         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4016         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), childelement.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4017     }
4018     pub unsafe fn RangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, UiaPoint>>(&self, point: Param0) -> ::windows::runtime::Result<ITextRangeProvider> {
4019         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4020         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), point.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4021     }
4022     pub unsafe fn DocumentRange(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
4023         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4024         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
4025     }
4026     pub unsafe fn SupportedTextSelection(&self) -> ::windows::runtime::Result<SupportedTextSelection> {
4027         let mut result__: <SupportedTextSelection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4028         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SupportedTextSelection>(result__)
4029     }
4030 }
4031 unsafe impl ::windows::runtime::Interface for ITextProvider {
4032     type Vtable = ITextProvider_abi;
4033     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(898222380, 25587, 17255, [153, 187, 173, 166, 83, 183, 124, 242]);
4034 }
4035 impl ::std::convert::From<ITextProvider> for ::windows::runtime::IUnknown {
4036     fn from(value: ITextProvider) -> Self {
4037         unsafe { ::std::mem::transmute(value) }
4038     }
4039 }
4040 impl ::std::convert::From<&ITextProvider> for ::windows::runtime::IUnknown {
4041     fn from(value: &ITextProvider) -> Self {
4042         ::std::convert::From::from(::std::clone::Clone::clone(value))
4043     }
4044 }
4045 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextProvider {
4046     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4047         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4048     }
4049 }
4050 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextProvider {
4051     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4052         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4053     }
4054 }
4055 #[repr(C)]
4056 #[doc(hidden)]
4057 pub struct ITextProvider_abi(
4058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4061     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4062     #[cfg(not(feature = "Win32_System_Com"))] usize,
4063     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4064     #[cfg(not(feature = "Win32_System_Com"))] usize,
4065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childelement: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, point: UiaPoint, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut SupportedTextSelection) -> ::windows::runtime::HRESULT,
4069 );
4070 #[repr(transparent)]
4071 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4072 pub struct ITextProvider2(::windows::runtime::IUnknown);
4073 impl ITextProvider2 {
4074     #[cfg(feature = "Win32_System_Com")]
4075     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4076         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4077         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4078     }
4079     #[cfg(feature = "Win32_System_Com")]
4080     pub unsafe fn GetVisibleRanges(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4081         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4082         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4083     }
4084     pub unsafe fn RangeFromChild<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, childelement: Param0) -> ::windows::runtime::Result<ITextRangeProvider> {
4085         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4086         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), childelement.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4087     }
4088     pub unsafe fn RangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, UiaPoint>>(&self, point: Param0) -> ::windows::runtime::Result<ITextRangeProvider> {
4089         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4090         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), point.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4091     }
4092     pub unsafe fn DocumentRange(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
4093         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4094         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
4095     }
4096     pub unsafe fn SupportedTextSelection(&self) -> ::windows::runtime::Result<SupportedTextSelection> {
4097         let mut result__: <SupportedTextSelection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4098         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SupportedTextSelection>(result__)
4099     }
4100     pub unsafe fn RangeFromAnnotation<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(&self, annotationelement: Param0) -> ::windows::runtime::Result<ITextRangeProvider> {
4101         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4102         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), annotationelement.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4103     }
4104     #[cfg(feature = "Win32_Foundation")]
4105     pub unsafe fn GetCaretRange(&self, isactive: *mut super::super::Foundation::BOOL, pretval: *mut ::std::option::Option<ITextRangeProvider>) -> ::windows::runtime::Result<()> {
4106         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(isactive), ::std::mem::transmute(pretval)).ok()
4107     }
4108 }
4109 unsafe impl ::windows::runtime::Interface for ITextProvider2 {
4110     type Vtable = ITextProvider2_abi;
4111     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(231073517, 15894, 19441, [143, 154, 169, 121, 135, 139, 193, 149]);
4112 }
4113 impl ::std::convert::From<ITextProvider2> for ::windows::runtime::IUnknown {
4114     fn from(value: ITextProvider2) -> Self {
4115         unsafe { ::std::mem::transmute(value) }
4116     }
4117 }
4118 impl ::std::convert::From<&ITextProvider2> for ::windows::runtime::IUnknown {
4119     fn from(value: &ITextProvider2) -> Self {
4120         ::std::convert::From::from(::std::clone::Clone::clone(value))
4121     }
4122 }
4123 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextProvider2 {
4124     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4125         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4126     }
4127 }
4128 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextProvider2 {
4129     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4130         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4131     }
4132 }
4133 impl ::std::convert::From<ITextProvider2> for ITextProvider {
4134     fn from(value: ITextProvider2) -> Self {
4135         unsafe { ::std::mem::transmute(value) }
4136     }
4137 }
4138 impl ::std::convert::From<&ITextProvider2> for ITextProvider {
4139     fn from(value: &ITextProvider2) -> Self {
4140         ::std::convert::From::from(::std::clone::Clone::clone(value))
4141     }
4142 }
4143 impl<'a> ::windows::runtime::IntoParam<'a, ITextProvider> for ITextProvider2 {
4144     fn into_param(self) -> ::windows::runtime::Param<'a, ITextProvider> {
4145         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextProvider>::into(self))
4146     }
4147 }
4148 impl<'a> ::windows::runtime::IntoParam<'a, ITextProvider> for &ITextProvider2 {
4149     fn into_param(self) -> ::windows::runtime::Param<'a, ITextProvider> {
4150         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextProvider>::into(::std::clone::Clone::clone(self)))
4151     }
4152 }
4153 #[repr(C)]
4154 #[doc(hidden)]
4155 pub struct ITextProvider2_abi(
4156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4159     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4160     #[cfg(not(feature = "Win32_System_Com"))] usize,
4161     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4162     #[cfg(not(feature = "Win32_System_Com"))] usize,
4163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childelement: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, point: UiaPoint, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut SupportedTextSelection) -> ::windows::runtime::HRESULT,
4167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, annotationelement: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4168     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, isactive: *mut super::super::Foundation::BOOL, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4169     #[cfg(not(feature = "Win32_Foundation"))] usize,
4170 );
4171 #[repr(transparent)]
4172 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4173 pub struct ITextRangeProvider(::windows::runtime::IUnknown);
4174 impl ITextRangeProvider {
4175     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
4176         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4177         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
4178     }
4179     #[cfg(feature = "Win32_Foundation")]
4180     pub unsafe fn Compare<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRangeProvider>>(&self, range: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4181         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4182         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), range.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4183     }
4184     pub unsafe fn CompareEndpoints<'a, Param1: ::windows::runtime::IntoParam<'a, ITextRangeProvider>>(&self, endpoint: TextPatternRangeEndpoint, targetrange: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<i32> {
4185         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4186         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), targetrange.into_param().abi(), ::std::mem::transmute(targetendpoint), &mut result__).from_abi::<i32>(result__)
4187     }
4188     pub unsafe fn ExpandToEnclosingUnit(&self, unit: TextUnit) -> ::windows::runtime::Result<()> {
4189         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(unit)).ok()
4190     }
4191     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4192     pub unsafe fn FindAttribute<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, attributeid: i32, val: Param1, backward: Param2) -> ::windows::runtime::Result<ITextRangeProvider> {
4193         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4194         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(attributeid), val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4195     }
4196     #[cfg(feature = "Win32_Foundation")]
4197     pub unsafe fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, text: Param0, backward: Param1, ignorecase: Param2) -> ::windows::runtime::Result<ITextRangeProvider> {
4198         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4199         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4200     }
4201     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4202     pub unsafe fn GetAttributeValue(&self, attributeid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
4203         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4204         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(attributeid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
4205     }
4206     #[cfg(feature = "Win32_System_Com")]
4207     pub unsafe fn GetBoundingRectangles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4208         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4209         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4210     }
4211     pub unsafe fn GetEnclosingElement(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
4212         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4213         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
4214     }
4215     #[cfg(feature = "Win32_Foundation")]
4216     pub unsafe fn GetText(&self, maxlength: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4217         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4218         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlength), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4219     }
4220     pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
4221         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4222         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
4223     }
4224     pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
4225         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4226         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
4227     }
4228     pub unsafe fn MoveEndpointByRange<'a, Param1: ::windows::runtime::IntoParam<'a, ITextRangeProvider>>(&self, endpoint: TextPatternRangeEndpoint, targetrange: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<()> {
4229         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), targetrange.into_param().abi(), ::std::mem::transmute(targetendpoint)).ok()
4230     }
4231     pub unsafe fn Select(&self) -> ::windows::runtime::Result<()> {
4232         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
4233     }
4234     pub unsafe fn AddToSelection(&self) -> ::windows::runtime::Result<()> {
4235         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
4236     }
4237     pub unsafe fn RemoveFromSelection(&self) -> ::windows::runtime::Result<()> {
4238         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
4239     }
4240     #[cfg(feature = "Win32_Foundation")]
4241     pub unsafe fn ScrollIntoView<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, aligntotop: Param0) -> ::windows::runtime::Result<()> {
4242         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), aligntotop.into_param().abi()).ok()
4243     }
4244     #[cfg(feature = "Win32_System_Com")]
4245     pub unsafe fn GetChildren(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4246         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4247         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4248     }
4249 }
4250 unsafe impl ::windows::runtime::Interface for ITextRangeProvider {
4251     type Vtable = ITextRangeProvider_abi;
4252     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1397206395, 50005, 18168, [175, 245, 144, 144, 51, 88, 47, 99]);
4253 }
4254 impl ::std::convert::From<ITextRangeProvider> for ::windows::runtime::IUnknown {
4255     fn from(value: ITextRangeProvider) -> Self {
4256         unsafe { ::std::mem::transmute(value) }
4257     }
4258 }
4259 impl ::std::convert::From<&ITextRangeProvider> for ::windows::runtime::IUnknown {
4260     fn from(value: &ITextRangeProvider) -> Self {
4261         ::std::convert::From::from(::std::clone::Clone::clone(value))
4262     }
4263 }
4264 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextRangeProvider {
4265     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4266         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4267     }
4268 }
4269 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextRangeProvider {
4270     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4271         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4272     }
4273 }
4274 #[repr(C)]
4275 #[doc(hidden)]
4276 pub struct ITextRangeProvider_abi(
4277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4281     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4282     #[cfg(not(feature = "Win32_Foundation"))] usize,
4283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, targetrange: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint, pretval: *mut i32) -> ::windows::runtime::HRESULT,
4284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextUnit) -> ::windows::runtime::HRESULT,
4285     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributeid: i32, val: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, backward: super::super::Foundation::BOOL, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4286     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4287     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, backward: super::super::Foundation::BOOL, ignorecase: super::super::Foundation::BOOL, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4288     #[cfg(not(feature = "Win32_Foundation"))] usize,
4289     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributeid: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
4290     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4291     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4292     #[cfg(not(feature = "Win32_System_Com"))] usize,
4293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4294     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlength: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4295     #[cfg(not(feature = "Win32_Foundation"))] usize,
4296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::HRESULT,
4297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::HRESULT,
4298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, targetrange: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::HRESULT,
4299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4302     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, aligntotop: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4303     #[cfg(not(feature = "Win32_Foundation"))] usize,
4304     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4305     #[cfg(not(feature = "Win32_System_Com"))] usize,
4306 );
4307 #[repr(transparent)]
4308 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4309 pub struct ITextRangeProvider2(::windows::runtime::IUnknown);
4310 impl ITextRangeProvider2 {
4311     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<ITextRangeProvider> {
4312         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4313         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ITextRangeProvider>(result__)
4314     }
4315     #[cfg(feature = "Win32_Foundation")]
4316     pub unsafe fn Compare<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRangeProvider>>(&self, range: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4317         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4318         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), range.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4319     }
4320     pub unsafe fn CompareEndpoints<'a, Param1: ::windows::runtime::IntoParam<'a, ITextRangeProvider>>(&self, endpoint: TextPatternRangeEndpoint, targetrange: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<i32> {
4321         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4322         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), targetrange.into_param().abi(), ::std::mem::transmute(targetendpoint), &mut result__).from_abi::<i32>(result__)
4323     }
4324     pub unsafe fn ExpandToEnclosingUnit(&self, unit: TextUnit) -> ::windows::runtime::Result<()> {
4325         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(unit)).ok()
4326     }
4327     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4328     pub unsafe fn FindAttribute<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, attributeid: i32, val: Param1, backward: Param2) -> ::windows::runtime::Result<ITextRangeProvider> {
4329         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4330         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(attributeid), val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4331     }
4332     #[cfg(feature = "Win32_Foundation")]
4333     pub unsafe fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, text: Param0, backward: Param1, ignorecase: Param2) -> ::windows::runtime::Result<ITextRangeProvider> {
4334         let mut result__: <ITextRangeProvider as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4335         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi::<ITextRangeProvider>(result__)
4336     }
4337     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4338     pub unsafe fn GetAttributeValue(&self, attributeid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
4339         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4340         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(attributeid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
4341     }
4342     #[cfg(feature = "Win32_System_Com")]
4343     pub unsafe fn GetBoundingRectangles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4344         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4345         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4346     }
4347     pub unsafe fn GetEnclosingElement(&self) -> ::windows::runtime::Result<IRawElementProviderSimple> {
4348         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4349         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
4350     }
4351     #[cfg(feature = "Win32_Foundation")]
4352     pub unsafe fn GetText(&self, maxlength: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4353         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4354         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlength), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4355     }
4356     pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
4357         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4358         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
4359     }
4360     pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
4361         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4362         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
4363     }
4364     pub unsafe fn MoveEndpointByRange<'a, Param1: ::windows::runtime::IntoParam<'a, ITextRangeProvider>>(&self, endpoint: TextPatternRangeEndpoint, targetrange: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<()> {
4365         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), targetrange.into_param().abi(), ::std::mem::transmute(targetendpoint)).ok()
4366     }
4367     pub unsafe fn Select(&self) -> ::windows::runtime::Result<()> {
4368         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
4369     }
4370     pub unsafe fn AddToSelection(&self) -> ::windows::runtime::Result<()> {
4371         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
4372     }
4373     pub unsafe fn RemoveFromSelection(&self) -> ::windows::runtime::Result<()> {
4374         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
4375     }
4376     #[cfg(feature = "Win32_Foundation")]
4377     pub unsafe fn ScrollIntoView<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, aligntotop: Param0) -> ::windows::runtime::Result<()> {
4378         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), aligntotop.into_param().abi()).ok()
4379     }
4380     #[cfg(feature = "Win32_System_Com")]
4381     pub unsafe fn GetChildren(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4382         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4383         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4384     }
4385     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
4386         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)).ok()
4387     }
4388 }
4389 unsafe impl ::windows::runtime::Interface for ITextRangeProvider2 {
4390     type Vtable = ITextRangeProvider2_abi;
4391     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2612847660, 6433, 20248, [137, 202, 219, 161, 145, 10, 3, 134]);
4392 }
4393 impl ::std::convert::From<ITextRangeProvider2> for ::windows::runtime::IUnknown {
4394     fn from(value: ITextRangeProvider2) -> Self {
4395         unsafe { ::std::mem::transmute(value) }
4396     }
4397 }
4398 impl ::std::convert::From<&ITextRangeProvider2> for ::windows::runtime::IUnknown {
4399     fn from(value: &ITextRangeProvider2) -> Self {
4400         ::std::convert::From::from(::std::clone::Clone::clone(value))
4401     }
4402 }
4403 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextRangeProvider2 {
4404     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4405         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4406     }
4407 }
4408 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextRangeProvider2 {
4409     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4410         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4411     }
4412 }
4413 impl ::std::convert::From<ITextRangeProvider2> for ITextRangeProvider {
4414     fn from(value: ITextRangeProvider2) -> Self {
4415         unsafe { ::std::mem::transmute(value) }
4416     }
4417 }
4418 impl ::std::convert::From<&ITextRangeProvider2> for ITextRangeProvider {
4419     fn from(value: &ITextRangeProvider2) -> Self {
4420         ::std::convert::From::from(::std::clone::Clone::clone(value))
4421     }
4422 }
4423 impl<'a> ::windows::runtime::IntoParam<'a, ITextRangeProvider> for ITextRangeProvider2 {
4424     fn into_param(self) -> ::windows::runtime::Param<'a, ITextRangeProvider> {
4425         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextRangeProvider>::into(self))
4426     }
4427 }
4428 impl<'a> ::windows::runtime::IntoParam<'a, ITextRangeProvider> for &ITextRangeProvider2 {
4429     fn into_param(self) -> ::windows::runtime::Param<'a, ITextRangeProvider> {
4430         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextRangeProvider>::into(::std::clone::Clone::clone(self)))
4431     }
4432 }
4433 #[repr(C)]
4434 #[doc(hidden)]
4435 pub struct ITextRangeProvider2_abi(
4436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4440     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4441     #[cfg(not(feature = "Win32_Foundation"))] usize,
4442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, targetrange: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint, pretval: *mut i32) -> ::windows::runtime::HRESULT,
4443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextUnit) -> ::windows::runtime::HRESULT,
4444     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributeid: i32, val: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, backward: super::super::Foundation::BOOL, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4445     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4446     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, backward: super::super::Foundation::BOOL, ignorecase: super::super::Foundation::BOOL, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4447     #[cfg(not(feature = "Win32_Foundation"))] usize,
4448     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributeid: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
4449     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4450     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4451     #[cfg(not(feature = "Win32_System_Com"))] usize,
4452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4453     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlength: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4454     #[cfg(not(feature = "Win32_Foundation"))] usize,
4455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::HRESULT,
4456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::HRESULT,
4457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, targetrange: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::HRESULT,
4458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4461     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, aligntotop: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4462     #[cfg(not(feature = "Win32_Foundation"))] usize,
4463     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4464     #[cfg(not(feature = "Win32_System_Com"))] usize,
4465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4466 );
4467 #[repr(transparent)]
4468 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4469 pub struct IToggleProvider(::windows::runtime::IUnknown);
4470 impl IToggleProvider {
4471     pub unsafe fn Toggle(&self) -> ::windows::runtime::Result<()> {
4472         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
4473     }
4474     pub unsafe fn ToggleState(&self) -> ::windows::runtime::Result<ToggleState> {
4475         let mut result__: <ToggleState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4476         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ToggleState>(result__)
4477     }
4478 }
4479 unsafe impl ::windows::runtime::Interface for IToggleProvider {
4480     type Vtable = IToggleProvider_abi;
4481     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1456475088, 50420, 17212, [168, 54, 26, 82, 165, 126, 8, 146]);
4482 }
4483 impl ::std::convert::From<IToggleProvider> for ::windows::runtime::IUnknown {
4484     fn from(value: IToggleProvider) -> Self {
4485         unsafe { ::std::mem::transmute(value) }
4486     }
4487 }
4488 impl ::std::convert::From<&IToggleProvider> for ::windows::runtime::IUnknown {
4489     fn from(value: &IToggleProvider) -> Self {
4490         ::std::convert::From::from(::std::clone::Clone::clone(value))
4491     }
4492 }
4493 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IToggleProvider {
4494     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4495         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4496     }
4497 }
4498 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IToggleProvider {
4499     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4500         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4501     }
4502 }
4503 #[repr(C)]
4504 #[doc(hidden)]
4505 pub struct IToggleProvider_abi(
4506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ToggleState) -> ::windows::runtime::HRESULT,
4511 );
4512 #[repr(transparent)]
4513 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4514 pub struct ITransformProvider(::windows::runtime::IUnknown);
4515 impl ITransformProvider {
4516     pub unsafe fn Move(&self, x: f64, y: f64) -> ::windows::runtime::Result<()> {
4517         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
4518     }
4519     pub unsafe fn Resize(&self, width: f64, height: f64) -> ::windows::runtime::Result<()> {
4520         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
4521     }
4522     pub unsafe fn Rotate(&self, degrees: f64) -> ::windows::runtime::Result<()> {
4523         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(degrees)).ok()
4524     }
4525     #[cfg(feature = "Win32_Foundation")]
4526     pub unsafe fn CanMove(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4527         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4528         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4529     }
4530     #[cfg(feature = "Win32_Foundation")]
4531     pub unsafe fn CanResize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4532         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4533         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4534     }
4535     #[cfg(feature = "Win32_Foundation")]
4536     pub unsafe fn CanRotate(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4537         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4538         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4539     }
4540 }
4541 unsafe impl ::windows::runtime::Interface for ITransformProvider {
4542     type Vtable = ITransformProvider_abi;
4543     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1747574212, 20369, 20474, [184, 111, 189, 62, 41, 135, 203, 76]);
4544 }
4545 impl ::std::convert::From<ITransformProvider> for ::windows::runtime::IUnknown {
4546     fn from(value: ITransformProvider) -> Self {
4547         unsafe { ::std::mem::transmute(value) }
4548     }
4549 }
4550 impl ::std::convert::From<&ITransformProvider> for ::windows::runtime::IUnknown {
4551     fn from(value: &ITransformProvider) -> Self {
4552         ::std::convert::From::from(::std::clone::Clone::clone(value))
4553     }
4554 }
4555 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransformProvider {
4556     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4557         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4558     }
4559 }
4560 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransformProvider {
4561     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4562         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4563     }
4564 }
4565 #[repr(C)]
4566 #[doc(hidden)]
4567 pub struct ITransformProvider_abi(
4568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f64, y: f64) -> ::windows::runtime::HRESULT,
4572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: f64, height: f64) -> ::windows::runtime::HRESULT,
4573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, degrees: f64) -> ::windows::runtime::HRESULT,
4574     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4575     #[cfg(not(feature = "Win32_Foundation"))] usize,
4576     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4577     #[cfg(not(feature = "Win32_Foundation"))] usize,
4578     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4579     #[cfg(not(feature = "Win32_Foundation"))] usize,
4580 );
4581 #[repr(transparent)]
4582 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4583 pub struct ITransformProvider2(::windows::runtime::IUnknown);
4584 impl ITransformProvider2 {
4585     pub unsafe fn Move(&self, x: f64, y: f64) -> ::windows::runtime::Result<()> {
4586         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
4587     }
4588     pub unsafe fn Resize(&self, width: f64, height: f64) -> ::windows::runtime::Result<()> {
4589         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
4590     }
4591     pub unsafe fn Rotate(&self, degrees: f64) -> ::windows::runtime::Result<()> {
4592         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(degrees)).ok()
4593     }
4594     #[cfg(feature = "Win32_Foundation")]
4595     pub unsafe fn CanMove(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4596         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4597         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4598     }
4599     #[cfg(feature = "Win32_Foundation")]
4600     pub unsafe fn CanResize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4601         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4602         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4603     }
4604     #[cfg(feature = "Win32_Foundation")]
4605     pub unsafe fn CanRotate(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4606         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4607         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4608     }
4609     pub unsafe fn Zoom(&self, zoom: f64) -> ::windows::runtime::Result<()> {
4610         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(zoom)).ok()
4611     }
4612     #[cfg(feature = "Win32_Foundation")]
4613     pub unsafe fn CanZoom(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4614         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4615         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4616     }
4617     pub unsafe fn ZoomLevel(&self) -> ::windows::runtime::Result<f64> {
4618         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4619         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
4620     }
4621     pub unsafe fn ZoomMinimum(&self) -> ::windows::runtime::Result<f64> {
4622         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4623         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
4624     }
4625     pub unsafe fn ZoomMaximum(&self) -> ::windows::runtime::Result<f64> {
4626         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4627         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
4628     }
4629     pub unsafe fn ZoomByUnit(&self, zoomunit: ZoomUnit) -> ::windows::runtime::Result<()> {
4630         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(zoomunit)).ok()
4631     }
4632 }
4633 unsafe impl ::windows::runtime::Interface for ITransformProvider2 {
4634     type Vtable = ITransformProvider2_abi;
4635     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1196979247, 31426, 17932, [188, 72, 9, 252, 9, 48, 138, 147]);
4636 }
4637 impl ::std::convert::From<ITransformProvider2> for ::windows::runtime::IUnknown {
4638     fn from(value: ITransformProvider2) -> Self {
4639         unsafe { ::std::mem::transmute(value) }
4640     }
4641 }
4642 impl ::std::convert::From<&ITransformProvider2> for ::windows::runtime::IUnknown {
4643     fn from(value: &ITransformProvider2) -> Self {
4644         ::std::convert::From::from(::std::clone::Clone::clone(value))
4645     }
4646 }
4647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITransformProvider2 {
4648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4649         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4650     }
4651 }
4652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITransformProvider2 {
4653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4655     }
4656 }
4657 impl ::std::convert::From<ITransformProvider2> for ITransformProvider {
4658     fn from(value: ITransformProvider2) -> Self {
4659         unsafe { ::std::mem::transmute(value) }
4660     }
4661 }
4662 impl ::std::convert::From<&ITransformProvider2> for ITransformProvider {
4663     fn from(value: &ITransformProvider2) -> Self {
4664         ::std::convert::From::from(::std::clone::Clone::clone(value))
4665     }
4666 }
4667 impl<'a> ::windows::runtime::IntoParam<'a, ITransformProvider> for ITransformProvider2 {
4668     fn into_param(self) -> ::windows::runtime::Param<'a, ITransformProvider> {
4669         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransformProvider>::into(self))
4670     }
4671 }
4672 impl<'a> ::windows::runtime::IntoParam<'a, ITransformProvider> for &ITransformProvider2 {
4673     fn into_param(self) -> ::windows::runtime::Param<'a, ITransformProvider> {
4674         ::windows::runtime::Param::Owned(::std::convert::Into::<ITransformProvider>::into(::std::clone::Clone::clone(self)))
4675     }
4676 }
4677 #[repr(C)]
4678 #[doc(hidden)]
4679 pub struct ITransformProvider2_abi(
4680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f64, y: f64) -> ::windows::runtime::HRESULT,
4684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: f64, height: f64) -> ::windows::runtime::HRESULT,
4685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, degrees: f64) -> ::windows::runtime::HRESULT,
4686     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4687     #[cfg(not(feature = "Win32_Foundation"))] usize,
4688     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4689     #[cfg(not(feature = "Win32_Foundation"))] usize,
4690     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4691     #[cfg(not(feature = "Win32_Foundation"))] usize,
4692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, zoom: f64) -> ::windows::runtime::HRESULT,
4693     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4694     #[cfg(not(feature = "Win32_Foundation"))] usize,
4695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
4696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
4697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut f64) -> ::windows::runtime::HRESULT,
4698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, zoomunit: ZoomUnit) -> ::windows::runtime::HRESULT,
4699 );
4700 #[repr(transparent)]
4701 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4702 pub struct IUIAutomation(::windows::runtime::IUnknown);
4703 impl IUIAutomation {
4704     #[cfg(feature = "Win32_Foundation")]
4705     pub unsafe fn CompareElements<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, el1: Param0, el2: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4706         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4707         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4708     }
4709     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4710     pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4711         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4712         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(runtimeid1), ::std::mem::transmute(runtimeid2), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4713     }
4714     pub unsafe fn GetRootElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
4715         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4716         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
4717     }
4718     #[cfg(feature = "Win32_Foundation")]
4719     pub unsafe fn ElementFromHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
4720         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4721         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
4722     }
4723     #[cfg(feature = "Win32_Foundation")]
4724     pub unsafe fn ElementFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
4725         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4726         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
4727     }
4728     pub unsafe fn GetFocusedElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
4729         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4730         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
4731     }
4732     pub unsafe fn GetRootElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
4733         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4734         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
4735     }
4736     #[cfg(feature = "Win32_Foundation")]
4737     pub unsafe fn ElementFromHandleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, hwnd: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
4738         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4739         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
4740     }
4741     #[cfg(feature = "Win32_Foundation")]
4742     pub unsafe fn ElementFromPointBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, pt: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
4743         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4744         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pt.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
4745     }
4746     pub unsafe fn GetFocusedElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
4747         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4748         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
4749     }
4750     pub unsafe fn CreateTreeWalker<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, pcondition: Param0) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
4751         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4752         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcondition.into_param().abi(), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
4753     }
4754     pub unsafe fn ControlViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
4755         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4756         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
4757     }
4758     pub unsafe fn ContentViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
4759         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4760         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
4761     }
4762     pub unsafe fn RawViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
4763         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4764         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
4765     }
4766     pub unsafe fn RawViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
4767         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4768         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4769     }
4770     pub unsafe fn ControlViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
4771         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4772         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4773     }
4774     pub unsafe fn ContentViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
4775         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4776         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4777     }
4778     pub unsafe fn CreateCacheRequest(&self) -> ::windows::runtime::Result<IUIAutomationCacheRequest> {
4779         let mut result__: <IUIAutomationCacheRequest as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4780         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCacheRequest>(result__)
4781     }
4782     pub unsafe fn CreateTrueCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
4783         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4784         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4785     }
4786     pub unsafe fn CreateFalseCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
4787         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4788         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4789     }
4790     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4791     pub unsafe fn CreatePropertyCondition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
4792         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4793         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4794     }
4795     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4796     pub unsafe fn CreatePropertyConditionEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1, flags: PropertyConditionFlags) -> ::windows::runtime::Result<IUIAutomationCondition> {
4797         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4798         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4799     }
4800     pub unsafe fn CreateAndCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
4801         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4802         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4803     }
4804     #[cfg(feature = "Win32_System_Com")]
4805     pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
4806         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4807         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4808     }
4809     pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
4810         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4811         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4812     }
4813     pub unsafe fn CreateOrCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
4814         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4815         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4816     }
4817     #[cfg(feature = "Win32_System_Com")]
4818     pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
4819         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4820         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4821     }
4822     pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
4823         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4824         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4825     }
4826     pub unsafe fn CreateNotCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition: Param0) -> ::windows::runtime::Result<IUIAutomationCondition> {
4827         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4828         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
4829     }
4830     pub unsafe fn AddAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, scope: TreeScope, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
4831         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
4832     }
4833     pub unsafe fn RemoveAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
4834         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), handler.into_param().abi()).ok()
4835     }
4836     pub unsafe fn AddPropertyChangedEventHandlerNativeArray<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::Result<()> {
4837         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
4838     }
4839     #[cfg(feature = "Win32_System_Com")]
4840     pub unsafe fn AddPropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4841         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray)).ok()
4842     }
4843     pub unsafe fn RemovePropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
4844         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
4845     }
4846     pub unsafe fn AddStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
4847         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
4848     }
4849     pub unsafe fn RemoveStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
4850         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
4851     }
4852     pub unsafe fn AddFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, cacherequest: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
4853         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
4854     }
4855     pub unsafe fn RemoveFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
4856         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
4857     }
4858     pub unsafe fn RemoveAllEventHandlers(&self) -> ::windows::runtime::Result<()> {
4859         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self)).ok()
4860     }
4861     #[cfg(feature = "Win32_System_Com")]
4862     pub unsafe fn IntNativeArrayToSafeArray(&self, array: *const i32, arraycount: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4863         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4864         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(array), ::std::mem::transmute(arraycount), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4865     }
4866     #[cfg(feature = "Win32_System_Com")]
4867     pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::Result<()> {
4868         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(intarray), ::std::mem::transmute(array), ::std::mem::transmute(arraycount)).ok()
4869     }
4870     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4871     pub unsafe fn RectToVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rc: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
4872         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4873         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), rc.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
4874     }
4875     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4876     pub unsafe fn VariantToRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, var: Param0) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
4877         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4878         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), var.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
4879     }
4880     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4881     pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::Result<()> {
4882         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(rects), ::std::mem::transmute(rectarray), ::std::mem::transmute(rectarraycount)).ok()
4883     }
4884     pub unsafe fn CreateProxyFactoryEntry<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationProxyFactory>>(&self, factory: Param0) -> ::windows::runtime::Result<IUIAutomationProxyFactoryEntry> {
4885         let mut result__: <IUIAutomationProxyFactoryEntry as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4886         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), factory.into_param().abi(), &mut result__).from_abi::<IUIAutomationProxyFactoryEntry>(result__)
4887     }
4888     pub unsafe fn ProxyFactoryMapping(&self) -> ::windows::runtime::Result<IUIAutomationProxyFactoryMapping> {
4889         let mut result__: <IUIAutomationProxyFactoryMapping as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4890         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationProxyFactoryMapping>(result__)
4891     }
4892     #[cfg(feature = "Win32_Foundation")]
4893     pub unsafe fn GetPropertyProgrammaticName(&self, property: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4894         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4895         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), ::std::mem::transmute(property), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4896     }
4897     #[cfg(feature = "Win32_Foundation")]
4898     pub unsafe fn GetPatternProgrammaticName(&self, pattern: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4899         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4900         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(pattern), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4901     }
4902     #[cfg(feature = "Win32_System_Com")]
4903     pub unsafe fn PollForPotentialSupportedPatterns<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4904         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(patternids), ::std::mem::transmute(patternnames)).ok()
4905     }
4906     #[cfg(feature = "Win32_System_Com")]
4907     pub unsafe fn PollForPotentialSupportedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4908         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(propertyids), ::std::mem::transmute(propertynames)).ok()
4909     }
4910     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4911     pub unsafe fn CheckNotSupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4912         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4913         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4914     }
4915     pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
4916         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4917         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
4918     }
4919     pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
4920         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4921         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
4922     }
4923     pub unsafe fn ElementFromIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(&self, accessible: Param0, childid: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
4924         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4925         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), &mut result__).from_abi::<IUIAutomationElement>(result__)
4926     }
4927     pub unsafe fn ElementFromIAccessibleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, accessible: Param0, childid: i32, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
4928         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4929         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
4930     }
4931 }
4932 unsafe impl ::windows::runtime::Interface for IUIAutomation {
4933     type Vtable = IUIAutomation_abi;
4934     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(818668925, 55760, 17706, [171, 19, 122, 197, 172, 72, 37, 238]);
4935 }
4936 impl ::std::convert::From<IUIAutomation> for ::windows::runtime::IUnknown {
4937     fn from(value: IUIAutomation) -> Self {
4938         unsafe { ::std::mem::transmute(value) }
4939     }
4940 }
4941 impl ::std::convert::From<&IUIAutomation> for ::windows::runtime::IUnknown {
4942     fn from(value: &IUIAutomation) -> Self {
4943         ::std::convert::From::from(::std::clone::Clone::clone(value))
4944     }
4945 }
4946 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomation {
4947     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4948         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4949     }
4950 }
4951 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomation {
4952     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4953         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4954     }
4955 }
4956 #[repr(C)]
4957 #[doc(hidden)]
4958 pub struct IUIAutomation_abi(
4959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4962     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, el1: ::windows::runtime::RawPtr, el2: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4963     #[cfg(not(feature = "Win32_Foundation"))] usize,
4964     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4965     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
4966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4967     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4968     #[cfg(not(feature = "Win32_Foundation"))] usize,
4969     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4970     #[cfg(not(feature = "Win32_Foundation"))] usize,
4971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4973     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4974     #[cfg(not(feature = "Win32_Foundation"))] usize,
4975     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4976     #[cfg(not(feature = "Win32_Foundation"))] usize,
4977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcondition: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4988     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4989     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4990     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, flags: PropertyConditionFlags, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4991     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4993     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4994     #[cfg(not(feature = "Win32_System_Com"))] usize,
4995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4997     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4998     #[cfg(not(feature = "Win32_System_Com"))] usize,
4999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::HRESULT,
5004     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5005     #[cfg(not(feature = "Win32_System_Com"))] usize,
5006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5012     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, array: *const i32, arraycount: i32, safearray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5013     #[cfg(not(feature = "Win32_System_Com"))] usize,
5014     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::HRESULT,
5015     #[cfg(not(feature = "Win32_System_Com"))] usize,
5016     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rc: super::super::Foundation::RECT, var: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5017     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5018     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, rc: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
5019     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5020     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::HRESULT,
5021     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factory: ::windows::runtime::RawPtr, factoryentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factorymapping: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5024     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5025     #[cfg(not(feature = "Win32_Foundation"))] usize,
5026     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pattern: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5027     #[cfg(not(feature = "Win32_Foundation"))] usize,
5028     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5029     #[cfg(not(feature = "Win32_System_Com"))] usize,
5030     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5031     #[cfg(not(feature = "Win32_System_Com"))] usize,
5032     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, isnotsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5033     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notsupportedvalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mixedattributevalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5038 );
5039 #[repr(transparent)]
5040 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5041 pub struct IUIAutomation2(::windows::runtime::IUnknown);
5042 impl IUIAutomation2 {
5043     #[cfg(feature = "Win32_Foundation")]
5044     pub unsafe fn CompareElements<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, el1: Param0, el2: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5045         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5046         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5047     }
5048     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5049     pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5050         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5051         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(runtimeid1), ::std::mem::transmute(runtimeid2), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5052     }
5053     pub unsafe fn GetRootElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
5054         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5055         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
5056     }
5057     #[cfg(feature = "Win32_Foundation")]
5058     pub unsafe fn ElementFromHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5059         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5060         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5061     }
5062     #[cfg(feature = "Win32_Foundation")]
5063     pub unsafe fn ElementFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5064         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5065         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5066     }
5067     pub unsafe fn GetFocusedElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
5068         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5069         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
5070     }
5071     pub unsafe fn GetRootElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5072         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5073         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5074     }
5075     #[cfg(feature = "Win32_Foundation")]
5076     pub unsafe fn ElementFromHandleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, hwnd: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
5077         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5078         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5079     }
5080     #[cfg(feature = "Win32_Foundation")]
5081     pub unsafe fn ElementFromPointBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, pt: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
5082         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5083         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pt.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5084     }
5085     pub unsafe fn GetFocusedElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5086         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5087         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5088     }
5089     pub unsafe fn CreateTreeWalker<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, pcondition: Param0) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5090         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5091         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcondition.into_param().abi(), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5092     }
5093     pub unsafe fn ControlViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5094         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5095         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5096     }
5097     pub unsafe fn ContentViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5098         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5099         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5100     }
5101     pub unsafe fn RawViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5102         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5103         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5104     }
5105     pub unsafe fn RawViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5106         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5107         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5108     }
5109     pub unsafe fn ControlViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5110         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5111         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5112     }
5113     pub unsafe fn ContentViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5114         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5115         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5116     }
5117     pub unsafe fn CreateCacheRequest(&self) -> ::windows::runtime::Result<IUIAutomationCacheRequest> {
5118         let mut result__: <IUIAutomationCacheRequest as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5119         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCacheRequest>(result__)
5120     }
5121     pub unsafe fn CreateTrueCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5122         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5123         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5124     }
5125     pub unsafe fn CreateFalseCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5126         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5127         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5128     }
5129     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5130     pub unsafe fn CreatePropertyCondition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5131         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5132         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5133     }
5134     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5135     pub unsafe fn CreatePropertyConditionEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1, flags: PropertyConditionFlags) -> ::windows::runtime::Result<IUIAutomationCondition> {
5136         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5137         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5138     }
5139     pub unsafe fn CreateAndCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5140         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5141         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5142     }
5143     #[cfg(feature = "Win32_System_Com")]
5144     pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
5145         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5146         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5147     }
5148     pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
5149         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5150         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5151     }
5152     pub unsafe fn CreateOrCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5153         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5154         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5155     }
5156     #[cfg(feature = "Win32_System_Com")]
5157     pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
5158         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5159         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5160     }
5161     pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
5162         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5163         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5164     }
5165     pub unsafe fn CreateNotCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition: Param0) -> ::windows::runtime::Result<IUIAutomationCondition> {
5166         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5167         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5168     }
5169     pub unsafe fn AddAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, scope: TreeScope, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
5170         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5171     }
5172     pub unsafe fn RemoveAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
5173         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), handler.into_param().abi()).ok()
5174     }
5175     pub unsafe fn AddPropertyChangedEventHandlerNativeArray<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::Result<()> {
5176         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
5177     }
5178     #[cfg(feature = "Win32_System_Com")]
5179     pub unsafe fn AddPropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
5180         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray)).ok()
5181     }
5182     pub unsafe fn RemovePropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5183         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
5184     }
5185     pub unsafe fn AddStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
5186         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5187     }
5188     pub unsafe fn RemoveStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5189         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
5190     }
5191     pub unsafe fn AddFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, cacherequest: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5192         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5193     }
5194     pub unsafe fn RemoveFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
5195         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
5196     }
5197     pub unsafe fn RemoveAllEventHandlers(&self) -> ::windows::runtime::Result<()> {
5198         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self)).ok()
5199     }
5200     #[cfg(feature = "Win32_System_Com")]
5201     pub unsafe fn IntNativeArrayToSafeArray(&self, array: *const i32, arraycount: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
5202         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5203         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(array), ::std::mem::transmute(arraycount), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
5204     }
5205     #[cfg(feature = "Win32_System_Com")]
5206     pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::Result<()> {
5207         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(intarray), ::std::mem::transmute(array), ::std::mem::transmute(arraycount)).ok()
5208     }
5209     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5210     pub unsafe fn RectToVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rc: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
5211         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5212         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), rc.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
5213     }
5214     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5215     pub unsafe fn VariantToRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, var: Param0) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
5216         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5217         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), var.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
5218     }
5219     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5220     pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::Result<()> {
5221         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(rects), ::std::mem::transmute(rectarray), ::std::mem::transmute(rectarraycount)).ok()
5222     }
5223     pub unsafe fn CreateProxyFactoryEntry<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationProxyFactory>>(&self, factory: Param0) -> ::windows::runtime::Result<IUIAutomationProxyFactoryEntry> {
5224         let mut result__: <IUIAutomationProxyFactoryEntry as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5225         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), factory.into_param().abi(), &mut result__).from_abi::<IUIAutomationProxyFactoryEntry>(result__)
5226     }
5227     pub unsafe fn ProxyFactoryMapping(&self) -> ::windows::runtime::Result<IUIAutomationProxyFactoryMapping> {
5228         let mut result__: <IUIAutomationProxyFactoryMapping as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5229         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationProxyFactoryMapping>(result__)
5230     }
5231     #[cfg(feature = "Win32_Foundation")]
5232     pub unsafe fn GetPropertyProgrammaticName(&self, property: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5233         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5234         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), ::std::mem::transmute(property), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5235     }
5236     #[cfg(feature = "Win32_Foundation")]
5237     pub unsafe fn GetPatternProgrammaticName(&self, pattern: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5238         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5239         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(pattern), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5240     }
5241     #[cfg(feature = "Win32_System_Com")]
5242     pub unsafe fn PollForPotentialSupportedPatterns<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
5243         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(patternids), ::std::mem::transmute(patternnames)).ok()
5244     }
5245     #[cfg(feature = "Win32_System_Com")]
5246     pub unsafe fn PollForPotentialSupportedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
5247         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(propertyids), ::std::mem::transmute(propertynames)).ok()
5248     }
5249     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5250     pub unsafe fn CheckNotSupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5251         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5252         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5253     }
5254     pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
5255         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5256         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
5257     }
5258     pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
5259         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5260         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
5261     }
5262     pub unsafe fn ElementFromIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(&self, accessible: Param0, childid: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
5263         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5264         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), &mut result__).from_abi::<IUIAutomationElement>(result__)
5265     }
5266     pub unsafe fn ElementFromIAccessibleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, accessible: Param0, childid: i32, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
5267         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5268         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5269     }
5270     #[cfg(feature = "Win32_Foundation")]
5271     pub unsafe fn AutoSetFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5272         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5273         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5274     }
5275     #[cfg(feature = "Win32_Foundation")]
5276     pub unsafe fn SetAutoSetFocus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, autosetfocus: Param0) -> ::windows::runtime::Result<()> {
5277         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), autosetfocus.into_param().abi()).ok()
5278     }
5279     pub unsafe fn ConnectionTimeout(&self) -> ::windows::runtime::Result<u32> {
5280         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5281         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5282     }
5283     pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
5284         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
5285     }
5286     pub unsafe fn TransactionTimeout(&self) -> ::windows::runtime::Result<u32> {
5287         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5288         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5289     }
5290     pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
5291         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
5292     }
5293 }
5294 unsafe impl ::windows::runtime::Interface for IUIAutomation2 {
5295     type Vtable = IUIAutomation2_abi;
5296     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(879901439, 3229, 18896, [152, 150, 122, 181, 45, 248, 205, 138]);
5297 }
5298 impl ::std::convert::From<IUIAutomation2> for ::windows::runtime::IUnknown {
5299     fn from(value: IUIAutomation2) -> Self {
5300         unsafe { ::std::mem::transmute(value) }
5301     }
5302 }
5303 impl ::std::convert::From<&IUIAutomation2> for ::windows::runtime::IUnknown {
5304     fn from(value: &IUIAutomation2) -> Self {
5305         ::std::convert::From::from(::std::clone::Clone::clone(value))
5306     }
5307 }
5308 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomation2 {
5309     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5310         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5311     }
5312 }
5313 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomation2 {
5314     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5315         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5316     }
5317 }
5318 impl ::std::convert::From<IUIAutomation2> for IUIAutomation {
5319     fn from(value: IUIAutomation2) -> Self {
5320         unsafe { ::std::mem::transmute(value) }
5321     }
5322 }
5323 impl ::std::convert::From<&IUIAutomation2> for IUIAutomation {
5324     fn from(value: &IUIAutomation2) -> Self {
5325         ::std::convert::From::from(::std::clone::Clone::clone(value))
5326     }
5327 }
5328 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for IUIAutomation2 {
5329     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
5330         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(self))
5331     }
5332 }
5333 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for &IUIAutomation2 {
5334     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
5335         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(::std::clone::Clone::clone(self)))
5336     }
5337 }
5338 #[repr(C)]
5339 #[doc(hidden)]
5340 pub struct IUIAutomation2_abi(
5341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5344     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, el1: ::windows::runtime::RawPtr, el2: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5345     #[cfg(not(feature = "Win32_Foundation"))] usize,
5346     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5347     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5349     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5350     #[cfg(not(feature = "Win32_Foundation"))] usize,
5351     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5352     #[cfg(not(feature = "Win32_Foundation"))] usize,
5353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5355     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5356     #[cfg(not(feature = "Win32_Foundation"))] usize,
5357     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5358     #[cfg(not(feature = "Win32_Foundation"))] usize,
5359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcondition: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5370     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5371     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5372     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, flags: PropertyConditionFlags, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5373     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5375     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5376     #[cfg(not(feature = "Win32_System_Com"))] usize,
5377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5379     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5380     #[cfg(not(feature = "Win32_System_Com"))] usize,
5381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::HRESULT,
5386     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5387     #[cfg(not(feature = "Win32_System_Com"))] usize,
5388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5394     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, array: *const i32, arraycount: i32, safearray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5395     #[cfg(not(feature = "Win32_System_Com"))] usize,
5396     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::HRESULT,
5397     #[cfg(not(feature = "Win32_System_Com"))] usize,
5398     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rc: super::super::Foundation::RECT, var: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5399     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5400     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, rc: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
5401     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5402     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::HRESULT,
5403     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factory: ::windows::runtime::RawPtr, factoryentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factorymapping: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5406     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5407     #[cfg(not(feature = "Win32_Foundation"))] usize,
5408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pattern: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5409     #[cfg(not(feature = "Win32_Foundation"))] usize,
5410     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5411     #[cfg(not(feature = "Win32_System_Com"))] usize,
5412     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5413     #[cfg(not(feature = "Win32_System_Com"))] usize,
5414     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, isnotsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5415     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notsupportedvalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mixedattributevalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5421     #[cfg(not(feature = "Win32_Foundation"))] usize,
5422     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5423     #[cfg(not(feature = "Win32_Foundation"))] usize,
5424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
5425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
5426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
5427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
5428 );
5429 #[repr(transparent)]
5430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5431 pub struct IUIAutomation3(::windows::runtime::IUnknown);
5432 impl IUIAutomation3 {
5433     #[cfg(feature = "Win32_Foundation")]
5434     pub unsafe fn CompareElements<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, el1: Param0, el2: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5435         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5436         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5437     }
5438     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5439     pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5440         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5441         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(runtimeid1), ::std::mem::transmute(runtimeid2), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5442     }
5443     pub unsafe fn GetRootElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
5444         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5445         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
5446     }
5447     #[cfg(feature = "Win32_Foundation")]
5448     pub unsafe fn ElementFromHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5449         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5450         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5451     }
5452     #[cfg(feature = "Win32_Foundation")]
5453     pub unsafe fn ElementFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5454         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5455         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5456     }
5457     pub unsafe fn GetFocusedElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
5458         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5459         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
5460     }
5461     pub unsafe fn GetRootElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5462         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5463         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5464     }
5465     #[cfg(feature = "Win32_Foundation")]
5466     pub unsafe fn ElementFromHandleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, hwnd: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
5467         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5468         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5469     }
5470     #[cfg(feature = "Win32_Foundation")]
5471     pub unsafe fn ElementFromPointBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, pt: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
5472         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5473         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pt.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5474     }
5475     pub unsafe fn GetFocusedElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5476         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5477         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5478     }
5479     pub unsafe fn CreateTreeWalker<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, pcondition: Param0) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5480         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5481         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcondition.into_param().abi(), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5482     }
5483     pub unsafe fn ControlViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5484         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5485         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5486     }
5487     pub unsafe fn ContentViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5488         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5489         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5490     }
5491     pub unsafe fn RawViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5492         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5493         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5494     }
5495     pub unsafe fn RawViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5496         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5497         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5498     }
5499     pub unsafe fn ControlViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5500         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5501         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5502     }
5503     pub unsafe fn ContentViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5504         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5505         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5506     }
5507     pub unsafe fn CreateCacheRequest(&self) -> ::windows::runtime::Result<IUIAutomationCacheRequest> {
5508         let mut result__: <IUIAutomationCacheRequest as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5509         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCacheRequest>(result__)
5510     }
5511     pub unsafe fn CreateTrueCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5512         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5513         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5514     }
5515     pub unsafe fn CreateFalseCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5516         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5517         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5518     }
5519     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5520     pub unsafe fn CreatePropertyCondition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5521         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5522         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5523     }
5524     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5525     pub unsafe fn CreatePropertyConditionEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1, flags: PropertyConditionFlags) -> ::windows::runtime::Result<IUIAutomationCondition> {
5526         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5527         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5528     }
5529     pub unsafe fn CreateAndCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5530         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5531         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5532     }
5533     #[cfg(feature = "Win32_System_Com")]
5534     pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
5535         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5536         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5537     }
5538     pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
5539         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5540         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5541     }
5542     pub unsafe fn CreateOrCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5543         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5544         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5545     }
5546     #[cfg(feature = "Win32_System_Com")]
5547     pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
5548         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5549         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5550     }
5551     pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
5552         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5553         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5554     }
5555     pub unsafe fn CreateNotCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition: Param0) -> ::windows::runtime::Result<IUIAutomationCondition> {
5556         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5557         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5558     }
5559     pub unsafe fn AddAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, scope: TreeScope, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
5560         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5561     }
5562     pub unsafe fn RemoveAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
5563         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), handler.into_param().abi()).ok()
5564     }
5565     pub unsafe fn AddPropertyChangedEventHandlerNativeArray<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::Result<()> {
5566         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
5567     }
5568     #[cfg(feature = "Win32_System_Com")]
5569     pub unsafe fn AddPropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
5570         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray)).ok()
5571     }
5572     pub unsafe fn RemovePropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5573         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
5574     }
5575     pub unsafe fn AddStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
5576         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5577     }
5578     pub unsafe fn RemoveStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5579         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
5580     }
5581     pub unsafe fn AddFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, cacherequest: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5582         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5583     }
5584     pub unsafe fn RemoveFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
5585         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
5586     }
5587     pub unsafe fn RemoveAllEventHandlers(&self) -> ::windows::runtime::Result<()> {
5588         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self)).ok()
5589     }
5590     #[cfg(feature = "Win32_System_Com")]
5591     pub unsafe fn IntNativeArrayToSafeArray(&self, array: *const i32, arraycount: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
5592         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5593         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(array), ::std::mem::transmute(arraycount), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
5594     }
5595     #[cfg(feature = "Win32_System_Com")]
5596     pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::Result<()> {
5597         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(intarray), ::std::mem::transmute(array), ::std::mem::transmute(arraycount)).ok()
5598     }
5599     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5600     pub unsafe fn RectToVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rc: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
5601         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5602         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), rc.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
5603     }
5604     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5605     pub unsafe fn VariantToRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, var: Param0) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
5606         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5607         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), var.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
5608     }
5609     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5610     pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::Result<()> {
5611         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(rects), ::std::mem::transmute(rectarray), ::std::mem::transmute(rectarraycount)).ok()
5612     }
5613     pub unsafe fn CreateProxyFactoryEntry<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationProxyFactory>>(&self, factory: Param0) -> ::windows::runtime::Result<IUIAutomationProxyFactoryEntry> {
5614         let mut result__: <IUIAutomationProxyFactoryEntry as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5615         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), factory.into_param().abi(), &mut result__).from_abi::<IUIAutomationProxyFactoryEntry>(result__)
5616     }
5617     pub unsafe fn ProxyFactoryMapping(&self) -> ::windows::runtime::Result<IUIAutomationProxyFactoryMapping> {
5618         let mut result__: <IUIAutomationProxyFactoryMapping as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5619         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationProxyFactoryMapping>(result__)
5620     }
5621     #[cfg(feature = "Win32_Foundation")]
5622     pub unsafe fn GetPropertyProgrammaticName(&self, property: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5623         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5624         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), ::std::mem::transmute(property), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5625     }
5626     #[cfg(feature = "Win32_Foundation")]
5627     pub unsafe fn GetPatternProgrammaticName(&self, pattern: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5628         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5629         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(pattern), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5630     }
5631     #[cfg(feature = "Win32_System_Com")]
5632     pub unsafe fn PollForPotentialSupportedPatterns<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
5633         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(patternids), ::std::mem::transmute(patternnames)).ok()
5634     }
5635     #[cfg(feature = "Win32_System_Com")]
5636     pub unsafe fn PollForPotentialSupportedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
5637         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(propertyids), ::std::mem::transmute(propertynames)).ok()
5638     }
5639     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5640     pub unsafe fn CheckNotSupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5641         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5642         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5643     }
5644     pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
5645         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5646         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
5647     }
5648     pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
5649         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5650         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
5651     }
5652     pub unsafe fn ElementFromIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(&self, accessible: Param0, childid: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
5653         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5654         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), &mut result__).from_abi::<IUIAutomationElement>(result__)
5655     }
5656     pub unsafe fn ElementFromIAccessibleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, accessible: Param0, childid: i32, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
5657         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5658         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5659     }
5660     #[cfg(feature = "Win32_Foundation")]
5661     pub unsafe fn AutoSetFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5662         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5663         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5664     }
5665     #[cfg(feature = "Win32_Foundation")]
5666     pub unsafe fn SetAutoSetFocus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, autosetfocus: Param0) -> ::windows::runtime::Result<()> {
5667         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), autosetfocus.into_param().abi()).ok()
5668     }
5669     pub unsafe fn ConnectionTimeout(&self) -> ::windows::runtime::Result<u32> {
5670         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5671         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5672     }
5673     pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
5674         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
5675     }
5676     pub unsafe fn TransactionTimeout(&self) -> ::windows::runtime::Result<u32> {
5677         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5678         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5679     }
5680     pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
5681         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
5682     }
5683     pub unsafe fn AddTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
5684         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), ::std::mem::transmute(texteditchangetype), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5685     }
5686     pub unsafe fn RemoveTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5687         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
5688     }
5689 }
5690 unsafe impl ::windows::runtime::Interface for IUIAutomation3 {
5691     type Vtable = IUIAutomation3_abi;
5692     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1943496922, 39761, 19337, [147, 110, 194, 9, 41, 9, 115, 231]);
5693 }
5694 impl ::std::convert::From<IUIAutomation3> for ::windows::runtime::IUnknown {
5695     fn from(value: IUIAutomation3) -> Self {
5696         unsafe { ::std::mem::transmute(value) }
5697     }
5698 }
5699 impl ::std::convert::From<&IUIAutomation3> for ::windows::runtime::IUnknown {
5700     fn from(value: &IUIAutomation3) -> Self {
5701         ::std::convert::From::from(::std::clone::Clone::clone(value))
5702     }
5703 }
5704 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomation3 {
5705     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5706         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5707     }
5708 }
5709 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomation3 {
5710     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5711         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5712     }
5713 }
5714 impl ::std::convert::From<IUIAutomation3> for IUIAutomation2 {
5715     fn from(value: IUIAutomation3) -> Self {
5716         unsafe { ::std::mem::transmute(value) }
5717     }
5718 }
5719 impl ::std::convert::From<&IUIAutomation3> for IUIAutomation2 {
5720     fn from(value: &IUIAutomation3) -> Self {
5721         ::std::convert::From::from(::std::clone::Clone::clone(value))
5722     }
5723 }
5724 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for IUIAutomation3 {
5725     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
5726         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(self))
5727     }
5728 }
5729 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for &IUIAutomation3 {
5730     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
5731         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(::std::clone::Clone::clone(self)))
5732     }
5733 }
5734 impl ::std::convert::From<IUIAutomation3> for IUIAutomation {
5735     fn from(value: IUIAutomation3) -> Self {
5736         unsafe { ::std::mem::transmute(value) }
5737     }
5738 }
5739 impl ::std::convert::From<&IUIAutomation3> for IUIAutomation {
5740     fn from(value: &IUIAutomation3) -> Self {
5741         ::std::convert::From::from(::std::clone::Clone::clone(value))
5742     }
5743 }
5744 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for IUIAutomation3 {
5745     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
5746         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(self))
5747     }
5748 }
5749 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for &IUIAutomation3 {
5750     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
5751         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(::std::clone::Clone::clone(self)))
5752     }
5753 }
5754 #[repr(C)]
5755 #[doc(hidden)]
5756 pub struct IUIAutomation3_abi(
5757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5760     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, el1: ::windows::runtime::RawPtr, el2: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5761     #[cfg(not(feature = "Win32_Foundation"))] usize,
5762     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5763     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5765     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5766     #[cfg(not(feature = "Win32_Foundation"))] usize,
5767     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5768     #[cfg(not(feature = "Win32_Foundation"))] usize,
5769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5771     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5772     #[cfg(not(feature = "Win32_Foundation"))] usize,
5773     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5774     #[cfg(not(feature = "Win32_Foundation"))] usize,
5775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcondition: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5786     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5787     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5788     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, flags: PropertyConditionFlags, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5789     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5791     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5792     #[cfg(not(feature = "Win32_System_Com"))] usize,
5793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5795     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5796     #[cfg(not(feature = "Win32_System_Com"))] usize,
5797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::HRESULT,
5802     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5803     #[cfg(not(feature = "Win32_System_Com"))] usize,
5804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5810     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, array: *const i32, arraycount: i32, safearray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5811     #[cfg(not(feature = "Win32_System_Com"))] usize,
5812     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::HRESULT,
5813     #[cfg(not(feature = "Win32_System_Com"))] usize,
5814     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rc: super::super::Foundation::RECT, var: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
5815     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5816     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, rc: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
5817     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5818     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::HRESULT,
5819     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factory: ::windows::runtime::RawPtr, factoryentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factorymapping: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5822     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5823     #[cfg(not(feature = "Win32_Foundation"))] usize,
5824     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pattern: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5825     #[cfg(not(feature = "Win32_Foundation"))] usize,
5826     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5827     #[cfg(not(feature = "Win32_System_Com"))] usize,
5828     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
5829     #[cfg(not(feature = "Win32_System_Com"))] usize,
5830     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, isnotsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5831     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notsupportedvalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mixedattributevalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5836     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5837     #[cfg(not(feature = "Win32_Foundation"))] usize,
5838     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
5839     #[cfg(not(feature = "Win32_Foundation"))] usize,
5840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
5841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
5842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
5843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
5844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5846 );
5847 #[repr(transparent)]
5848 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5849 pub struct IUIAutomation4(::windows::runtime::IUnknown);
5850 impl IUIAutomation4 {
5851     #[cfg(feature = "Win32_Foundation")]
5852     pub unsafe fn CompareElements<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, el1: Param0, el2: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5853         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5854         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5855     }
5856     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5857     pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
5858         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5859         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(runtimeid1), ::std::mem::transmute(runtimeid2), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
5860     }
5861     pub unsafe fn GetRootElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
5862         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5863         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
5864     }
5865     #[cfg(feature = "Win32_Foundation")]
5866     pub unsafe fn ElementFromHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5867         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5868         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5869     }
5870     #[cfg(feature = "Win32_Foundation")]
5871     pub unsafe fn ElementFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5872         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5873         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5874     }
5875     pub unsafe fn GetFocusedElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
5876         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5877         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
5878     }
5879     pub unsafe fn GetRootElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5880         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5881         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5882     }
5883     #[cfg(feature = "Win32_Foundation")]
5884     pub unsafe fn ElementFromHandleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, hwnd: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
5885         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5886         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5887     }
5888     #[cfg(feature = "Win32_Foundation")]
5889     pub unsafe fn ElementFromPointBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, pt: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
5890         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5891         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pt.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5892     }
5893     pub unsafe fn GetFocusedElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
5894         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5895         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
5896     }
5897     pub unsafe fn CreateTreeWalker<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, pcondition: Param0) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5898         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5899         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcondition.into_param().abi(), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5900     }
5901     pub unsafe fn ControlViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5902         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5903         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5904     }
5905     pub unsafe fn ContentViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5906         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5907         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5908     }
5909     pub unsafe fn RawViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
5910         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5911         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
5912     }
5913     pub unsafe fn RawViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5914         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5915         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5916     }
5917     pub unsafe fn ControlViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5918         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5919         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5920     }
5921     pub unsafe fn ContentViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5922         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5923         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5924     }
5925     pub unsafe fn CreateCacheRequest(&self) -> ::windows::runtime::Result<IUIAutomationCacheRequest> {
5926         let mut result__: <IUIAutomationCacheRequest as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5927         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCacheRequest>(result__)
5928     }
5929     pub unsafe fn CreateTrueCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5930         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5931         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5932     }
5933     pub unsafe fn CreateFalseCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
5934         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5935         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5936     }
5937     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5938     pub unsafe fn CreatePropertyCondition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5939         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5940         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5941     }
5942     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5943     pub unsafe fn CreatePropertyConditionEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1, flags: PropertyConditionFlags) -> ::windows::runtime::Result<IUIAutomationCondition> {
5944         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5945         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5946     }
5947     pub unsafe fn CreateAndCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5948         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5949         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5950     }
5951     #[cfg(feature = "Win32_System_Com")]
5952     pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
5953         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5954         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5955     }
5956     pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
5957         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5958         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5959     }
5960     pub unsafe fn CreateOrCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
5961         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5962         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5963     }
5964     #[cfg(feature = "Win32_System_Com")]
5965     pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
5966         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5967         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5968     }
5969     pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
5970         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5971         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5972     }
5973     pub unsafe fn CreateNotCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition: Param0) -> ::windows::runtime::Result<IUIAutomationCondition> {
5974         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5975         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
5976     }
5977     pub unsafe fn AddAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, scope: TreeScope, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
5978         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5979     }
5980     pub unsafe fn RemoveAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
5981         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), handler.into_param().abi()).ok()
5982     }
5983     pub unsafe fn AddPropertyChangedEventHandlerNativeArray<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::Result<()> {
5984         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
5985     }
5986     #[cfg(feature = "Win32_System_Com")]
5987     pub unsafe fn AddPropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
5988         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray)).ok()
5989     }
5990     pub unsafe fn RemovePropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5991         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
5992     }
5993     pub unsafe fn AddStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
5994         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
5995     }
5996     pub unsafe fn RemoveStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
5997         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
5998     }
5999     pub unsafe fn AddFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, cacherequest: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6000         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6001     }
6002     pub unsafe fn RemoveFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
6003         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
6004     }
6005     pub unsafe fn RemoveAllEventHandlers(&self) -> ::windows::runtime::Result<()> {
6006         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self)).ok()
6007     }
6008     #[cfg(feature = "Win32_System_Com")]
6009     pub unsafe fn IntNativeArrayToSafeArray(&self, array: *const i32, arraycount: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
6010         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6011         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(array), ::std::mem::transmute(arraycount), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
6012     }
6013     #[cfg(feature = "Win32_System_Com")]
6014     pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::Result<()> {
6015         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(intarray), ::std::mem::transmute(array), ::std::mem::transmute(arraycount)).ok()
6016     }
6017     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6018     pub unsafe fn RectToVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rc: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6019         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6020         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), rc.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6021     }
6022     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6023     pub unsafe fn VariantToRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, var: Param0) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
6024         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6025         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), var.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
6026     }
6027     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6028     pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::Result<()> {
6029         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(rects), ::std::mem::transmute(rectarray), ::std::mem::transmute(rectarraycount)).ok()
6030     }
6031     pub unsafe fn CreateProxyFactoryEntry<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationProxyFactory>>(&self, factory: Param0) -> ::windows::runtime::Result<IUIAutomationProxyFactoryEntry> {
6032         let mut result__: <IUIAutomationProxyFactoryEntry as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6033         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), factory.into_param().abi(), &mut result__).from_abi::<IUIAutomationProxyFactoryEntry>(result__)
6034     }
6035     pub unsafe fn ProxyFactoryMapping(&self) -> ::windows::runtime::Result<IUIAutomationProxyFactoryMapping> {
6036         let mut result__: <IUIAutomationProxyFactoryMapping as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6037         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationProxyFactoryMapping>(result__)
6038     }
6039     #[cfg(feature = "Win32_Foundation")]
6040     pub unsafe fn GetPropertyProgrammaticName(&self, property: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6041         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6042         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), ::std::mem::transmute(property), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6043     }
6044     #[cfg(feature = "Win32_Foundation")]
6045     pub unsafe fn GetPatternProgrammaticName(&self, pattern: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6046         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6047         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(pattern), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6048     }
6049     #[cfg(feature = "Win32_System_Com")]
6050     pub unsafe fn PollForPotentialSupportedPatterns<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6051         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(patternids), ::std::mem::transmute(patternnames)).ok()
6052     }
6053     #[cfg(feature = "Win32_System_Com")]
6054     pub unsafe fn PollForPotentialSupportedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6055         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(propertyids), ::std::mem::transmute(propertynames)).ok()
6056     }
6057     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6058     pub unsafe fn CheckNotSupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6059         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6060         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6061     }
6062     pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6063         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6064         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6065     }
6066     pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6067         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6068         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6069     }
6070     pub unsafe fn ElementFromIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(&self, accessible: Param0, childid: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
6071         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6072         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), &mut result__).from_abi::<IUIAutomationElement>(result__)
6073     }
6074     pub unsafe fn ElementFromIAccessibleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, accessible: Param0, childid: i32, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
6075         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6076         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6077     }
6078     #[cfg(feature = "Win32_Foundation")]
6079     pub unsafe fn AutoSetFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6080         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6081         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6082     }
6083     #[cfg(feature = "Win32_Foundation")]
6084     pub unsafe fn SetAutoSetFocus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, autosetfocus: Param0) -> ::windows::runtime::Result<()> {
6085         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), autosetfocus.into_param().abi()).ok()
6086     }
6087     pub unsafe fn ConnectionTimeout(&self) -> ::windows::runtime::Result<u32> {
6088         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6089         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6090     }
6091     pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
6092         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
6093     }
6094     pub unsafe fn TransactionTimeout(&self) -> ::windows::runtime::Result<u32> {
6095         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6096         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6097     }
6098     pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
6099         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
6100     }
6101     pub unsafe fn AddTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
6102         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), ::std::mem::transmute(texteditchangetype), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6103     }
6104     pub unsafe fn RemoveTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6105         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6106     }
6107     pub unsafe fn AddChangesEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param5: ::windows::runtime::IntoParam<'a, IUIAutomationChangesEventHandler>>(&self, element: Param0, scope: TreeScope, changetypes: *const i32, changescount: i32, pcacherequest: Param4, handler: Param5) -> ::windows::runtime::Result<()> {
6108         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), ::std::mem::transmute(changetypes), ::std::mem::transmute(changescount), pcacherequest.into_param().abi(), handler.into_param().abi()).ok()
6109     }
6110     pub unsafe fn RemoveChangesEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationChangesEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6111         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6112     }
6113 }
6114 unsafe impl ::windows::runtime::Interface for IUIAutomation4 {
6115     type Vtable = IUIAutomation4_abi;
6116     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(294240298, 1528, 17177, [142, 33, 232, 23, 227, 219, 40, 96]);
6117 }
6118 impl ::std::convert::From<IUIAutomation4> for ::windows::runtime::IUnknown {
6119     fn from(value: IUIAutomation4) -> Self {
6120         unsafe { ::std::mem::transmute(value) }
6121     }
6122 }
6123 impl ::std::convert::From<&IUIAutomation4> for ::windows::runtime::IUnknown {
6124     fn from(value: &IUIAutomation4) -> Self {
6125         ::std::convert::From::from(::std::clone::Clone::clone(value))
6126     }
6127 }
6128 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomation4 {
6129     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6130         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6131     }
6132 }
6133 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomation4 {
6134     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6135         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6136     }
6137 }
6138 impl ::std::convert::From<IUIAutomation4> for IUIAutomation3 {
6139     fn from(value: IUIAutomation4) -> Self {
6140         unsafe { ::std::mem::transmute(value) }
6141     }
6142 }
6143 impl ::std::convert::From<&IUIAutomation4> for IUIAutomation3 {
6144     fn from(value: &IUIAutomation4) -> Self {
6145         ::std::convert::From::from(::std::clone::Clone::clone(value))
6146     }
6147 }
6148 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation3> for IUIAutomation4 {
6149     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation3> {
6150         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation3>::into(self))
6151     }
6152 }
6153 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation3> for &IUIAutomation4 {
6154     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation3> {
6155         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation3>::into(::std::clone::Clone::clone(self)))
6156     }
6157 }
6158 impl ::std::convert::From<IUIAutomation4> for IUIAutomation2 {
6159     fn from(value: IUIAutomation4) -> Self {
6160         unsafe { ::std::mem::transmute(value) }
6161     }
6162 }
6163 impl ::std::convert::From<&IUIAutomation4> for IUIAutomation2 {
6164     fn from(value: &IUIAutomation4) -> Self {
6165         ::std::convert::From::from(::std::clone::Clone::clone(value))
6166     }
6167 }
6168 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for IUIAutomation4 {
6169     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
6170         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(self))
6171     }
6172 }
6173 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for &IUIAutomation4 {
6174     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
6175         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(::std::clone::Clone::clone(self)))
6176     }
6177 }
6178 impl ::std::convert::From<IUIAutomation4> for IUIAutomation {
6179     fn from(value: IUIAutomation4) -> Self {
6180         unsafe { ::std::mem::transmute(value) }
6181     }
6182 }
6183 impl ::std::convert::From<&IUIAutomation4> for IUIAutomation {
6184     fn from(value: &IUIAutomation4) -> Self {
6185         ::std::convert::From::from(::std::clone::Clone::clone(value))
6186     }
6187 }
6188 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for IUIAutomation4 {
6189     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
6190         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(self))
6191     }
6192 }
6193 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for &IUIAutomation4 {
6194     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
6195         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(::std::clone::Clone::clone(self)))
6196     }
6197 }
6198 #[repr(C)]
6199 #[doc(hidden)]
6200 pub struct IUIAutomation4_abi(
6201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6204     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, el1: ::windows::runtime::RawPtr, el2: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6205     #[cfg(not(feature = "Win32_Foundation"))] usize,
6206     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6207     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6209     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6210     #[cfg(not(feature = "Win32_Foundation"))] usize,
6211     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6212     #[cfg(not(feature = "Win32_Foundation"))] usize,
6213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6215     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6216     #[cfg(not(feature = "Win32_Foundation"))] usize,
6217     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6218     #[cfg(not(feature = "Win32_Foundation"))] usize,
6219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcondition: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6230     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6231     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6232     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, flags: PropertyConditionFlags, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6233     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6235     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6236     #[cfg(not(feature = "Win32_System_Com"))] usize,
6237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6239     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6240     #[cfg(not(feature = "Win32_System_Com"))] usize,
6241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::HRESULT,
6246     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6247     #[cfg(not(feature = "Win32_System_Com"))] usize,
6248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6254     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, array: *const i32, arraycount: i32, safearray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6255     #[cfg(not(feature = "Win32_System_Com"))] usize,
6256     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::HRESULT,
6257     #[cfg(not(feature = "Win32_System_Com"))] usize,
6258     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rc: super::super::Foundation::RECT, var: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6259     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6260     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, rc: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
6261     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6262     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::HRESULT,
6263     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factory: ::windows::runtime::RawPtr, factoryentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factorymapping: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6266     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6267     #[cfg(not(feature = "Win32_Foundation"))] usize,
6268     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pattern: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6269     #[cfg(not(feature = "Win32_Foundation"))] usize,
6270     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6271     #[cfg(not(feature = "Win32_System_Com"))] usize,
6272     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6273     #[cfg(not(feature = "Win32_System_Com"))] usize,
6274     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, isnotsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6275     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notsupportedvalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mixedattributevalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6280     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6281     #[cfg(not(feature = "Win32_Foundation"))] usize,
6282     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6283     #[cfg(not(feature = "Win32_Foundation"))] usize,
6284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
6285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
6286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
6287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
6288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, changetypes: *const i32, changescount: i32, pcacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6292 );
6293 #[repr(transparent)]
6294 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6295 pub struct IUIAutomation5(::windows::runtime::IUnknown);
6296 impl IUIAutomation5 {
6297     #[cfg(feature = "Win32_Foundation")]
6298     pub unsafe fn CompareElements<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, el1: Param0, el2: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6299         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6300         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6301     }
6302     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6303     pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6304         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6305         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(runtimeid1), ::std::mem::transmute(runtimeid2), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6306     }
6307     pub unsafe fn GetRootElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
6308         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6309         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
6310     }
6311     #[cfg(feature = "Win32_Foundation")]
6312     pub unsafe fn ElementFromHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6313         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6314         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6315     }
6316     #[cfg(feature = "Win32_Foundation")]
6317     pub unsafe fn ElementFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6318         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6319         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6320     }
6321     pub unsafe fn GetFocusedElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
6322         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6323         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
6324     }
6325     pub unsafe fn GetRootElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6326         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6327         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6328     }
6329     #[cfg(feature = "Win32_Foundation")]
6330     pub unsafe fn ElementFromHandleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, hwnd: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
6331         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6332         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6333     }
6334     #[cfg(feature = "Win32_Foundation")]
6335     pub unsafe fn ElementFromPointBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, pt: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
6336         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6337         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pt.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6338     }
6339     pub unsafe fn GetFocusedElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6340         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6341         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6342     }
6343     pub unsafe fn CreateTreeWalker<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, pcondition: Param0) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6344         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6345         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcondition.into_param().abi(), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6346     }
6347     pub unsafe fn ControlViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6348         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6349         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6350     }
6351     pub unsafe fn ContentViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6352         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6353         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6354     }
6355     pub unsafe fn RawViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6356         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6357         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6358     }
6359     pub unsafe fn RawViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6360         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6361         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6362     }
6363     pub unsafe fn ControlViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6364         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6365         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6366     }
6367     pub unsafe fn ContentViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6368         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6369         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6370     }
6371     pub unsafe fn CreateCacheRequest(&self) -> ::windows::runtime::Result<IUIAutomationCacheRequest> {
6372         let mut result__: <IUIAutomationCacheRequest as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6373         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCacheRequest>(result__)
6374     }
6375     pub unsafe fn CreateTrueCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6376         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6377         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6378     }
6379     pub unsafe fn CreateFalseCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6380         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6381         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6382     }
6383     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6384     pub unsafe fn CreatePropertyCondition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
6385         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6386         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6387     }
6388     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6389     pub unsafe fn CreatePropertyConditionEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1, flags: PropertyConditionFlags) -> ::windows::runtime::Result<IUIAutomationCondition> {
6390         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6391         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6392     }
6393     pub unsafe fn CreateAndCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
6394         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6395         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6396     }
6397     #[cfg(feature = "Win32_System_Com")]
6398     pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
6399         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6400         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6401     }
6402     pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
6403         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6404         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6405     }
6406     pub unsafe fn CreateOrCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
6407         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6408         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6409     }
6410     #[cfg(feature = "Win32_System_Com")]
6411     pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
6412         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6413         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6414     }
6415     pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
6416         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6417         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6418     }
6419     pub unsafe fn CreateNotCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition: Param0) -> ::windows::runtime::Result<IUIAutomationCondition> {
6420         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6421         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6422     }
6423     pub unsafe fn AddAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, scope: TreeScope, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
6424         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6425     }
6426     pub unsafe fn RemoveAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
6427         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), handler.into_param().abi()).ok()
6428     }
6429     pub unsafe fn AddPropertyChangedEventHandlerNativeArray<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::Result<()> {
6430         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
6431     }
6432     #[cfg(feature = "Win32_System_Com")]
6433     pub unsafe fn AddPropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6434         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray)).ok()
6435     }
6436     pub unsafe fn RemovePropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6437         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6438     }
6439     pub unsafe fn AddStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
6440         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6441     }
6442     pub unsafe fn RemoveStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6443         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6444     }
6445     pub unsafe fn AddFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, cacherequest: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6446         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6447     }
6448     pub unsafe fn RemoveFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
6449         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
6450     }
6451     pub unsafe fn RemoveAllEventHandlers(&self) -> ::windows::runtime::Result<()> {
6452         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self)).ok()
6453     }
6454     #[cfg(feature = "Win32_System_Com")]
6455     pub unsafe fn IntNativeArrayToSafeArray(&self, array: *const i32, arraycount: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
6456         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6457         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(array), ::std::mem::transmute(arraycount), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
6458     }
6459     #[cfg(feature = "Win32_System_Com")]
6460     pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::Result<()> {
6461         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(intarray), ::std::mem::transmute(array), ::std::mem::transmute(arraycount)).ok()
6462     }
6463     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6464     pub unsafe fn RectToVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rc: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6465         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6466         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), rc.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6467     }
6468     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6469     pub unsafe fn VariantToRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, var: Param0) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
6470         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6471         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), var.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
6472     }
6473     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6474     pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::Result<()> {
6475         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(rects), ::std::mem::transmute(rectarray), ::std::mem::transmute(rectarraycount)).ok()
6476     }
6477     pub unsafe fn CreateProxyFactoryEntry<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationProxyFactory>>(&self, factory: Param0) -> ::windows::runtime::Result<IUIAutomationProxyFactoryEntry> {
6478         let mut result__: <IUIAutomationProxyFactoryEntry as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6479         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), factory.into_param().abi(), &mut result__).from_abi::<IUIAutomationProxyFactoryEntry>(result__)
6480     }
6481     pub unsafe fn ProxyFactoryMapping(&self) -> ::windows::runtime::Result<IUIAutomationProxyFactoryMapping> {
6482         let mut result__: <IUIAutomationProxyFactoryMapping as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6483         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationProxyFactoryMapping>(result__)
6484     }
6485     #[cfg(feature = "Win32_Foundation")]
6486     pub unsafe fn GetPropertyProgrammaticName(&self, property: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6487         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6488         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), ::std::mem::transmute(property), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6489     }
6490     #[cfg(feature = "Win32_Foundation")]
6491     pub unsafe fn GetPatternProgrammaticName(&self, pattern: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6492         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6493         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(pattern), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6494     }
6495     #[cfg(feature = "Win32_System_Com")]
6496     pub unsafe fn PollForPotentialSupportedPatterns<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6497         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(patternids), ::std::mem::transmute(patternnames)).ok()
6498     }
6499     #[cfg(feature = "Win32_System_Com")]
6500     pub unsafe fn PollForPotentialSupportedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6501         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(propertyids), ::std::mem::transmute(propertynames)).ok()
6502     }
6503     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6504     pub unsafe fn CheckNotSupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6505         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6506         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6507     }
6508     pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6509         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6510         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6511     }
6512     pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6513         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6514         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6515     }
6516     pub unsafe fn ElementFromIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(&self, accessible: Param0, childid: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
6517         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6518         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), &mut result__).from_abi::<IUIAutomationElement>(result__)
6519     }
6520     pub unsafe fn ElementFromIAccessibleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, accessible: Param0, childid: i32, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
6521         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6522         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6523     }
6524     #[cfg(feature = "Win32_Foundation")]
6525     pub unsafe fn AutoSetFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6526         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6527         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6528     }
6529     #[cfg(feature = "Win32_Foundation")]
6530     pub unsafe fn SetAutoSetFocus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, autosetfocus: Param0) -> ::windows::runtime::Result<()> {
6531         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), autosetfocus.into_param().abi()).ok()
6532     }
6533     pub unsafe fn ConnectionTimeout(&self) -> ::windows::runtime::Result<u32> {
6534         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6535         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6536     }
6537     pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
6538         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
6539     }
6540     pub unsafe fn TransactionTimeout(&self) -> ::windows::runtime::Result<u32> {
6541         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6542         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6543     }
6544     pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
6545         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
6546     }
6547     pub unsafe fn AddTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
6548         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), ::std::mem::transmute(texteditchangetype), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6549     }
6550     pub unsafe fn RemoveTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6551         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6552     }
6553     pub unsafe fn AddChangesEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param5: ::windows::runtime::IntoParam<'a, IUIAutomationChangesEventHandler>>(&self, element: Param0, scope: TreeScope, changetypes: *const i32, changescount: i32, pcacherequest: Param4, handler: Param5) -> ::windows::runtime::Result<()> {
6554         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), ::std::mem::transmute(changetypes), ::std::mem::transmute(changescount), pcacherequest.into_param().abi(), handler.into_param().abi()).ok()
6555     }
6556     pub unsafe fn RemoveChangesEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationChangesEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6557         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6558     }
6559     pub unsafe fn AddNotificationEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationNotificationEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
6560         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6561     }
6562     pub unsafe fn RemoveNotificationEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationNotificationEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6563         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6564     }
6565 }
6566 unsafe impl ::windows::runtime::Interface for IUIAutomation5 {
6567     type Vtable = IUIAutomation5_abi;
6568     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(636944584, 55318, 16471, [169, 220, 60, 189, 238, 119, 226, 86]);
6569 }
6570 impl ::std::convert::From<IUIAutomation5> for ::windows::runtime::IUnknown {
6571     fn from(value: IUIAutomation5) -> Self {
6572         unsafe { ::std::mem::transmute(value) }
6573     }
6574 }
6575 impl ::std::convert::From<&IUIAutomation5> for ::windows::runtime::IUnknown {
6576     fn from(value: &IUIAutomation5) -> Self {
6577         ::std::convert::From::from(::std::clone::Clone::clone(value))
6578     }
6579 }
6580 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomation5 {
6581     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6582         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6583     }
6584 }
6585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomation5 {
6586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6587         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6588     }
6589 }
6590 impl ::std::convert::From<IUIAutomation5> for IUIAutomation4 {
6591     fn from(value: IUIAutomation5) -> Self {
6592         unsafe { ::std::mem::transmute(value) }
6593     }
6594 }
6595 impl ::std::convert::From<&IUIAutomation5> for IUIAutomation4 {
6596     fn from(value: &IUIAutomation5) -> Self {
6597         ::std::convert::From::from(::std::clone::Clone::clone(value))
6598     }
6599 }
6600 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation4> for IUIAutomation5 {
6601     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation4> {
6602         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation4>::into(self))
6603     }
6604 }
6605 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation4> for &IUIAutomation5 {
6606     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation4> {
6607         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation4>::into(::std::clone::Clone::clone(self)))
6608     }
6609 }
6610 impl ::std::convert::From<IUIAutomation5> for IUIAutomation3 {
6611     fn from(value: IUIAutomation5) -> Self {
6612         unsafe { ::std::mem::transmute(value) }
6613     }
6614 }
6615 impl ::std::convert::From<&IUIAutomation5> for IUIAutomation3 {
6616     fn from(value: &IUIAutomation5) -> Self {
6617         ::std::convert::From::from(::std::clone::Clone::clone(value))
6618     }
6619 }
6620 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation3> for IUIAutomation5 {
6621     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation3> {
6622         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation3>::into(self))
6623     }
6624 }
6625 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation3> for &IUIAutomation5 {
6626     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation3> {
6627         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation3>::into(::std::clone::Clone::clone(self)))
6628     }
6629 }
6630 impl ::std::convert::From<IUIAutomation5> for IUIAutomation2 {
6631     fn from(value: IUIAutomation5) -> Self {
6632         unsafe { ::std::mem::transmute(value) }
6633     }
6634 }
6635 impl ::std::convert::From<&IUIAutomation5> for IUIAutomation2 {
6636     fn from(value: &IUIAutomation5) -> Self {
6637         ::std::convert::From::from(::std::clone::Clone::clone(value))
6638     }
6639 }
6640 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for IUIAutomation5 {
6641     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
6642         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(self))
6643     }
6644 }
6645 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for &IUIAutomation5 {
6646     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
6647         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(::std::clone::Clone::clone(self)))
6648     }
6649 }
6650 impl ::std::convert::From<IUIAutomation5> for IUIAutomation {
6651     fn from(value: IUIAutomation5) -> Self {
6652         unsafe { ::std::mem::transmute(value) }
6653     }
6654 }
6655 impl ::std::convert::From<&IUIAutomation5> for IUIAutomation {
6656     fn from(value: &IUIAutomation5) -> Self {
6657         ::std::convert::From::from(::std::clone::Clone::clone(value))
6658     }
6659 }
6660 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for IUIAutomation5 {
6661     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
6662         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(self))
6663     }
6664 }
6665 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for &IUIAutomation5 {
6666     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
6667         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(::std::clone::Clone::clone(self)))
6668     }
6669 }
6670 #[repr(C)]
6671 #[doc(hidden)]
6672 pub struct IUIAutomation5_abi(
6673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6676     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, el1: ::windows::runtime::RawPtr, el2: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6677     #[cfg(not(feature = "Win32_Foundation"))] usize,
6678     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6679     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6681     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6682     #[cfg(not(feature = "Win32_Foundation"))] usize,
6683     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6684     #[cfg(not(feature = "Win32_Foundation"))] usize,
6685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6687     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6688     #[cfg(not(feature = "Win32_Foundation"))] usize,
6689     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6690     #[cfg(not(feature = "Win32_Foundation"))] usize,
6691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcondition: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6702     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6703     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6704     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, flags: PropertyConditionFlags, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6705     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6707     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6708     #[cfg(not(feature = "Win32_System_Com"))] usize,
6709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6711     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6712     #[cfg(not(feature = "Win32_System_Com"))] usize,
6713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::HRESULT,
6718     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6719     #[cfg(not(feature = "Win32_System_Com"))] usize,
6720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6726     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, array: *const i32, arraycount: i32, safearray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6727     #[cfg(not(feature = "Win32_System_Com"))] usize,
6728     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::HRESULT,
6729     #[cfg(not(feature = "Win32_System_Com"))] usize,
6730     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rc: super::super::Foundation::RECT, var: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
6731     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6732     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, rc: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
6733     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6734     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::HRESULT,
6735     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
6736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factory: ::windows::runtime::RawPtr, factoryentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factorymapping: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6738     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6739     #[cfg(not(feature = "Win32_Foundation"))] usize,
6740     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pattern: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6741     #[cfg(not(feature = "Win32_Foundation"))] usize,
6742     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6743     #[cfg(not(feature = "Win32_System_Com"))] usize,
6744     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
6745     #[cfg(not(feature = "Win32_System_Com"))] usize,
6746     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, isnotsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6747     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notsupportedvalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mixedattributevalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6752     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6753     #[cfg(not(feature = "Win32_Foundation"))] usize,
6754     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6755     #[cfg(not(feature = "Win32_Foundation"))] usize,
6756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
6757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
6758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
6759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
6760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, changetypes: *const i32, changescount: i32, pcacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6766 );
6767 #[repr(transparent)]
6768 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6769 pub struct IUIAutomation6(::windows::runtime::IUnknown);
6770 impl IUIAutomation6 {
6771     #[cfg(feature = "Win32_Foundation")]
6772     pub unsafe fn CompareElements<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, el1: Param0, el2: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6773         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6774         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), el1.into_param().abi(), el2.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6775     }
6776     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6777     pub unsafe fn CompareRuntimeIds(&self, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6778         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6779         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(runtimeid1), ::std::mem::transmute(runtimeid2), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6780     }
6781     pub unsafe fn GetRootElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
6782         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6783         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
6784     }
6785     #[cfg(feature = "Win32_Foundation")]
6786     pub unsafe fn ElementFromHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6787         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6788         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6789     }
6790     #[cfg(feature = "Win32_Foundation")]
6791     pub unsafe fn ElementFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6792         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6793         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6794     }
6795     pub unsafe fn GetFocusedElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
6796         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6797         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
6798     }
6799     pub unsafe fn GetRootElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6800         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6801         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6802     }
6803     #[cfg(feature = "Win32_Foundation")]
6804     pub unsafe fn ElementFromHandleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, hwnd: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
6805         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6806         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6807     }
6808     #[cfg(feature = "Win32_Foundation")]
6809     pub unsafe fn ElementFromPointBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, pt: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
6810         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6811         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pt.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6812     }
6813     pub unsafe fn GetFocusedElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
6814         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6815         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6816     }
6817     pub unsafe fn CreateTreeWalker<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, pcondition: Param0) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6818         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6819         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pcondition.into_param().abi(), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6820     }
6821     pub unsafe fn ControlViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6822         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6823         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6824     }
6825     pub unsafe fn ContentViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6826         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6827         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6828     }
6829     pub unsafe fn RawViewWalker(&self) -> ::windows::runtime::Result<IUIAutomationTreeWalker> {
6830         let mut result__: <IUIAutomationTreeWalker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6831         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTreeWalker>(result__)
6832     }
6833     pub unsafe fn RawViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6834         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6835         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6836     }
6837     pub unsafe fn ControlViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6838         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6839         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6840     }
6841     pub unsafe fn ContentViewCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6842         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6843         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6844     }
6845     pub unsafe fn CreateCacheRequest(&self) -> ::windows::runtime::Result<IUIAutomationCacheRequest> {
6846         let mut result__: <IUIAutomationCacheRequest as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6847         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCacheRequest>(result__)
6848     }
6849     pub unsafe fn CreateTrueCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6850         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6851         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6852     }
6853     pub unsafe fn CreateFalseCondition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
6854         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6855         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6856     }
6857     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6858     pub unsafe fn CreatePropertyCondition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
6859         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6860         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6861     }
6862     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6863     pub unsafe fn CreatePropertyConditionEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, propertyid: i32, value: Param1, flags: PropertyConditionFlags) -> ::windows::runtime::Result<IUIAutomationCondition> {
6864         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6865         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), value.into_param().abi(), ::std::mem::transmute(flags), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6866     }
6867     pub unsafe fn CreateAndCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
6868         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6869         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6870     }
6871     #[cfg(feature = "Win32_System_Com")]
6872     pub unsafe fn CreateAndConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
6873         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6874         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6875     }
6876     pub unsafe fn CreateAndConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
6877         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6878         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6879     }
6880     pub unsafe fn CreateOrCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition1: Param0, condition2: Param1) -> ::windows::runtime::Result<IUIAutomationCondition> {
6881         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6882         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), condition1.into_param().abi(), condition2.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6883     }
6884     #[cfg(feature = "Win32_System_Com")]
6885     pub unsafe fn CreateOrConditionFromArray(&self, conditions: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<IUIAutomationCondition> {
6886         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6887         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6888     }
6889     pub unsafe fn CreateOrConditionFromNativeArray(&self, conditions: *const ::std::option::Option<IUIAutomationCondition>, conditioncount: i32) -> ::windows::runtime::Result<IUIAutomationCondition> {
6890         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6891         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(conditions), ::std::mem::transmute(conditioncount), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6892     }
6893     pub unsafe fn CreateNotCondition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, condition: Param0) -> ::windows::runtime::Result<IUIAutomationCondition> {
6894         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6895         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationCondition>(result__)
6896     }
6897     pub unsafe fn AddAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, scope: TreeScope, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
6898         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6899     }
6900     pub unsafe fn RemoveAutomationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, element: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
6901         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), element.into_param().abi(), handler.into_param().abi()).ok()
6902     }
6903     pub unsafe fn AddPropertyChangedEventHandlerNativeArray<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::Result<()> {
6904         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
6905     }
6906     #[cfg(feature = "Win32_System_Com")]
6907     pub unsafe fn AddPropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6908         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray)).ok()
6909     }
6910     pub unsafe fn RemovePropertyChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6911         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6912     }
6913     pub unsafe fn AddStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
6914         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6915     }
6916     pub unsafe fn RemoveStructureChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6917         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
6918     }
6919     pub unsafe fn AddFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, cacherequest: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
6920         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
6921     }
6922     pub unsafe fn RemoveFocusChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationFocusChangedEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
6923         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
6924     }
6925     pub unsafe fn RemoveAllEventHandlers(&self) -> ::windows::runtime::Result<()> {
6926         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self)).ok()
6927     }
6928     #[cfg(feature = "Win32_System_Com")]
6929     pub unsafe fn IntNativeArrayToSafeArray(&self, array: *const i32, arraycount: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
6930         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6931         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(array), ::std::mem::transmute(arraycount), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
6932     }
6933     #[cfg(feature = "Win32_System_Com")]
6934     pub unsafe fn IntSafeArrayToNativeArray(&self, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::Result<()> {
6935         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(intarray), ::std::mem::transmute(array), ::std::mem::transmute(arraycount)).ok()
6936     }
6937     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6938     pub unsafe fn RectToVariant<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::RECT>>(&self, rc: Param0) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
6939         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6940         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), rc.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
6941     }
6942     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6943     pub unsafe fn VariantToRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, var: Param0) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
6944         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6945         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), var.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
6946     }
6947     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6948     pub unsafe fn SafeArrayToRectNativeArray(&self, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::Result<()> {
6949         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(rects), ::std::mem::transmute(rectarray), ::std::mem::transmute(rectarraycount)).ok()
6950     }
6951     pub unsafe fn CreateProxyFactoryEntry<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationProxyFactory>>(&self, factory: Param0) -> ::windows::runtime::Result<IUIAutomationProxyFactoryEntry> {
6952         let mut result__: <IUIAutomationProxyFactoryEntry as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6953         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), factory.into_param().abi(), &mut result__).from_abi::<IUIAutomationProxyFactoryEntry>(result__)
6954     }
6955     pub unsafe fn ProxyFactoryMapping(&self) -> ::windows::runtime::Result<IUIAutomationProxyFactoryMapping> {
6956         let mut result__: <IUIAutomationProxyFactoryMapping as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6957         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationProxyFactoryMapping>(result__)
6958     }
6959     #[cfg(feature = "Win32_Foundation")]
6960     pub unsafe fn GetPropertyProgrammaticName(&self, property: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6961         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6962         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), ::std::mem::transmute(property), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6963     }
6964     #[cfg(feature = "Win32_Foundation")]
6965     pub unsafe fn GetPatternProgrammaticName(&self, pattern: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6966         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6967         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), ::std::mem::transmute(pattern), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6968     }
6969     #[cfg(feature = "Win32_System_Com")]
6970     pub unsafe fn PollForPotentialSupportedPatterns<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6971         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(patternids), ::std::mem::transmute(patternnames)).ok()
6972     }
6973     #[cfg(feature = "Win32_System_Com")]
6974     pub unsafe fn PollForPotentialSupportedProperties<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, pelement: Param0, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
6975         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), pelement.into_param().abi(), ::std::mem::transmute(propertyids), ::std::mem::transmute(propertynames)).ok()
6976     }
6977     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6978     pub unsafe fn CheckNotSupported<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
6979         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6980         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
6981     }
6982     pub unsafe fn ReservedNotSupportedValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6983         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6984         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6985     }
6986     pub unsafe fn ReservedMixedAttributeValue(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
6987         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6988         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
6989     }
6990     pub unsafe fn ElementFromIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(&self, accessible: Param0, childid: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
6991         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6992         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), &mut result__).from_abi::<IUIAutomationElement>(result__)
6993     }
6994     pub unsafe fn ElementFromIAccessibleBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, accessible: Param0, childid: i32, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
6995         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6996         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), accessible.into_param().abi(), ::std::mem::transmute(childid), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
6997     }
6998     #[cfg(feature = "Win32_Foundation")]
6999     pub unsafe fn AutoSetFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
7000         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7001         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
7002     }
7003     #[cfg(feature = "Win32_Foundation")]
7004     pub unsafe fn SetAutoSetFocus<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, autosetfocus: Param0) -> ::windows::runtime::Result<()> {
7005         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), autosetfocus.into_param().abi()).ok()
7006     }
7007     pub unsafe fn ConnectionTimeout(&self) -> ::windows::runtime::Result<u32> {
7008         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7009         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7010     }
7011     pub unsafe fn SetConnectionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
7012         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
7013     }
7014     pub unsafe fn TransactionTimeout(&self) -> ::windows::runtime::Result<u32> {
7015         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7016         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7017     }
7018     pub unsafe fn SetTransactionTimeout(&self, timeout: u32) -> ::windows::runtime::Result<()> {
7019         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
7020     }
7021     pub unsafe fn AddTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
7022         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), ::std::mem::transmute(texteditchangetype), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
7023     }
7024     pub unsafe fn RemoveTextEditTextChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
7025         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
7026     }
7027     pub unsafe fn AddChangesEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param5: ::windows::runtime::IntoParam<'a, IUIAutomationChangesEventHandler>>(&self, element: Param0, scope: TreeScope, changetypes: *const i32, changescount: i32, pcacherequest: Param4, handler: Param5) -> ::windows::runtime::Result<()> {
7028         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), ::std::mem::transmute(changetypes), ::std::mem::transmute(changescount), pcacherequest.into_param().abi(), handler.into_param().abi()).ok()
7029     }
7030     pub unsafe fn RemoveChangesEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationChangesEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
7031         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
7032     }
7033     pub unsafe fn AddNotificationEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationNotificationEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
7034         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
7035     }
7036     pub unsafe fn RemoveNotificationEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationNotificationEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
7037         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
7038     }
7039     pub unsafe fn CreateEventHandlerGroup(&self) -> ::windows::runtime::Result<IUIAutomationEventHandlerGroup> {
7040         let mut result__: <IUIAutomationEventHandlerGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7041         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationEventHandlerGroup>(result__)
7042     }
7043     pub unsafe fn AddEventHandlerGroup<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandlerGroup>>(&self, element: Param0, handlergroup: Param1) -> ::windows::runtime::Result<()> {
7044         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), element.into_param().abi(), handlergroup.into_param().abi()).ok()
7045     }
7046     pub unsafe fn RemoveEventHandlerGroup<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandlerGroup>>(&self, element: Param0, handlergroup: Param1) -> ::windows::runtime::Result<()> {
7047         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), element.into_param().abi(), handlergroup.into_param().abi()).ok()
7048     }
7049     pub unsafe fn ConnectionRecoveryBehavior(&self) -> ::windows::runtime::Result<ConnectionRecoveryBehaviorOptions> {
7050         let mut result__: <ConnectionRecoveryBehaviorOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7051         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ConnectionRecoveryBehaviorOptions>(result__)
7052     }
7053     pub unsafe fn SetConnectionRecoveryBehavior(&self, connectionrecoverybehavioroptions: ConnectionRecoveryBehaviorOptions) -> ::windows::runtime::Result<()> {
7054         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), ::std::mem::transmute(connectionrecoverybehavioroptions)).ok()
7055     }
7056     pub unsafe fn CoalesceEvents(&self) -> ::windows::runtime::Result<CoalesceEventsOptions> {
7057         let mut result__: <CoalesceEventsOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7058         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<CoalesceEventsOptions>(result__)
7059     }
7060     pub unsafe fn SetCoalesceEvents(&self, coalesceeventsoptions: CoalesceEventsOptions) -> ::windows::runtime::Result<()> {
7061         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), ::std::mem::transmute(coalesceeventsoptions)).ok()
7062     }
7063     pub unsafe fn AddActiveTextPositionChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationActiveTextPositionChangedEventHandler>>(&self, element: Param0, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
7064         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), element.into_param().abi(), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
7065     }
7066     pub unsafe fn RemoveActiveTextPositionChangedEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationActiveTextPositionChangedEventHandler>>(&self, element: Param0, handler: Param1) -> ::windows::runtime::Result<()> {
7067         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), element.into_param().abi(), handler.into_param().abi()).ok()
7068     }
7069 }
7070 unsafe impl ::windows::runtime::Interface for IUIAutomation6 {
7071     type Vtable = IUIAutomation6_abi;
7072     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2866836186, 10723, 16701, [135, 167, 25, 45, 191, 129, 237, 16]);
7073 }
7074 impl ::std::convert::From<IUIAutomation6> for ::windows::runtime::IUnknown {
7075     fn from(value: IUIAutomation6) -> Self {
7076         unsafe { ::std::mem::transmute(value) }
7077     }
7078 }
7079 impl ::std::convert::From<&IUIAutomation6> for ::windows::runtime::IUnknown {
7080     fn from(value: &IUIAutomation6) -> Self {
7081         ::std::convert::From::from(::std::clone::Clone::clone(value))
7082     }
7083 }
7084 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomation6 {
7085     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7086         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7087     }
7088 }
7089 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomation6 {
7090     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7091         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7092     }
7093 }
7094 impl ::std::convert::From<IUIAutomation6> for IUIAutomation5 {
7095     fn from(value: IUIAutomation6) -> Self {
7096         unsafe { ::std::mem::transmute(value) }
7097     }
7098 }
7099 impl ::std::convert::From<&IUIAutomation6> for IUIAutomation5 {
7100     fn from(value: &IUIAutomation6) -> Self {
7101         ::std::convert::From::from(::std::clone::Clone::clone(value))
7102     }
7103 }
7104 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation5> for IUIAutomation6 {
7105     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation5> {
7106         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation5>::into(self))
7107     }
7108 }
7109 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation5> for &IUIAutomation6 {
7110     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation5> {
7111         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation5>::into(::std::clone::Clone::clone(self)))
7112     }
7113 }
7114 impl ::std::convert::From<IUIAutomation6> for IUIAutomation4 {
7115     fn from(value: IUIAutomation6) -> Self {
7116         unsafe { ::std::mem::transmute(value) }
7117     }
7118 }
7119 impl ::std::convert::From<&IUIAutomation6> for IUIAutomation4 {
7120     fn from(value: &IUIAutomation6) -> Self {
7121         ::std::convert::From::from(::std::clone::Clone::clone(value))
7122     }
7123 }
7124 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation4> for IUIAutomation6 {
7125     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation4> {
7126         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation4>::into(self))
7127     }
7128 }
7129 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation4> for &IUIAutomation6 {
7130     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation4> {
7131         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation4>::into(::std::clone::Clone::clone(self)))
7132     }
7133 }
7134 impl ::std::convert::From<IUIAutomation6> for IUIAutomation3 {
7135     fn from(value: IUIAutomation6) -> Self {
7136         unsafe { ::std::mem::transmute(value) }
7137     }
7138 }
7139 impl ::std::convert::From<&IUIAutomation6> for IUIAutomation3 {
7140     fn from(value: &IUIAutomation6) -> Self {
7141         ::std::convert::From::from(::std::clone::Clone::clone(value))
7142     }
7143 }
7144 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation3> for IUIAutomation6 {
7145     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation3> {
7146         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation3>::into(self))
7147     }
7148 }
7149 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation3> for &IUIAutomation6 {
7150     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation3> {
7151         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation3>::into(::std::clone::Clone::clone(self)))
7152     }
7153 }
7154 impl ::std::convert::From<IUIAutomation6> for IUIAutomation2 {
7155     fn from(value: IUIAutomation6) -> Self {
7156         unsafe { ::std::mem::transmute(value) }
7157     }
7158 }
7159 impl ::std::convert::From<&IUIAutomation6> for IUIAutomation2 {
7160     fn from(value: &IUIAutomation6) -> Self {
7161         ::std::convert::From::from(::std::clone::Clone::clone(value))
7162     }
7163 }
7164 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for IUIAutomation6 {
7165     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
7166         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(self))
7167     }
7168 }
7169 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation2> for &IUIAutomation6 {
7170     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation2> {
7171         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation2>::into(::std::clone::Clone::clone(self)))
7172     }
7173 }
7174 impl ::std::convert::From<IUIAutomation6> for IUIAutomation {
7175     fn from(value: IUIAutomation6) -> Self {
7176         unsafe { ::std::mem::transmute(value) }
7177     }
7178 }
7179 impl ::std::convert::From<&IUIAutomation6> for IUIAutomation {
7180     fn from(value: &IUIAutomation6) -> Self {
7181         ::std::convert::From::from(::std::clone::Clone::clone(value))
7182     }
7183 }
7184 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for IUIAutomation6 {
7185     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
7186         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(self))
7187     }
7188 }
7189 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomation> for &IUIAutomation6 {
7190     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomation> {
7191         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomation>::into(::std::clone::Clone::clone(self)))
7192     }
7193 }
7194 #[repr(C)]
7195 #[doc(hidden)]
7196 pub struct IUIAutomation6_abi(
7197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7200     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, el1: ::windows::runtime::RawPtr, el2: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7201     #[cfg(not(feature = "Win32_Foundation"))] usize,
7202     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid1: *const super::super::System::Com::SAFEARRAY, runtimeid2: *const super::super::System::Com::SAFEARRAY, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7203     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
7204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7205     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7206     #[cfg(not(feature = "Win32_Foundation"))] usize,
7207     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7208     #[cfg(not(feature = "Win32_Foundation"))] usize,
7209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, root: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7211     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7212     #[cfg(not(feature = "Win32_Foundation"))] usize,
7213     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7214     #[cfg(not(feature = "Win32_Foundation"))] usize,
7215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcondition: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, walker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7226     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7227     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7228     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, flags: PropertyConditionFlags, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7229     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7231     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7232     #[cfg(not(feature = "Win32_System_Com"))] usize,
7233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition1: ::windows::runtime::RawPtr, condition2: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7235     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const super::super::System::Com::SAFEARRAY, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7236     #[cfg(not(feature = "Win32_System_Com"))] usize,
7237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditions: *const ::windows::runtime::RawPtr, conditioncount: i32, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: ::windows::runtime::RawPtr, newcondition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::HRESULT,
7242     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7243     #[cfg(not(feature = "Win32_System_Com"))] usize,
7244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7250     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, array: *const i32, arraycount: i32, safearray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7251     #[cfg(not(feature = "Win32_System_Com"))] usize,
7252     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, intarray: *const super::super::System::Com::SAFEARRAY, array: *mut *mut i32, arraycount: *mut i32) -> ::windows::runtime::HRESULT,
7253     #[cfg(not(feature = "Win32_System_Com"))] usize,
7254     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rc: super::super::Foundation::RECT, var: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
7255     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7256     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, var: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, rc: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
7257     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7258     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rects: *const super::super::System::Com::SAFEARRAY, rectarray: *mut *mut super::super::Foundation::RECT, rectarraycount: *mut i32) -> ::windows::runtime::HRESULT,
7259     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
7260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factory: ::windows::runtime::RawPtr, factoryentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factorymapping: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7262     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7263     #[cfg(not(feature = "Win32_Foundation"))] usize,
7264     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pattern: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7265     #[cfg(not(feature = "Win32_Foundation"))] usize,
7266     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, patternids: *mut *mut super::super::System::Com::SAFEARRAY, patternnames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7267     #[cfg(not(feature = "Win32_System_Com"))] usize,
7268     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelement: ::windows::runtime::RawPtr, propertyids: *mut *mut super::super::System::Com::SAFEARRAY, propertynames: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7269     #[cfg(not(feature = "Win32_System_Com"))] usize,
7270     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, isnotsupported: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7271     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, notsupportedvalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mixedattributevalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessible: ::windows::runtime::RawPtr, childid: i32, cacherequest: ::windows::runtime::RawPtr, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7277     #[cfg(not(feature = "Win32_Foundation"))] usize,
7278     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, autosetfocus: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7279     #[cfg(not(feature = "Win32_Foundation"))] usize,
7280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
7281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
7282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: *mut u32) -> ::windows::runtime::HRESULT,
7283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
7284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, changetypes: *const i32, changescount: i32, pcacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handlergroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handlergroup: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handlergroup: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, connectionrecoverybehavioroptions: *mut ConnectionRecoveryBehaviorOptions) -> ::windows::runtime::HRESULT,
7294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, connectionrecoverybehavioroptions: ConnectionRecoveryBehaviorOptions) -> ::windows::runtime::HRESULT,
7295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coalesceeventsoptions: *mut CoalesceEventsOptions) -> ::windows::runtime::HRESULT,
7296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coalesceeventsoptions: CoalesceEventsOptions) -> ::windows::runtime::HRESULT,
7297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7299 );
7300 #[repr(transparent)]
7301 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7302 pub struct IUIAutomationActiveTextPositionChangedEventHandler(::windows::runtime::IUnknown);
7303 impl IUIAutomationActiveTextPositionChangedEventHandler {
7304     pub unsafe fn HandleActiveTextPositionChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, sender: Param0, range: Param1) -> ::windows::runtime::Result<()> {
7305         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), range.into_param().abi()).ok()
7306     }
7307 }
7308 unsafe impl ::windows::runtime::Interface for IUIAutomationActiveTextPositionChangedEventHandler {
7309     type Vtable = IUIAutomationActiveTextPositionChangedEventHandler_abi;
7310     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4185469872, 36270, 17558, [137, 151, 91, 160, 21, 254, 13, 130]);
7311 }
7312 impl ::std::convert::From<IUIAutomationActiveTextPositionChangedEventHandler> for ::windows::runtime::IUnknown {
7313     fn from(value: IUIAutomationActiveTextPositionChangedEventHandler) -> Self {
7314         unsafe { ::std::mem::transmute(value) }
7315     }
7316 }
7317 impl ::std::convert::From<&IUIAutomationActiveTextPositionChangedEventHandler> for ::windows::runtime::IUnknown {
7318     fn from(value: &IUIAutomationActiveTextPositionChangedEventHandler) -> Self {
7319         ::std::convert::From::from(::std::clone::Clone::clone(value))
7320     }
7321 }
7322 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationActiveTextPositionChangedEventHandler {
7323     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7324         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7325     }
7326 }
7327 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationActiveTextPositionChangedEventHandler {
7328     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7329         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7330     }
7331 }
7332 #[repr(C)]
7333 #[doc(hidden)]
7334 pub struct IUIAutomationActiveTextPositionChangedEventHandler_abi(
7335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7339 );
7340 #[repr(transparent)]
7341 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7342 pub struct IUIAutomationAndCondition(::windows::runtime::IUnknown);
7343 impl IUIAutomationAndCondition {
7344     pub unsafe fn ChildCount(&self) -> ::windows::runtime::Result<i32> {
7345         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7346         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7347     }
7348     pub unsafe fn GetChildrenAsNativeArray(&self, childarray: *mut *mut ::std::option::Option<IUIAutomationCondition>, childarraycount: *mut i32) -> ::windows::runtime::Result<()> {
7349         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(childarray), ::std::mem::transmute(childarraycount)).ok()
7350     }
7351     #[cfg(feature = "Win32_System_Com")]
7352     pub unsafe fn GetChildren(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7353         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7354         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7355     }
7356 }
7357 unsafe impl ::windows::runtime::Interface for IUIAutomationAndCondition {
7358     type Vtable = IUIAutomationAndCondition_abi;
7359     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2815471414, 47378, 17918, [152, 85, 9, 29, 220, 23, 74, 236]);
7360 }
7361 impl ::std::convert::From<IUIAutomationAndCondition> for ::windows::runtime::IUnknown {
7362     fn from(value: IUIAutomationAndCondition) -> Self {
7363         unsafe { ::std::mem::transmute(value) }
7364     }
7365 }
7366 impl ::std::convert::From<&IUIAutomationAndCondition> for ::windows::runtime::IUnknown {
7367     fn from(value: &IUIAutomationAndCondition) -> Self {
7368         ::std::convert::From::from(::std::clone::Clone::clone(value))
7369     }
7370 }
7371 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationAndCondition {
7372     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7373         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7374     }
7375 }
7376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationAndCondition {
7377     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7378         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7379     }
7380 }
7381 impl ::std::convert::From<IUIAutomationAndCondition> for IUIAutomationCondition {
7382     fn from(value: IUIAutomationAndCondition) -> Self {
7383         unsafe { ::std::mem::transmute(value) }
7384     }
7385 }
7386 impl ::std::convert::From<&IUIAutomationAndCondition> for IUIAutomationCondition {
7387     fn from(value: &IUIAutomationAndCondition) -> Self {
7388         ::std::convert::From::from(::std::clone::Clone::clone(value))
7389     }
7390 }
7391 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for IUIAutomationAndCondition {
7392     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
7393         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(self))
7394     }
7395 }
7396 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for &IUIAutomationAndCondition {
7397     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
7398         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(::std::clone::Clone::clone(self)))
7399     }
7400 }
7401 #[repr(C)]
7402 #[doc(hidden)]
7403 pub struct IUIAutomationAndCondition_abi(
7404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childcount: *mut i32) -> ::windows::runtime::HRESULT,
7408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childarray: *mut *mut ::windows::runtime::RawPtr, childarraycount: *mut i32) -> ::windows::runtime::HRESULT,
7409     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childarray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7410     #[cfg(not(feature = "Win32_System_Com"))] usize,
7411 );
7412 #[repr(transparent)]
7413 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7414 pub struct IUIAutomationAnnotationPattern(::windows::runtime::IUnknown);
7415 impl IUIAutomationAnnotationPattern {
7416     pub unsafe fn CurrentAnnotationTypeId(&self) -> ::windows::runtime::Result<i32> {
7417         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7418         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7419     }
7420     #[cfg(feature = "Win32_Foundation")]
7421     pub unsafe fn CurrentAnnotationTypeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7422         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7423         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7424     }
7425     #[cfg(feature = "Win32_Foundation")]
7426     pub unsafe fn CurrentAuthor(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7427         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7428         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7429     }
7430     #[cfg(feature = "Win32_Foundation")]
7431     pub unsafe fn CurrentDateTime(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7432         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7433         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7434     }
7435     pub unsafe fn CurrentTarget(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
7436         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7437         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
7438     }
7439     pub unsafe fn CachedAnnotationTypeId(&self) -> ::windows::runtime::Result<i32> {
7440         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7441         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7442     }
7443     #[cfg(feature = "Win32_Foundation")]
7444     pub unsafe fn CachedAnnotationTypeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7445         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7446         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7447     }
7448     #[cfg(feature = "Win32_Foundation")]
7449     pub unsafe fn CachedAuthor(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7450         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7451         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7452     }
7453     #[cfg(feature = "Win32_Foundation")]
7454     pub unsafe fn CachedDateTime(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7455         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7456         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7457     }
7458     pub unsafe fn CachedTarget(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
7459         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7460         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
7461     }
7462 }
7463 unsafe impl ::windows::runtime::Interface for IUIAutomationAnnotationPattern {
7464     type Vtable = IUIAutomationAnnotationPattern_abi;
7465     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2585221921, 13214, 16817, [142, 139, 98, 63, 107, 104, 16, 152]);
7466 }
7467 impl ::std::convert::From<IUIAutomationAnnotationPattern> for ::windows::runtime::IUnknown {
7468     fn from(value: IUIAutomationAnnotationPattern) -> Self {
7469         unsafe { ::std::mem::transmute(value) }
7470     }
7471 }
7472 impl ::std::convert::From<&IUIAutomationAnnotationPattern> for ::windows::runtime::IUnknown {
7473     fn from(value: &IUIAutomationAnnotationPattern) -> Self {
7474         ::std::convert::From::from(::std::clone::Clone::clone(value))
7475     }
7476 }
7477 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationAnnotationPattern {
7478     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7479         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7480     }
7481 }
7482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationAnnotationPattern {
7483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7484         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7485     }
7486 }
7487 #[repr(C)]
7488 #[doc(hidden)]
7489 pub struct IUIAutomationAnnotationPattern_abi(
7490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
7494     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7495     #[cfg(not(feature = "Win32_Foundation"))] usize,
7496     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7497     #[cfg(not(feature = "Win32_Foundation"))] usize,
7498     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7499     #[cfg(not(feature = "Win32_Foundation"))] usize,
7500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
7502     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7503     #[cfg(not(feature = "Win32_Foundation"))] usize,
7504     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7505     #[cfg(not(feature = "Win32_Foundation"))] usize,
7506     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7507     #[cfg(not(feature = "Win32_Foundation"))] usize,
7508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7509 );
7510 #[repr(transparent)]
7511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7512 pub struct IUIAutomationBoolCondition(::windows::runtime::IUnknown);
7513 impl IUIAutomationBoolCondition {
7514     #[cfg(feature = "Win32_Foundation")]
7515     pub unsafe fn BooleanValue(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
7516         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7517         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
7518     }
7519 }
7520 unsafe impl ::windows::runtime::Interface for IUIAutomationBoolCondition {
7521     type Vtable = IUIAutomationBoolCondition_abi;
7522     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(458104622, 30187, 19723, [137, 82, 90, 105, 152, 142, 35, 7]);
7523 }
7524 impl ::std::convert::From<IUIAutomationBoolCondition> for ::windows::runtime::IUnknown {
7525     fn from(value: IUIAutomationBoolCondition) -> Self {
7526         unsafe { ::std::mem::transmute(value) }
7527     }
7528 }
7529 impl ::std::convert::From<&IUIAutomationBoolCondition> for ::windows::runtime::IUnknown {
7530     fn from(value: &IUIAutomationBoolCondition) -> Self {
7531         ::std::convert::From::from(::std::clone::Clone::clone(value))
7532     }
7533 }
7534 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationBoolCondition {
7535     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7536         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7537     }
7538 }
7539 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationBoolCondition {
7540     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7541         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7542     }
7543 }
7544 impl ::std::convert::From<IUIAutomationBoolCondition> for IUIAutomationCondition {
7545     fn from(value: IUIAutomationBoolCondition) -> Self {
7546         unsafe { ::std::mem::transmute(value) }
7547     }
7548 }
7549 impl ::std::convert::From<&IUIAutomationBoolCondition> for IUIAutomationCondition {
7550     fn from(value: &IUIAutomationBoolCondition) -> Self {
7551         ::std::convert::From::from(::std::clone::Clone::clone(value))
7552     }
7553 }
7554 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for IUIAutomationBoolCondition {
7555     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
7556         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(self))
7557     }
7558 }
7559 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for &IUIAutomationBoolCondition {
7560     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
7561         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(::std::clone::Clone::clone(self)))
7562     }
7563 }
7564 #[repr(C)]
7565 #[doc(hidden)]
7566 pub struct IUIAutomationBoolCondition_abi(
7567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7570     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boolval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7571     #[cfg(not(feature = "Win32_Foundation"))] usize,
7572 );
7573 #[repr(transparent)]
7574 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7575 pub struct IUIAutomationCacheRequest(::windows::runtime::IUnknown);
7576 impl IUIAutomationCacheRequest {
7577     pub unsafe fn AddProperty(&self, propertyid: i32) -> ::windows::runtime::Result<()> {
7578         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid)).ok()
7579     }
7580     pub unsafe fn AddPattern(&self, patternid: i32) -> ::windows::runtime::Result<()> {
7581         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid)).ok()
7582     }
7583     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IUIAutomationCacheRequest> {
7584         let mut result__: <IUIAutomationCacheRequest as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7585         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCacheRequest>(result__)
7586     }
7587     pub unsafe fn TreeScope(&self) -> ::windows::runtime::Result<TreeScope> {
7588         let mut result__: <TreeScope as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7589         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<TreeScope>(result__)
7590     }
7591     pub unsafe fn SetTreeScope(&self, scope: TreeScope) -> ::windows::runtime::Result<()> {
7592         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope)).ok()
7593     }
7594     pub unsafe fn TreeFilter(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
7595         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7596         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
7597     }
7598     pub unsafe fn SetTreeFilter<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, filter: Param0) -> ::windows::runtime::Result<()> {
7599         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), filter.into_param().abi()).ok()
7600     }
7601     pub unsafe fn AutomationElementMode(&self) -> ::windows::runtime::Result<AutomationElementMode> {
7602         let mut result__: <AutomationElementMode as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7603         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<AutomationElementMode>(result__)
7604     }
7605     pub unsafe fn SetAutomationElementMode(&self, mode: AutomationElementMode) -> ::windows::runtime::Result<()> {
7606         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode)).ok()
7607     }
7608 }
7609 unsafe impl ::windows::runtime::Interface for IUIAutomationCacheRequest {
7610     type Vtable = IUIAutomationCacheRequest_abi;
7611     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3005911733, 48165, 16504, [156, 8, 215, 238, 149, 196, 142, 3]);
7612 }
7613 impl ::std::convert::From<IUIAutomationCacheRequest> for ::windows::runtime::IUnknown {
7614     fn from(value: IUIAutomationCacheRequest) -> Self {
7615         unsafe { ::std::mem::transmute(value) }
7616     }
7617 }
7618 impl ::std::convert::From<&IUIAutomationCacheRequest> for ::windows::runtime::IUnknown {
7619     fn from(value: &IUIAutomationCacheRequest) -> Self {
7620         ::std::convert::From::from(::std::clone::Clone::clone(value))
7621     }
7622 }
7623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationCacheRequest {
7624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7625         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7626     }
7627 }
7628 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationCacheRequest {
7629     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7630         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7631     }
7632 }
7633 #[repr(C)]
7634 #[doc(hidden)]
7635 pub struct IUIAutomationCacheRequest_abi(
7636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32) -> ::windows::runtime::HRESULT,
7640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32) -> ::windows::runtime::HRESULT,
7641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clonedrequest: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: *mut TreeScope) -> ::windows::runtime::HRESULT,
7643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope) -> ::windows::runtime::HRESULT,
7644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filter: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filter: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: *mut AutomationElementMode) -> ::windows::runtime::HRESULT,
7647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: AutomationElementMode) -> ::windows::runtime::HRESULT,
7648 );
7649 #[repr(transparent)]
7650 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7651 pub struct IUIAutomationChangesEventHandler(::windows::runtime::IUnknown);
7652 impl IUIAutomationChangesEventHandler {
7653     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7654     pub unsafe fn HandleChangesEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, sender: Param0, uiachanges: *const UiaChangeInfo, changescount: i32) -> ::windows::runtime::Result<()> {
7655         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), ::std::mem::transmute(uiachanges), ::std::mem::transmute(changescount)).ok()
7656     }
7657 }
7658 unsafe impl ::windows::runtime::Interface for IUIAutomationChangesEventHandler {
7659     type Vtable = IUIAutomationChangesEventHandler_abi;
7660     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1491978837, 11326, 18816, [177, 185, 86, 193, 127, 39, 162, 160]);
7661 }
7662 impl ::std::convert::From<IUIAutomationChangesEventHandler> for ::windows::runtime::IUnknown {
7663     fn from(value: IUIAutomationChangesEventHandler) -> Self {
7664         unsafe { ::std::mem::transmute(value) }
7665     }
7666 }
7667 impl ::std::convert::From<&IUIAutomationChangesEventHandler> for ::windows::runtime::IUnknown {
7668     fn from(value: &IUIAutomationChangesEventHandler) -> Self {
7669         ::std::convert::From::from(::std::clone::Clone::clone(value))
7670     }
7671 }
7672 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationChangesEventHandler {
7673     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7674         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7675     }
7676 }
7677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationChangesEventHandler {
7678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7680     }
7681 }
7682 #[repr(C)]
7683 #[doc(hidden)]
7684 pub struct IUIAutomationChangesEventHandler_abi(
7685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7688     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, uiachanges: *const ::std::mem::ManuallyDrop<UiaChangeInfo>, changescount: i32) -> ::windows::runtime::HRESULT,
7689     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7690 );
7691 #[repr(transparent)]
7692 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7693 pub struct IUIAutomationCondition(::windows::runtime::IUnknown);
7694 impl IUIAutomationCondition {}
7695 unsafe impl ::windows::runtime::Interface for IUIAutomationCondition {
7696     type Vtable = IUIAutomationCondition_abi;
7697     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(892337064, 2419, 17276, [166, 31, 246, 76, 175, 216, 29, 249]);
7698 }
7699 impl ::std::convert::From<IUIAutomationCondition> for ::windows::runtime::IUnknown {
7700     fn from(value: IUIAutomationCondition) -> Self {
7701         unsafe { ::std::mem::transmute(value) }
7702     }
7703 }
7704 impl ::std::convert::From<&IUIAutomationCondition> for ::windows::runtime::IUnknown {
7705     fn from(value: &IUIAutomationCondition) -> Self {
7706         ::std::convert::From::from(::std::clone::Clone::clone(value))
7707     }
7708 }
7709 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationCondition {
7710     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7711         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7712     }
7713 }
7714 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationCondition {
7715     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7716         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7717     }
7718 }
7719 #[repr(C)]
7720 #[doc(hidden)]
7721 pub struct IUIAutomationCondition_abi(
7722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7725 );
7726 #[repr(transparent)]
7727 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7728 pub struct IUIAutomationCustomNavigationPattern(::windows::runtime::IUnknown);
7729 impl IUIAutomationCustomNavigationPattern {
7730     pub unsafe fn Navigate(&self, direction: NavigateDirection) -> ::windows::runtime::Result<IUIAutomationElement> {
7731         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7732         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(direction), &mut result__).from_abi::<IUIAutomationElement>(result__)
7733     }
7734 }
7735 unsafe impl ::windows::runtime::Interface for IUIAutomationCustomNavigationPattern {
7736     type Vtable = IUIAutomationCustomNavigationPattern_abi;
7737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(32121210, 5990, 18413, [166, 204, 172, 244, 146, 133, 75, 31]);
7738 }
7739 impl ::std::convert::From<IUIAutomationCustomNavigationPattern> for ::windows::runtime::IUnknown {
7740     fn from(value: IUIAutomationCustomNavigationPattern) -> Self {
7741         unsafe { ::std::mem::transmute(value) }
7742     }
7743 }
7744 impl ::std::convert::From<&IUIAutomationCustomNavigationPattern> for ::windows::runtime::IUnknown {
7745     fn from(value: &IUIAutomationCustomNavigationPattern) -> Self {
7746         ::std::convert::From::from(::std::clone::Clone::clone(value))
7747     }
7748 }
7749 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationCustomNavigationPattern {
7750     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7751         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7752     }
7753 }
7754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationCustomNavigationPattern {
7755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7756         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7757     }
7758 }
7759 #[repr(C)]
7760 #[doc(hidden)]
7761 pub struct IUIAutomationCustomNavigationPattern_abi(
7762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, direction: NavigateDirection, pretval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7766 );
7767 #[repr(transparent)]
7768 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7769 pub struct IUIAutomationDockPattern(::windows::runtime::IUnknown);
7770 impl IUIAutomationDockPattern {
7771     pub unsafe fn SetDockPosition(&self, dockpos: DockPosition) -> ::windows::runtime::Result<()> {
7772         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dockpos)).ok()
7773     }
7774     pub unsafe fn CurrentDockPosition(&self) -> ::windows::runtime::Result<DockPosition> {
7775         let mut result__: <DockPosition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7776         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DockPosition>(result__)
7777     }
7778     pub unsafe fn CachedDockPosition(&self) -> ::windows::runtime::Result<DockPosition> {
7779         let mut result__: <DockPosition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7780         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DockPosition>(result__)
7781     }
7782 }
7783 unsafe impl ::windows::runtime::Interface for IUIAutomationDockPattern {
7784     type Vtable = IUIAutomationDockPattern_abi;
7785     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4259704727, 5220, 18678, [144, 191, 67, 208, 148, 142, 134, 236]);
7786 }
7787 impl ::std::convert::From<IUIAutomationDockPattern> for ::windows::runtime::IUnknown {
7788     fn from(value: IUIAutomationDockPattern) -> Self {
7789         unsafe { ::std::mem::transmute(value) }
7790     }
7791 }
7792 impl ::std::convert::From<&IUIAutomationDockPattern> for ::windows::runtime::IUnknown {
7793     fn from(value: &IUIAutomationDockPattern) -> Self {
7794         ::std::convert::From::from(::std::clone::Clone::clone(value))
7795     }
7796 }
7797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationDockPattern {
7798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7799         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7800     }
7801 }
7802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationDockPattern {
7803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7804         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7805     }
7806 }
7807 #[repr(C)]
7808 #[doc(hidden)]
7809 pub struct IUIAutomationDockPattern_abi(
7810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dockpos: DockPosition) -> ::windows::runtime::HRESULT,
7814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut DockPosition) -> ::windows::runtime::HRESULT,
7815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut DockPosition) -> ::windows::runtime::HRESULT,
7816 );
7817 #[repr(transparent)]
7818 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7819 pub struct IUIAutomationDragPattern(::windows::runtime::IUnknown);
7820 impl IUIAutomationDragPattern {
7821     #[cfg(feature = "Win32_Foundation")]
7822     pub unsafe fn CurrentIsGrabbed(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
7823         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7824         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
7825     }
7826     #[cfg(feature = "Win32_Foundation")]
7827     pub unsafe fn CachedIsGrabbed(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
7828         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7829         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
7830     }
7831     #[cfg(feature = "Win32_Foundation")]
7832     pub unsafe fn CurrentDropEffect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7833         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7834         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7835     }
7836     #[cfg(feature = "Win32_Foundation")]
7837     pub unsafe fn CachedDropEffect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7838         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7839         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7840     }
7841     #[cfg(feature = "Win32_System_Com")]
7842     pub unsafe fn CurrentDropEffects(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7843         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7844         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7845     }
7846     #[cfg(feature = "Win32_System_Com")]
7847     pub unsafe fn CachedDropEffects(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7848         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7849         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7850     }
7851     pub unsafe fn GetCurrentGrabbedItems(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
7852         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7853         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
7854     }
7855     pub unsafe fn GetCachedGrabbedItems(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
7856         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7857         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
7858     }
7859 }
7860 unsafe impl ::windows::runtime::Interface for IUIAutomationDragPattern {
7861     type Vtable = IUIAutomationDragPattern_abi;
7862     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(499627376, 8020, 19373, [188, 218, 211, 106, 114, 47, 183, 189]);
7863 }
7864 impl ::std::convert::From<IUIAutomationDragPattern> for ::windows::runtime::IUnknown {
7865     fn from(value: IUIAutomationDragPattern) -> Self {
7866         unsafe { ::std::mem::transmute(value) }
7867     }
7868 }
7869 impl ::std::convert::From<&IUIAutomationDragPattern> for ::windows::runtime::IUnknown {
7870     fn from(value: &IUIAutomationDragPattern) -> Self {
7871         ::std::convert::From::from(::std::clone::Clone::clone(value))
7872     }
7873 }
7874 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationDragPattern {
7875     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7876         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7877     }
7878 }
7879 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationDragPattern {
7880     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7881         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7882     }
7883 }
7884 #[repr(C)]
7885 #[doc(hidden)]
7886 pub struct IUIAutomationDragPattern_abi(
7887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7890     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7891     #[cfg(not(feature = "Win32_Foundation"))] usize,
7892     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7893     #[cfg(not(feature = "Win32_Foundation"))] usize,
7894     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7895     #[cfg(not(feature = "Win32_Foundation"))] usize,
7896     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7897     #[cfg(not(feature = "Win32_Foundation"))] usize,
7898     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7899     #[cfg(not(feature = "Win32_System_Com"))] usize,
7900     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7901     #[cfg(not(feature = "Win32_System_Com"))] usize,
7902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7904 );
7905 #[repr(transparent)]
7906 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7907 pub struct IUIAutomationDropTargetPattern(::windows::runtime::IUnknown);
7908 impl IUIAutomationDropTargetPattern {
7909     #[cfg(feature = "Win32_Foundation")]
7910     pub unsafe fn CurrentDropTargetEffect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7911         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7912         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7913     }
7914     #[cfg(feature = "Win32_Foundation")]
7915     pub unsafe fn CachedDropTargetEffect(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7916         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7917         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7918     }
7919     #[cfg(feature = "Win32_System_Com")]
7920     pub unsafe fn CurrentDropTargetEffects(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7921         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7922         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7923     }
7924     #[cfg(feature = "Win32_System_Com")]
7925     pub unsafe fn CachedDropTargetEffects(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7926         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7927         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7928     }
7929 }
7930 unsafe impl ::windows::runtime::Interface for IUIAutomationDropTargetPattern {
7931     type Vtable = IUIAutomationDropTargetPattern_abi;
7932     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1772131831, 61156, 17166, [164, 107, 251, 115, 177, 174, 57, 165]);
7933 }
7934 impl ::std::convert::From<IUIAutomationDropTargetPattern> for ::windows::runtime::IUnknown {
7935     fn from(value: IUIAutomationDropTargetPattern) -> Self {
7936         unsafe { ::std::mem::transmute(value) }
7937     }
7938 }
7939 impl ::std::convert::From<&IUIAutomationDropTargetPattern> for ::windows::runtime::IUnknown {
7940     fn from(value: &IUIAutomationDropTargetPattern) -> Self {
7941         ::std::convert::From::from(::std::clone::Clone::clone(value))
7942     }
7943 }
7944 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationDropTargetPattern {
7945     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7946         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7947     }
7948 }
7949 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationDropTargetPattern {
7950     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7951         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7952     }
7953 }
7954 #[repr(C)]
7955 #[doc(hidden)]
7956 pub struct IUIAutomationDropTargetPattern_abi(
7957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7960     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7961     #[cfg(not(feature = "Win32_Foundation"))] usize,
7962     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7963     #[cfg(not(feature = "Win32_Foundation"))] usize,
7964     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7965     #[cfg(not(feature = "Win32_System_Com"))] usize,
7966     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7967     #[cfg(not(feature = "Win32_System_Com"))] usize,
7968 );
7969 #[repr(transparent)]
7970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7971 pub struct IUIAutomationElement(::windows::runtime::IUnknown);
7972 impl IUIAutomationElement {
7973     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
7974         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
7975     }
7976     #[cfg(feature = "Win32_System_Com")]
7977     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7978         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7979         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7980     }
7981     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
7982         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7983         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
7984     }
7985     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
7986         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7987         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
7988     }
7989     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
7990         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7991         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
7992     }
7993     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
7994         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7995         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
7996     }
7997     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
7998         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7999         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
8000     }
8001     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8002     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8003         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8004         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8005     }
8006     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8007     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8008         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8009         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8010     }
8011     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8012     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8013         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8014         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8015     }
8016     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8017     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8018         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8019         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8020     }
8021     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
8022         let mut result__ = ::std::option::Option::None;
8023         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
8024     }
8025     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
8026         let mut result__ = ::std::option::Option::None;
8027         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
8028     }
8029     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8030         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8031         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8032     }
8033     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8034         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8035         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8036     }
8037     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
8038         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8039         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
8040     }
8041     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8042         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8043         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8044     }
8045     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
8046         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8047         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8048     }
8049     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
8050         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8051         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8052     }
8053     #[cfg(feature = "Win32_Foundation")]
8054     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8055         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8056         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8057     }
8058     #[cfg(feature = "Win32_Foundation")]
8059     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8060         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8061         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8062     }
8063     #[cfg(feature = "Win32_Foundation")]
8064     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8065         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8066         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8067     }
8068     #[cfg(feature = "Win32_Foundation")]
8069     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8070         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8071         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8072     }
8073     #[cfg(feature = "Win32_Foundation")]
8074     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8075         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8076         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8077     }
8078     #[cfg(feature = "Win32_Foundation")]
8079     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8080         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8081         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8082     }
8083     #[cfg(feature = "Win32_Foundation")]
8084     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8085         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8086         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8087     }
8088     #[cfg(feature = "Win32_Foundation")]
8089     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8090         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8091         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8092     }
8093     #[cfg(feature = "Win32_Foundation")]
8094     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8095         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8096         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8097     }
8098     #[cfg(feature = "Win32_Foundation")]
8099     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8100         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8101         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8102     }
8103     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
8104         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8105         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8106     }
8107     #[cfg(feature = "Win32_Foundation")]
8108     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8109         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8110         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8111     }
8112     #[cfg(feature = "Win32_Foundation")]
8113     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8114         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8115         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8116     }
8117     #[cfg(feature = "Win32_Foundation")]
8118     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8119         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8120         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8121     }
8122     #[cfg(feature = "Win32_Foundation")]
8123     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
8124         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
8125     }
8126     #[cfg(feature = "Win32_Foundation")]
8127     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8128         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8129         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8130     }
8131     #[cfg(feature = "Win32_Foundation")]
8132     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8133         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8134         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8135     }
8136     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
8137         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8138         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
8139     }
8140     #[cfg(feature = "Win32_Foundation")]
8141     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8142         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8143         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8144     }
8145     #[cfg(feature = "Win32_Foundation")]
8146     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8147         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8148         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8149     }
8150     #[cfg(feature = "Win32_Foundation")]
8151     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8152         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8153         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8154     }
8155     #[cfg(feature = "Win32_Foundation")]
8156     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
8157         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8158         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
8159     }
8160     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
8161         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8162         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
8163     }
8164     #[cfg(feature = "Win32_Foundation")]
8165     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8166         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8167         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8168     }
8169     #[cfg(feature = "Win32_Foundation")]
8170     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8171         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8172         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8173     }
8174     #[cfg(feature = "Win32_Foundation")]
8175     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8176         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8177         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8178     }
8179     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8180         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8181         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8182     }
8183     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8184         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8185         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8186     }
8187     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8188         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8189         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8190     }
8191     #[cfg(feature = "Win32_Foundation")]
8192     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8193         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8194         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8195     }
8196     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
8197         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8198         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8199     }
8200     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
8201         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8202         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8203     }
8204     #[cfg(feature = "Win32_Foundation")]
8205     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8206         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8207         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8208     }
8209     #[cfg(feature = "Win32_Foundation")]
8210     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8211         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8212         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8213     }
8214     #[cfg(feature = "Win32_Foundation")]
8215     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8216         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8217         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8218     }
8219     #[cfg(feature = "Win32_Foundation")]
8220     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8221         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8222         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8223     }
8224     #[cfg(feature = "Win32_Foundation")]
8225     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8226         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8227         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8228     }
8229     #[cfg(feature = "Win32_Foundation")]
8230     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8231         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8232         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8233     }
8234     #[cfg(feature = "Win32_Foundation")]
8235     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8236         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8237         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8238     }
8239     #[cfg(feature = "Win32_Foundation")]
8240     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8241         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8242         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8243     }
8244     #[cfg(feature = "Win32_Foundation")]
8245     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8246         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8247         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8248     }
8249     #[cfg(feature = "Win32_Foundation")]
8250     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8251         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8252         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8253     }
8254     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
8255         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8256         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8257     }
8258     #[cfg(feature = "Win32_Foundation")]
8259     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8260         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8261         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8262     }
8263     #[cfg(feature = "Win32_Foundation")]
8264     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8265         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8266         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8267     }
8268     #[cfg(feature = "Win32_Foundation")]
8269     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8270         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8271         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8272     }
8273     #[cfg(feature = "Win32_Foundation")]
8274     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
8275         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
8276     }
8277     #[cfg(feature = "Win32_Foundation")]
8278     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8279         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8280         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8281     }
8282     #[cfg(feature = "Win32_Foundation")]
8283     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8284         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8285         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8286     }
8287     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
8288         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8289         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
8290     }
8291     #[cfg(feature = "Win32_Foundation")]
8292     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8293         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8294         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8295     }
8296     #[cfg(feature = "Win32_Foundation")]
8297     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8298         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8299         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8300     }
8301     #[cfg(feature = "Win32_Foundation")]
8302     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8303         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8304         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8305     }
8306     #[cfg(feature = "Win32_Foundation")]
8307     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
8308         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8309         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
8310     }
8311     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
8312         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8313         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
8314     }
8315     #[cfg(feature = "Win32_Foundation")]
8316     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8317         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8318         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8319     }
8320     #[cfg(feature = "Win32_Foundation")]
8321     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8322         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8323         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8324     }
8325     #[cfg(feature = "Win32_Foundation")]
8326     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8327         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8328         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8329     }
8330     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8331         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8332         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8333     }
8334     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8335         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8336         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8337     }
8338     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8339         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8340         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8341     }
8342     #[cfg(feature = "Win32_Foundation")]
8343     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8344         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8345         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8346     }
8347     #[cfg(feature = "Win32_Foundation")]
8348     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
8349         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
8350     }
8351 }
8352 unsafe impl ::windows::runtime::Interface for IUIAutomationElement {
8353     type Vtable = IUIAutomationElement_abi;
8354     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3525380266, 35525, 18853, [131, 123, 55, 187, 179, 215, 89, 30]);
8355 }
8356 impl ::std::convert::From<IUIAutomationElement> for ::windows::runtime::IUnknown {
8357     fn from(value: IUIAutomationElement) -> Self {
8358         unsafe { ::std::mem::transmute(value) }
8359     }
8360 }
8361 impl ::std::convert::From<&IUIAutomationElement> for ::windows::runtime::IUnknown {
8362     fn from(value: &IUIAutomationElement) -> Self {
8363         ::std::convert::From::from(::std::clone::Clone::clone(value))
8364     }
8365 }
8366 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement {
8367     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8368         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8369     }
8370 }
8371 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement {
8372     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8373         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8374     }
8375 }
8376 #[repr(C)]
8377 #[doc(hidden)]
8378 pub struct IUIAutomationElement_abi(
8379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8383     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8384     #[cfg(not(feature = "Win32_System_Com"))] usize,
8385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8390     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8391     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8392     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8393     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8394     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8395     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8396     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8397     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
8399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
8400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
8405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
8406     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8407     #[cfg(not(feature = "Win32_Foundation"))] usize,
8408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8409     #[cfg(not(feature = "Win32_Foundation"))] usize,
8410     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8411     #[cfg(not(feature = "Win32_Foundation"))] usize,
8412     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8413     #[cfg(not(feature = "Win32_Foundation"))] usize,
8414     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8415     #[cfg(not(feature = "Win32_Foundation"))] usize,
8416     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8417     #[cfg(not(feature = "Win32_Foundation"))] usize,
8418     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8419     #[cfg(not(feature = "Win32_Foundation"))] usize,
8420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8421     #[cfg(not(feature = "Win32_Foundation"))] usize,
8422     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8423     #[cfg(not(feature = "Win32_Foundation"))] usize,
8424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8425     #[cfg(not(feature = "Win32_Foundation"))] usize,
8426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
8427     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8428     #[cfg(not(feature = "Win32_Foundation"))] usize,
8429     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8430     #[cfg(not(feature = "Win32_Foundation"))] usize,
8431     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8432     #[cfg(not(feature = "Win32_Foundation"))] usize,
8433     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
8434     #[cfg(not(feature = "Win32_Foundation"))] usize,
8435     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8436     #[cfg(not(feature = "Win32_Foundation"))] usize,
8437     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8438     #[cfg(not(feature = "Win32_Foundation"))] usize,
8439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
8440     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8441     #[cfg(not(feature = "Win32_Foundation"))] usize,
8442     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8443     #[cfg(not(feature = "Win32_Foundation"))] usize,
8444     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8445     #[cfg(not(feature = "Win32_Foundation"))] usize,
8446     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
8447     #[cfg(not(feature = "Win32_Foundation"))] usize,
8448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8449     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8450     #[cfg(not(feature = "Win32_Foundation"))] usize,
8451     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8452     #[cfg(not(feature = "Win32_Foundation"))] usize,
8453     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8454     #[cfg(not(feature = "Win32_Foundation"))] usize,
8455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8458     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8459     #[cfg(not(feature = "Win32_Foundation"))] usize,
8460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
8461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
8462     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8463     #[cfg(not(feature = "Win32_Foundation"))] usize,
8464     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8465     #[cfg(not(feature = "Win32_Foundation"))] usize,
8466     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8467     #[cfg(not(feature = "Win32_Foundation"))] usize,
8468     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8469     #[cfg(not(feature = "Win32_Foundation"))] usize,
8470     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8471     #[cfg(not(feature = "Win32_Foundation"))] usize,
8472     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8473     #[cfg(not(feature = "Win32_Foundation"))] usize,
8474     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8475     #[cfg(not(feature = "Win32_Foundation"))] usize,
8476     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8477     #[cfg(not(feature = "Win32_Foundation"))] usize,
8478     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8479     #[cfg(not(feature = "Win32_Foundation"))] usize,
8480     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8481     #[cfg(not(feature = "Win32_Foundation"))] usize,
8482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
8483     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8484     #[cfg(not(feature = "Win32_Foundation"))] usize,
8485     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8486     #[cfg(not(feature = "Win32_Foundation"))] usize,
8487     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8488     #[cfg(not(feature = "Win32_Foundation"))] usize,
8489     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
8490     #[cfg(not(feature = "Win32_Foundation"))] usize,
8491     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8492     #[cfg(not(feature = "Win32_Foundation"))] usize,
8493     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8494     #[cfg(not(feature = "Win32_Foundation"))] usize,
8495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
8496     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8497     #[cfg(not(feature = "Win32_Foundation"))] usize,
8498     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8499     #[cfg(not(feature = "Win32_Foundation"))] usize,
8500     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8501     #[cfg(not(feature = "Win32_Foundation"))] usize,
8502     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
8503     #[cfg(not(feature = "Win32_Foundation"))] usize,
8504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8505     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8506     #[cfg(not(feature = "Win32_Foundation"))] usize,
8507     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8508     #[cfg(not(feature = "Win32_Foundation"))] usize,
8509     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8510     #[cfg(not(feature = "Win32_Foundation"))] usize,
8511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8514     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8515     #[cfg(not(feature = "Win32_Foundation"))] usize,
8516     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8517     #[cfg(not(feature = "Win32_Foundation"))] usize,
8518 );
8519 #[repr(transparent)]
8520 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8521 pub struct IUIAutomationElement2(::windows::runtime::IUnknown);
8522 impl IUIAutomationElement2 {
8523     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
8524         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
8525     }
8526     #[cfg(feature = "Win32_System_Com")]
8527     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
8528         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8529         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
8530     }
8531     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
8532         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8533         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
8534     }
8535     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8536         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8537         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8538     }
8539     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
8540         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8541         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
8542     }
8543     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8544         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8545         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8546     }
8547     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
8548         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8549         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
8550     }
8551     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8552     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8553         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8554         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8555     }
8556     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8557     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8558         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8559         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8560     }
8561     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8562     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8563         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8564         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8565     }
8566     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8567     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
8568         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8569         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
8570     }
8571     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
8572         let mut result__ = ::std::option::Option::None;
8573         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
8574     }
8575     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
8576         let mut result__ = ::std::option::Option::None;
8577         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
8578     }
8579     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8580         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8581         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8582     }
8583     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
8584         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8585         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
8586     }
8587     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
8588         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8589         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
8590     }
8591     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8592         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8593         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8594     }
8595     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
8596         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8597         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8598     }
8599     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
8600         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8601         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8602     }
8603     #[cfg(feature = "Win32_Foundation")]
8604     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8605         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8606         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8607     }
8608     #[cfg(feature = "Win32_Foundation")]
8609     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8610         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8611         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8612     }
8613     #[cfg(feature = "Win32_Foundation")]
8614     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8615         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8616         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8617     }
8618     #[cfg(feature = "Win32_Foundation")]
8619     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8620         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8621         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8622     }
8623     #[cfg(feature = "Win32_Foundation")]
8624     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8625         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8626         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8627     }
8628     #[cfg(feature = "Win32_Foundation")]
8629     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8630         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8631         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8632     }
8633     #[cfg(feature = "Win32_Foundation")]
8634     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8635         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8636         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8637     }
8638     #[cfg(feature = "Win32_Foundation")]
8639     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8640         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8641         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8642     }
8643     #[cfg(feature = "Win32_Foundation")]
8644     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8645         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8646         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8647     }
8648     #[cfg(feature = "Win32_Foundation")]
8649     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8650         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8651         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8652     }
8653     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
8654         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8655         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8656     }
8657     #[cfg(feature = "Win32_Foundation")]
8658     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8659         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8660         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8661     }
8662     #[cfg(feature = "Win32_Foundation")]
8663     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8664         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8665         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8666     }
8667     #[cfg(feature = "Win32_Foundation")]
8668     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8669         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8670         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8671     }
8672     #[cfg(feature = "Win32_Foundation")]
8673     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
8674         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
8675     }
8676     #[cfg(feature = "Win32_Foundation")]
8677     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8678         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8679         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8680     }
8681     #[cfg(feature = "Win32_Foundation")]
8682     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8683         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8684         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8685     }
8686     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
8687         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8688         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
8689     }
8690     #[cfg(feature = "Win32_Foundation")]
8691     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8692         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8693         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8694     }
8695     #[cfg(feature = "Win32_Foundation")]
8696     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8697         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8698         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8699     }
8700     #[cfg(feature = "Win32_Foundation")]
8701     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8702         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8703         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8704     }
8705     #[cfg(feature = "Win32_Foundation")]
8706     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
8707         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8708         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
8709     }
8710     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
8711         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8712         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
8713     }
8714     #[cfg(feature = "Win32_Foundation")]
8715     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8716         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8717         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8718     }
8719     #[cfg(feature = "Win32_Foundation")]
8720     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8721         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8722         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8723     }
8724     #[cfg(feature = "Win32_Foundation")]
8725     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8726         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8727         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8728     }
8729     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8730         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8731         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8732     }
8733     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8734         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8735         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8736     }
8737     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8738         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8739         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8740     }
8741     #[cfg(feature = "Win32_Foundation")]
8742     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8743         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8744         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8745     }
8746     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
8747         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8748         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8749     }
8750     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
8751         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8752         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8753     }
8754     #[cfg(feature = "Win32_Foundation")]
8755     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8756         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8757         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8758     }
8759     #[cfg(feature = "Win32_Foundation")]
8760     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8761         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8762         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8763     }
8764     #[cfg(feature = "Win32_Foundation")]
8765     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8766         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8767         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8768     }
8769     #[cfg(feature = "Win32_Foundation")]
8770     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8771         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8772         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8773     }
8774     #[cfg(feature = "Win32_Foundation")]
8775     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8776         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8777         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8778     }
8779     #[cfg(feature = "Win32_Foundation")]
8780     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8781         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8782         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8783     }
8784     #[cfg(feature = "Win32_Foundation")]
8785     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8786         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8787         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8788     }
8789     #[cfg(feature = "Win32_Foundation")]
8790     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8791         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8792         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8793     }
8794     #[cfg(feature = "Win32_Foundation")]
8795     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8796         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8797         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8798     }
8799     #[cfg(feature = "Win32_Foundation")]
8800     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8801         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8802         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8803     }
8804     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
8805         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8806         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8807     }
8808     #[cfg(feature = "Win32_Foundation")]
8809     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8810         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8811         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8812     }
8813     #[cfg(feature = "Win32_Foundation")]
8814     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8815         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8816         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8817     }
8818     #[cfg(feature = "Win32_Foundation")]
8819     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8820         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8821         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8822     }
8823     #[cfg(feature = "Win32_Foundation")]
8824     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
8825         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
8826     }
8827     #[cfg(feature = "Win32_Foundation")]
8828     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8829         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8830         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8831     }
8832     #[cfg(feature = "Win32_Foundation")]
8833     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8834         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8835         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8836     }
8837     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
8838         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8839         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
8840     }
8841     #[cfg(feature = "Win32_Foundation")]
8842     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8843         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8844         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8845     }
8846     #[cfg(feature = "Win32_Foundation")]
8847     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8848         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8849         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8850     }
8851     #[cfg(feature = "Win32_Foundation")]
8852     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8853         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8854         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8855     }
8856     #[cfg(feature = "Win32_Foundation")]
8857     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
8858         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8859         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
8860     }
8861     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
8862         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8863         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
8864     }
8865     #[cfg(feature = "Win32_Foundation")]
8866     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8867         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8868         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8869     }
8870     #[cfg(feature = "Win32_Foundation")]
8871     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8872         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8873         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8874     }
8875     #[cfg(feature = "Win32_Foundation")]
8876     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8877         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8878         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8879     }
8880     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8881         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8882         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8883     }
8884     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8885         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8886         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8887     }
8888     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8889         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8890         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8891     }
8892     #[cfg(feature = "Win32_Foundation")]
8893     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8894         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8895         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8896     }
8897     #[cfg(feature = "Win32_Foundation")]
8898     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
8899         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
8900     }
8901     #[cfg(feature = "Win32_Foundation")]
8902     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8903         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8904         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8905     }
8906     #[cfg(feature = "Win32_Foundation")]
8907     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8908         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8909         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8910     }
8911     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
8912         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8913         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
8914     }
8915     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
8916         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8917         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
8918     }
8919     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8920         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8921         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8922     }
8923     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
8924         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8925         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
8926     }
8927 }
8928 unsafe impl ::windows::runtime::Interface for IUIAutomationElement2 {
8929     type Vtable = IUIAutomationElement2_abi;
8930     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1732888195, 63245, 17543, [166, 152, 95, 121, 213, 82, 144, 214]);
8931 }
8932 impl ::std::convert::From<IUIAutomationElement2> for ::windows::runtime::IUnknown {
8933     fn from(value: IUIAutomationElement2) -> Self {
8934         unsafe { ::std::mem::transmute(value) }
8935     }
8936 }
8937 impl ::std::convert::From<&IUIAutomationElement2> for ::windows::runtime::IUnknown {
8938     fn from(value: &IUIAutomationElement2) -> Self {
8939         ::std::convert::From::from(::std::clone::Clone::clone(value))
8940     }
8941 }
8942 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement2 {
8943     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8944         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8945     }
8946 }
8947 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement2 {
8948     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8949         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8950     }
8951 }
8952 impl ::std::convert::From<IUIAutomationElement2> for IUIAutomationElement {
8953     fn from(value: IUIAutomationElement2) -> Self {
8954         unsafe { ::std::mem::transmute(value) }
8955     }
8956 }
8957 impl ::std::convert::From<&IUIAutomationElement2> for IUIAutomationElement {
8958     fn from(value: &IUIAutomationElement2) -> Self {
8959         ::std::convert::From::from(::std::clone::Clone::clone(value))
8960     }
8961 }
8962 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement2 {
8963     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
8964         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
8965     }
8966 }
8967 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement2 {
8968     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
8969         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
8970     }
8971 }
8972 #[repr(C)]
8973 #[doc(hidden)]
8974 pub struct IUIAutomationElement2_abi(
8975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8979     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8980     #[cfg(not(feature = "Win32_System_Com"))] usize,
8981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8986     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8987     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8988     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8989     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8990     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8991     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8992     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
8993     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
8995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
8996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9002     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9003     #[cfg(not(feature = "Win32_Foundation"))] usize,
9004     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9005     #[cfg(not(feature = "Win32_Foundation"))] usize,
9006     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9007     #[cfg(not(feature = "Win32_Foundation"))] usize,
9008     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9009     #[cfg(not(feature = "Win32_Foundation"))] usize,
9010     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9011     #[cfg(not(feature = "Win32_Foundation"))] usize,
9012     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9013     #[cfg(not(feature = "Win32_Foundation"))] usize,
9014     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9015     #[cfg(not(feature = "Win32_Foundation"))] usize,
9016     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9017     #[cfg(not(feature = "Win32_Foundation"))] usize,
9018     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9019     #[cfg(not(feature = "Win32_Foundation"))] usize,
9020     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9021     #[cfg(not(feature = "Win32_Foundation"))] usize,
9022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9023     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9024     #[cfg(not(feature = "Win32_Foundation"))] usize,
9025     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9026     #[cfg(not(feature = "Win32_Foundation"))] usize,
9027     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9028     #[cfg(not(feature = "Win32_Foundation"))] usize,
9029     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
9030     #[cfg(not(feature = "Win32_Foundation"))] usize,
9031     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9032     #[cfg(not(feature = "Win32_Foundation"))] usize,
9033     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9034     #[cfg(not(feature = "Win32_Foundation"))] usize,
9035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
9036     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9037     #[cfg(not(feature = "Win32_Foundation"))] usize,
9038     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9039     #[cfg(not(feature = "Win32_Foundation"))] usize,
9040     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9041     #[cfg(not(feature = "Win32_Foundation"))] usize,
9042     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
9043     #[cfg(not(feature = "Win32_Foundation"))] usize,
9044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9045     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9046     #[cfg(not(feature = "Win32_Foundation"))] usize,
9047     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9048     #[cfg(not(feature = "Win32_Foundation"))] usize,
9049     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9050     #[cfg(not(feature = "Win32_Foundation"))] usize,
9051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9054     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9055     #[cfg(not(feature = "Win32_Foundation"))] usize,
9056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9058     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9059     #[cfg(not(feature = "Win32_Foundation"))] usize,
9060     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9061     #[cfg(not(feature = "Win32_Foundation"))] usize,
9062     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9063     #[cfg(not(feature = "Win32_Foundation"))] usize,
9064     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9065     #[cfg(not(feature = "Win32_Foundation"))] usize,
9066     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9067     #[cfg(not(feature = "Win32_Foundation"))] usize,
9068     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9069     #[cfg(not(feature = "Win32_Foundation"))] usize,
9070     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9071     #[cfg(not(feature = "Win32_Foundation"))] usize,
9072     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9073     #[cfg(not(feature = "Win32_Foundation"))] usize,
9074     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9075     #[cfg(not(feature = "Win32_Foundation"))] usize,
9076     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9077     #[cfg(not(feature = "Win32_Foundation"))] usize,
9078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9079     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9080     #[cfg(not(feature = "Win32_Foundation"))] usize,
9081     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9082     #[cfg(not(feature = "Win32_Foundation"))] usize,
9083     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9084     #[cfg(not(feature = "Win32_Foundation"))] usize,
9085     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
9086     #[cfg(not(feature = "Win32_Foundation"))] usize,
9087     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9088     #[cfg(not(feature = "Win32_Foundation"))] usize,
9089     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9090     #[cfg(not(feature = "Win32_Foundation"))] usize,
9091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
9092     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9093     #[cfg(not(feature = "Win32_Foundation"))] usize,
9094     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9095     #[cfg(not(feature = "Win32_Foundation"))] usize,
9096     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9097     #[cfg(not(feature = "Win32_Foundation"))] usize,
9098     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
9099     #[cfg(not(feature = "Win32_Foundation"))] usize,
9100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9101     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9102     #[cfg(not(feature = "Win32_Foundation"))] usize,
9103     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9104     #[cfg(not(feature = "Win32_Foundation"))] usize,
9105     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9106     #[cfg(not(feature = "Win32_Foundation"))] usize,
9107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9110     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9111     #[cfg(not(feature = "Win32_Foundation"))] usize,
9112     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9113     #[cfg(not(feature = "Win32_Foundation"))] usize,
9114     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9115     #[cfg(not(feature = "Win32_Foundation"))] usize,
9116     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9117     #[cfg(not(feature = "Win32_Foundation"))] usize,
9118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
9119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
9120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9122 );
9123 #[repr(transparent)]
9124 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9125 pub struct IUIAutomationElement3(::windows::runtime::IUnknown);
9126 impl IUIAutomationElement3 {
9127     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
9128         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
9129     }
9130     #[cfg(feature = "Win32_System_Com")]
9131     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
9132         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9133         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
9134     }
9135     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
9136         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9137         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
9138     }
9139     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9140         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9141         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9142     }
9143     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
9144         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9145         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
9146     }
9147     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9148         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9149         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9150     }
9151     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
9152         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9153         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
9154     }
9155     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9156     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9157         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9158         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9159     }
9160     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9161     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9162         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9163         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9164     }
9165     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9166     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9167         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9168         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9169     }
9170     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9171     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9172         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9173         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9174     }
9175     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
9176         let mut result__ = ::std::option::Option::None;
9177         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
9178     }
9179     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
9180         let mut result__ = ::std::option::Option::None;
9181         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
9182     }
9183     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9184         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9185         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9186     }
9187     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9188         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9189         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9190     }
9191     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
9192         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9193         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
9194     }
9195     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9196         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9197         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9198     }
9199     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
9200         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9201         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9202     }
9203     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
9204         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9205         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9206     }
9207     #[cfg(feature = "Win32_Foundation")]
9208     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9209         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9210         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9211     }
9212     #[cfg(feature = "Win32_Foundation")]
9213     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9214         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9215         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9216     }
9217     #[cfg(feature = "Win32_Foundation")]
9218     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9219         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9220         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9221     }
9222     #[cfg(feature = "Win32_Foundation")]
9223     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9224         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9225         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9226     }
9227     #[cfg(feature = "Win32_Foundation")]
9228     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9229         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9230         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9231     }
9232     #[cfg(feature = "Win32_Foundation")]
9233     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9234         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9235         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9236     }
9237     #[cfg(feature = "Win32_Foundation")]
9238     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9239         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9240         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9241     }
9242     #[cfg(feature = "Win32_Foundation")]
9243     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9244         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9245         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9246     }
9247     #[cfg(feature = "Win32_Foundation")]
9248     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9249         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9250         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9251     }
9252     #[cfg(feature = "Win32_Foundation")]
9253     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9254         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9255         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9256     }
9257     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
9258         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9259         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9260     }
9261     #[cfg(feature = "Win32_Foundation")]
9262     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9263         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9264         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9265     }
9266     #[cfg(feature = "Win32_Foundation")]
9267     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9268         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9269         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9270     }
9271     #[cfg(feature = "Win32_Foundation")]
9272     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9273         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9274         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9275     }
9276     #[cfg(feature = "Win32_Foundation")]
9277     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
9278         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
9279     }
9280     #[cfg(feature = "Win32_Foundation")]
9281     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9282         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9283         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9284     }
9285     #[cfg(feature = "Win32_Foundation")]
9286     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9287         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9288         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9289     }
9290     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
9291         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9292         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
9293     }
9294     #[cfg(feature = "Win32_Foundation")]
9295     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9296         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9297         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9298     }
9299     #[cfg(feature = "Win32_Foundation")]
9300     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9301         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9302         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9303     }
9304     #[cfg(feature = "Win32_Foundation")]
9305     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9306         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9307         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9308     }
9309     #[cfg(feature = "Win32_Foundation")]
9310     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
9311         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9312         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
9313     }
9314     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
9315         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9316         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
9317     }
9318     #[cfg(feature = "Win32_Foundation")]
9319     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9320         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9321         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9322     }
9323     #[cfg(feature = "Win32_Foundation")]
9324     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9325         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9326         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9327     }
9328     #[cfg(feature = "Win32_Foundation")]
9329     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9330         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9331         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9332     }
9333     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9334         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9335         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9336     }
9337     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9338         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9339         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9340     }
9341     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9342         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9343         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9344     }
9345     #[cfg(feature = "Win32_Foundation")]
9346     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9347         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9348         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9349     }
9350     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
9351         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9352         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9353     }
9354     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
9355         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9356         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9357     }
9358     #[cfg(feature = "Win32_Foundation")]
9359     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9360         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9361         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9362     }
9363     #[cfg(feature = "Win32_Foundation")]
9364     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9365         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9366         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9367     }
9368     #[cfg(feature = "Win32_Foundation")]
9369     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9370         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9371         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9372     }
9373     #[cfg(feature = "Win32_Foundation")]
9374     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9375         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9376         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9377     }
9378     #[cfg(feature = "Win32_Foundation")]
9379     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9380         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9381         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9382     }
9383     #[cfg(feature = "Win32_Foundation")]
9384     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9385         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9386         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9387     }
9388     #[cfg(feature = "Win32_Foundation")]
9389     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9390         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9391         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9392     }
9393     #[cfg(feature = "Win32_Foundation")]
9394     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9395         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9396         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9397     }
9398     #[cfg(feature = "Win32_Foundation")]
9399     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9400         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9401         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9402     }
9403     #[cfg(feature = "Win32_Foundation")]
9404     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9405         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9406         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9407     }
9408     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
9409         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9410         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9411     }
9412     #[cfg(feature = "Win32_Foundation")]
9413     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9414         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9415         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9416     }
9417     #[cfg(feature = "Win32_Foundation")]
9418     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9419         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9420         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9421     }
9422     #[cfg(feature = "Win32_Foundation")]
9423     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9424         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9425         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9426     }
9427     #[cfg(feature = "Win32_Foundation")]
9428     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
9429         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
9430     }
9431     #[cfg(feature = "Win32_Foundation")]
9432     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9433         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9434         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9435     }
9436     #[cfg(feature = "Win32_Foundation")]
9437     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9438         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9439         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9440     }
9441     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
9442         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9443         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
9444     }
9445     #[cfg(feature = "Win32_Foundation")]
9446     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9447         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9448         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9449     }
9450     #[cfg(feature = "Win32_Foundation")]
9451     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9452         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9453         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9454     }
9455     #[cfg(feature = "Win32_Foundation")]
9456     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9457         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9458         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9459     }
9460     #[cfg(feature = "Win32_Foundation")]
9461     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
9462         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9463         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
9464     }
9465     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
9466         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9467         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
9468     }
9469     #[cfg(feature = "Win32_Foundation")]
9470     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9471         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9472         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9473     }
9474     #[cfg(feature = "Win32_Foundation")]
9475     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9476         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9477         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9478     }
9479     #[cfg(feature = "Win32_Foundation")]
9480     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9481         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9482         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9483     }
9484     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9485         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9486         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9487     }
9488     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9489         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9490         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9491     }
9492     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9493         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9494         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9495     }
9496     #[cfg(feature = "Win32_Foundation")]
9497     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9498         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9499         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9500     }
9501     #[cfg(feature = "Win32_Foundation")]
9502     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
9503         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
9504     }
9505     #[cfg(feature = "Win32_Foundation")]
9506     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9507         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9508         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9509     }
9510     #[cfg(feature = "Win32_Foundation")]
9511     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9512         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9513         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9514     }
9515     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
9516         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9517         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
9518     }
9519     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
9520         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9521         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
9522     }
9523     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9524         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9525         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9526     }
9527     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9528         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9529         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9530     }
9531     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
9532         (::windows::runtime::Interface::vtable(self).91)(::std::mem::transmute_copy(self)).ok()
9533     }
9534     #[cfg(feature = "Win32_Foundation")]
9535     pub unsafe fn CurrentIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9536         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9537         (::windows::runtime::Interface::vtable(self).92)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9538     }
9539     #[cfg(feature = "Win32_Foundation")]
9540     pub unsafe fn CachedIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9541         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9542         (::windows::runtime::Interface::vtable(self).93)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9543     }
9544 }
9545 unsafe impl ::windows::runtime::Interface for IUIAutomationElement3 {
9546     type Vtable = IUIAutomationElement3_abi;
9547     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2222055220, 44768, 18945, [167, 222, 125, 185, 175, 18, 194, 150]);
9548 }
9549 impl ::std::convert::From<IUIAutomationElement3> for ::windows::runtime::IUnknown {
9550     fn from(value: IUIAutomationElement3) -> Self {
9551         unsafe { ::std::mem::transmute(value) }
9552     }
9553 }
9554 impl ::std::convert::From<&IUIAutomationElement3> for ::windows::runtime::IUnknown {
9555     fn from(value: &IUIAutomationElement3) -> Self {
9556         ::std::convert::From::from(::std::clone::Clone::clone(value))
9557     }
9558 }
9559 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement3 {
9560     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9561         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9562     }
9563 }
9564 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement3 {
9565     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9566         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9567     }
9568 }
9569 impl ::std::convert::From<IUIAutomationElement3> for IUIAutomationElement2 {
9570     fn from(value: IUIAutomationElement3) -> Self {
9571         unsafe { ::std::mem::transmute(value) }
9572     }
9573 }
9574 impl ::std::convert::From<&IUIAutomationElement3> for IUIAutomationElement2 {
9575     fn from(value: &IUIAutomationElement3) -> Self {
9576         ::std::convert::From::from(::std::clone::Clone::clone(value))
9577     }
9578 }
9579 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for IUIAutomationElement3 {
9580     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
9581         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(self))
9582     }
9583 }
9584 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for &IUIAutomationElement3 {
9585     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
9586         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(::std::clone::Clone::clone(self)))
9587     }
9588 }
9589 impl ::std::convert::From<IUIAutomationElement3> for IUIAutomationElement {
9590     fn from(value: IUIAutomationElement3) -> Self {
9591         unsafe { ::std::mem::transmute(value) }
9592     }
9593 }
9594 impl ::std::convert::From<&IUIAutomationElement3> for IUIAutomationElement {
9595     fn from(value: &IUIAutomationElement3) -> Self {
9596         ::std::convert::From::from(::std::clone::Clone::clone(value))
9597     }
9598 }
9599 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement3 {
9600     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
9601         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
9602     }
9603 }
9604 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement3 {
9605     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
9606         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
9607     }
9608 }
9609 #[repr(C)]
9610 #[doc(hidden)]
9611 pub struct IUIAutomationElement3_abi(
9612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
9615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9616     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
9617     #[cfg(not(feature = "Win32_System_Com"))] usize,
9618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9623     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9624     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9625     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9626     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9627     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9628     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9629     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
9630     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
9631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
9632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
9633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9639     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9640     #[cfg(not(feature = "Win32_Foundation"))] usize,
9641     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9642     #[cfg(not(feature = "Win32_Foundation"))] usize,
9643     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9644     #[cfg(not(feature = "Win32_Foundation"))] usize,
9645     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9646     #[cfg(not(feature = "Win32_Foundation"))] usize,
9647     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9648     #[cfg(not(feature = "Win32_Foundation"))] usize,
9649     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9650     #[cfg(not(feature = "Win32_Foundation"))] usize,
9651     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9652     #[cfg(not(feature = "Win32_Foundation"))] usize,
9653     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9654     #[cfg(not(feature = "Win32_Foundation"))] usize,
9655     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9656     #[cfg(not(feature = "Win32_Foundation"))] usize,
9657     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9658     #[cfg(not(feature = "Win32_Foundation"))] usize,
9659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9660     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9661     #[cfg(not(feature = "Win32_Foundation"))] usize,
9662     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9663     #[cfg(not(feature = "Win32_Foundation"))] usize,
9664     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9665     #[cfg(not(feature = "Win32_Foundation"))] usize,
9666     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
9667     #[cfg(not(feature = "Win32_Foundation"))] usize,
9668     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9669     #[cfg(not(feature = "Win32_Foundation"))] usize,
9670     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9671     #[cfg(not(feature = "Win32_Foundation"))] usize,
9672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
9673     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9674     #[cfg(not(feature = "Win32_Foundation"))] usize,
9675     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9676     #[cfg(not(feature = "Win32_Foundation"))] usize,
9677     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9678     #[cfg(not(feature = "Win32_Foundation"))] usize,
9679     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
9680     #[cfg(not(feature = "Win32_Foundation"))] usize,
9681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9682     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9683     #[cfg(not(feature = "Win32_Foundation"))] usize,
9684     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9685     #[cfg(not(feature = "Win32_Foundation"))] usize,
9686     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9687     #[cfg(not(feature = "Win32_Foundation"))] usize,
9688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9691     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9692     #[cfg(not(feature = "Win32_Foundation"))] usize,
9693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9695     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9696     #[cfg(not(feature = "Win32_Foundation"))] usize,
9697     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9698     #[cfg(not(feature = "Win32_Foundation"))] usize,
9699     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9700     #[cfg(not(feature = "Win32_Foundation"))] usize,
9701     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9702     #[cfg(not(feature = "Win32_Foundation"))] usize,
9703     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9704     #[cfg(not(feature = "Win32_Foundation"))] usize,
9705     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9706     #[cfg(not(feature = "Win32_Foundation"))] usize,
9707     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9708     #[cfg(not(feature = "Win32_Foundation"))] usize,
9709     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9710     #[cfg(not(feature = "Win32_Foundation"))] usize,
9711     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9712     #[cfg(not(feature = "Win32_Foundation"))] usize,
9713     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9714     #[cfg(not(feature = "Win32_Foundation"))] usize,
9715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
9716     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9717     #[cfg(not(feature = "Win32_Foundation"))] usize,
9718     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9719     #[cfg(not(feature = "Win32_Foundation"))] usize,
9720     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9721     #[cfg(not(feature = "Win32_Foundation"))] usize,
9722     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
9723     #[cfg(not(feature = "Win32_Foundation"))] usize,
9724     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9725     #[cfg(not(feature = "Win32_Foundation"))] usize,
9726     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9727     #[cfg(not(feature = "Win32_Foundation"))] usize,
9728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
9729     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9730     #[cfg(not(feature = "Win32_Foundation"))] usize,
9731     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9732     #[cfg(not(feature = "Win32_Foundation"))] usize,
9733     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9734     #[cfg(not(feature = "Win32_Foundation"))] usize,
9735     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
9736     #[cfg(not(feature = "Win32_Foundation"))] usize,
9737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9738     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9739     #[cfg(not(feature = "Win32_Foundation"))] usize,
9740     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9741     #[cfg(not(feature = "Win32_Foundation"))] usize,
9742     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9743     #[cfg(not(feature = "Win32_Foundation"))] usize,
9744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9747     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
9748     #[cfg(not(feature = "Win32_Foundation"))] usize,
9749     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9750     #[cfg(not(feature = "Win32_Foundation"))] usize,
9751     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9752     #[cfg(not(feature = "Win32_Foundation"))] usize,
9753     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9754     #[cfg(not(feature = "Win32_Foundation"))] usize,
9755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
9756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
9757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
9760     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9761     #[cfg(not(feature = "Win32_Foundation"))] usize,
9762     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
9763     #[cfg(not(feature = "Win32_Foundation"))] usize,
9764 );
9765 #[repr(transparent)]
9766 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9767 pub struct IUIAutomationElement4(::windows::runtime::IUnknown);
9768 impl IUIAutomationElement4 {
9769     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
9770         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
9771     }
9772     #[cfg(feature = "Win32_System_Com")]
9773     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
9774         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9775         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
9776     }
9777     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
9778         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9779         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
9780     }
9781     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9782         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9783         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9784     }
9785     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
9786         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9787         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
9788     }
9789     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9790         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9791         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9792     }
9793     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
9794         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9795         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
9796     }
9797     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9798     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9799         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9800         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9801     }
9802     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9803     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9804         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9805         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9806     }
9807     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9808     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9809         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9810         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9811     }
9812     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
9813     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
9814         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9815         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
9816     }
9817     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
9818         let mut result__ = ::std::option::Option::None;
9819         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
9820     }
9821     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
9822         let mut result__ = ::std::option::Option::None;
9823         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
9824     }
9825     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9826         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9827         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9828     }
9829     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
9830         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9831         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
9832     }
9833     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
9834         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9835         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
9836     }
9837     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9838         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9839         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9840     }
9841     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
9842         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9843         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9844     }
9845     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
9846         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9847         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9848     }
9849     #[cfg(feature = "Win32_Foundation")]
9850     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9851         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9852         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9853     }
9854     #[cfg(feature = "Win32_Foundation")]
9855     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9856         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9857         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9858     }
9859     #[cfg(feature = "Win32_Foundation")]
9860     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9861         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9862         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9863     }
9864     #[cfg(feature = "Win32_Foundation")]
9865     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9866         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9867         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9868     }
9869     #[cfg(feature = "Win32_Foundation")]
9870     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9871         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9872         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9873     }
9874     #[cfg(feature = "Win32_Foundation")]
9875     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9876         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9877         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9878     }
9879     #[cfg(feature = "Win32_Foundation")]
9880     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9881         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9882         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9883     }
9884     #[cfg(feature = "Win32_Foundation")]
9885     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9886         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9887         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9888     }
9889     #[cfg(feature = "Win32_Foundation")]
9890     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9891         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9892         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9893     }
9894     #[cfg(feature = "Win32_Foundation")]
9895     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9896         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9897         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9898     }
9899     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
9900         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9901         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9902     }
9903     #[cfg(feature = "Win32_Foundation")]
9904     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9905         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9906         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9907     }
9908     #[cfg(feature = "Win32_Foundation")]
9909     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9910         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9911         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9912     }
9913     #[cfg(feature = "Win32_Foundation")]
9914     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9915         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9916         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9917     }
9918     #[cfg(feature = "Win32_Foundation")]
9919     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
9920         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
9921     }
9922     #[cfg(feature = "Win32_Foundation")]
9923     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9924         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9925         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9926     }
9927     #[cfg(feature = "Win32_Foundation")]
9928     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9929         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9930         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9931     }
9932     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
9933         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9934         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
9935     }
9936     #[cfg(feature = "Win32_Foundation")]
9937     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9938         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9939         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9940     }
9941     #[cfg(feature = "Win32_Foundation")]
9942     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9943         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9944         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9945     }
9946     #[cfg(feature = "Win32_Foundation")]
9947     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9948         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9949         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9950     }
9951     #[cfg(feature = "Win32_Foundation")]
9952     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
9953         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9954         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
9955     }
9956     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
9957         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9958         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
9959     }
9960     #[cfg(feature = "Win32_Foundation")]
9961     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9962         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9963         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9964     }
9965     #[cfg(feature = "Win32_Foundation")]
9966     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9967         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9968         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9969     }
9970     #[cfg(feature = "Win32_Foundation")]
9971     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
9972         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9973         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
9974     }
9975     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9976         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9977         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9978     }
9979     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9980         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9981         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9982     }
9983     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
9984         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9985         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
9986     }
9987     #[cfg(feature = "Win32_Foundation")]
9988     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
9989         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9990         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
9991     }
9992     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
9993         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9994         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9995     }
9996     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
9997         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9998         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
9999     }
10000     #[cfg(feature = "Win32_Foundation")]
10001     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10002         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10003         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10004     }
10005     #[cfg(feature = "Win32_Foundation")]
10006     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10007         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10008         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10009     }
10010     #[cfg(feature = "Win32_Foundation")]
10011     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10012         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10013         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10014     }
10015     #[cfg(feature = "Win32_Foundation")]
10016     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10017         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10018         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10019     }
10020     #[cfg(feature = "Win32_Foundation")]
10021     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10022         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10023         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10024     }
10025     #[cfg(feature = "Win32_Foundation")]
10026     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10027         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10028         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10029     }
10030     #[cfg(feature = "Win32_Foundation")]
10031     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10032         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10033         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10034     }
10035     #[cfg(feature = "Win32_Foundation")]
10036     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10037         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10038         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10039     }
10040     #[cfg(feature = "Win32_Foundation")]
10041     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10042         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10043         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10044     }
10045     #[cfg(feature = "Win32_Foundation")]
10046     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10047         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10048         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10049     }
10050     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
10051         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10052         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10053     }
10054     #[cfg(feature = "Win32_Foundation")]
10055     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10056         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10057         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10058     }
10059     #[cfg(feature = "Win32_Foundation")]
10060     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10061         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10062         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10063     }
10064     #[cfg(feature = "Win32_Foundation")]
10065     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10066         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10067         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10068     }
10069     #[cfg(feature = "Win32_Foundation")]
10070     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
10071         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
10072     }
10073     #[cfg(feature = "Win32_Foundation")]
10074     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10075         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10076         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10077     }
10078     #[cfg(feature = "Win32_Foundation")]
10079     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10080         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10081         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10082     }
10083     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
10084         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10085         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
10086     }
10087     #[cfg(feature = "Win32_Foundation")]
10088     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10089         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10090         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10091     }
10092     #[cfg(feature = "Win32_Foundation")]
10093     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10094         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10095         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10096     }
10097     #[cfg(feature = "Win32_Foundation")]
10098     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10099         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10100         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10101     }
10102     #[cfg(feature = "Win32_Foundation")]
10103     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
10104         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10105         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
10106     }
10107     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
10108         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10109         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
10110     }
10111     #[cfg(feature = "Win32_Foundation")]
10112     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10113         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10114         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10115     }
10116     #[cfg(feature = "Win32_Foundation")]
10117     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10118         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10119         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10120     }
10121     #[cfg(feature = "Win32_Foundation")]
10122     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10123         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10124         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10125     }
10126     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10127         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10128         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10129     }
10130     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10131         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10132         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10133     }
10134     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10135         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10136         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10137     }
10138     #[cfg(feature = "Win32_Foundation")]
10139     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10140         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10141         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10142     }
10143     #[cfg(feature = "Win32_Foundation")]
10144     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
10145         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
10146     }
10147     #[cfg(feature = "Win32_Foundation")]
10148     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10149         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10150         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10151     }
10152     #[cfg(feature = "Win32_Foundation")]
10153     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10154         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10155         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10156     }
10157     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
10158         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10159         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
10160     }
10161     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
10162         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10163         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
10164     }
10165     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10166         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10167         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10168     }
10169     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10170         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10171         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10172     }
10173     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
10174         (::windows::runtime::Interface::vtable(self).91)(::std::mem::transmute_copy(self)).ok()
10175     }
10176     #[cfg(feature = "Win32_Foundation")]
10177     pub unsafe fn CurrentIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10178         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10179         (::windows::runtime::Interface::vtable(self).92)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10180     }
10181     #[cfg(feature = "Win32_Foundation")]
10182     pub unsafe fn CachedIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10183         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10184         (::windows::runtime::Interface::vtable(self).93)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10185     }
10186     pub unsafe fn CurrentPositionInSet(&self) -> ::windows::runtime::Result<i32> {
10187         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10188         (::windows::runtime::Interface::vtable(self).94)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10189     }
10190     pub unsafe fn CurrentSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
10191         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10192         (::windows::runtime::Interface::vtable(self).95)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10193     }
10194     pub unsafe fn CurrentLevel(&self) -> ::windows::runtime::Result<i32> {
10195         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10196         (::windows::runtime::Interface::vtable(self).96)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10197     }
10198     #[cfg(feature = "Win32_System_Com")]
10199     pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10200         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10201         (::windows::runtime::Interface::vtable(self).97)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10202     }
10203     pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10204         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10205         (::windows::runtime::Interface::vtable(self).98)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10206     }
10207     pub unsafe fn CachedPositionInSet(&self) -> ::windows::runtime::Result<i32> {
10208         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10209         (::windows::runtime::Interface::vtable(self).99)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10210     }
10211     pub unsafe fn CachedSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
10212         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10213         (::windows::runtime::Interface::vtable(self).100)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10214     }
10215     pub unsafe fn CachedLevel(&self) -> ::windows::runtime::Result<i32> {
10216         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10217         (::windows::runtime::Interface::vtable(self).101)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10218     }
10219     #[cfg(feature = "Win32_System_Com")]
10220     pub unsafe fn CachedAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10221         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10222         (::windows::runtime::Interface::vtable(self).102)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10223     }
10224     pub unsafe fn CachedAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10225         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10226         (::windows::runtime::Interface::vtable(self).103)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10227     }
10228 }
10229 unsafe impl ::windows::runtime::Interface for IUIAutomationElement4 {
10230     type Vtable = IUIAutomationElement4_abi;
10231     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(997073724, 21243, 16483, [164, 201, 119, 192, 117, 194, 160, 107]);
10232 }
10233 impl ::std::convert::From<IUIAutomationElement4> for ::windows::runtime::IUnknown {
10234     fn from(value: IUIAutomationElement4) -> Self {
10235         unsafe { ::std::mem::transmute(value) }
10236     }
10237 }
10238 impl ::std::convert::From<&IUIAutomationElement4> for ::windows::runtime::IUnknown {
10239     fn from(value: &IUIAutomationElement4) -> Self {
10240         ::std::convert::From::from(::std::clone::Clone::clone(value))
10241     }
10242 }
10243 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement4 {
10244     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10245         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10246     }
10247 }
10248 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement4 {
10249     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10250         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10251     }
10252 }
10253 impl ::std::convert::From<IUIAutomationElement4> for IUIAutomationElement3 {
10254     fn from(value: IUIAutomationElement4) -> Self {
10255         unsafe { ::std::mem::transmute(value) }
10256     }
10257 }
10258 impl ::std::convert::From<&IUIAutomationElement4> for IUIAutomationElement3 {
10259     fn from(value: &IUIAutomationElement4) -> Self {
10260         ::std::convert::From::from(::std::clone::Clone::clone(value))
10261     }
10262 }
10263 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for IUIAutomationElement4 {
10264     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
10265         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(self))
10266     }
10267 }
10268 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for &IUIAutomationElement4 {
10269     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
10270         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(::std::clone::Clone::clone(self)))
10271     }
10272 }
10273 impl ::std::convert::From<IUIAutomationElement4> for IUIAutomationElement2 {
10274     fn from(value: IUIAutomationElement4) -> Self {
10275         unsafe { ::std::mem::transmute(value) }
10276     }
10277 }
10278 impl ::std::convert::From<&IUIAutomationElement4> for IUIAutomationElement2 {
10279     fn from(value: &IUIAutomationElement4) -> Self {
10280         ::std::convert::From::from(::std::clone::Clone::clone(value))
10281     }
10282 }
10283 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for IUIAutomationElement4 {
10284     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
10285         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(self))
10286     }
10287 }
10288 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for &IUIAutomationElement4 {
10289     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
10290         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(::std::clone::Clone::clone(self)))
10291     }
10292 }
10293 impl ::std::convert::From<IUIAutomationElement4> for IUIAutomationElement {
10294     fn from(value: IUIAutomationElement4) -> Self {
10295         unsafe { ::std::mem::transmute(value) }
10296     }
10297 }
10298 impl ::std::convert::From<&IUIAutomationElement4> for IUIAutomationElement {
10299     fn from(value: &IUIAutomationElement4) -> Self {
10300         ::std::convert::From::from(::std::clone::Clone::clone(value))
10301     }
10302 }
10303 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement4 {
10304     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
10305         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
10306     }
10307 }
10308 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement4 {
10309     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
10310         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
10311     }
10312 }
10313 #[repr(C)]
10314 #[doc(hidden)]
10315 pub struct IUIAutomationElement4_abi(
10316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
10319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10320     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10321     #[cfg(not(feature = "Win32_System_Com"))] usize,
10322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10327     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10328     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10329     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10330     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10331     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10332     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10333     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
10334     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
10335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
10336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
10337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10343     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10344     #[cfg(not(feature = "Win32_Foundation"))] usize,
10345     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10346     #[cfg(not(feature = "Win32_Foundation"))] usize,
10347     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10348     #[cfg(not(feature = "Win32_Foundation"))] usize,
10349     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10350     #[cfg(not(feature = "Win32_Foundation"))] usize,
10351     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10352     #[cfg(not(feature = "Win32_Foundation"))] usize,
10353     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10354     #[cfg(not(feature = "Win32_Foundation"))] usize,
10355     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10356     #[cfg(not(feature = "Win32_Foundation"))] usize,
10357     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10358     #[cfg(not(feature = "Win32_Foundation"))] usize,
10359     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10360     #[cfg(not(feature = "Win32_Foundation"))] usize,
10361     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10362     #[cfg(not(feature = "Win32_Foundation"))] usize,
10363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10364     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10365     #[cfg(not(feature = "Win32_Foundation"))] usize,
10366     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10367     #[cfg(not(feature = "Win32_Foundation"))] usize,
10368     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10369     #[cfg(not(feature = "Win32_Foundation"))] usize,
10370     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
10371     #[cfg(not(feature = "Win32_Foundation"))] usize,
10372     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10373     #[cfg(not(feature = "Win32_Foundation"))] usize,
10374     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10375     #[cfg(not(feature = "Win32_Foundation"))] usize,
10376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
10377     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10378     #[cfg(not(feature = "Win32_Foundation"))] usize,
10379     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10380     #[cfg(not(feature = "Win32_Foundation"))] usize,
10381     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10382     #[cfg(not(feature = "Win32_Foundation"))] usize,
10383     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
10384     #[cfg(not(feature = "Win32_Foundation"))] usize,
10385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10386     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10387     #[cfg(not(feature = "Win32_Foundation"))] usize,
10388     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10389     #[cfg(not(feature = "Win32_Foundation"))] usize,
10390     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10391     #[cfg(not(feature = "Win32_Foundation"))] usize,
10392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10395     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10396     #[cfg(not(feature = "Win32_Foundation"))] usize,
10397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10399     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10400     #[cfg(not(feature = "Win32_Foundation"))] usize,
10401     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10402     #[cfg(not(feature = "Win32_Foundation"))] usize,
10403     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10404     #[cfg(not(feature = "Win32_Foundation"))] usize,
10405     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10406     #[cfg(not(feature = "Win32_Foundation"))] usize,
10407     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10408     #[cfg(not(feature = "Win32_Foundation"))] usize,
10409     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10410     #[cfg(not(feature = "Win32_Foundation"))] usize,
10411     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10412     #[cfg(not(feature = "Win32_Foundation"))] usize,
10413     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10414     #[cfg(not(feature = "Win32_Foundation"))] usize,
10415     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10416     #[cfg(not(feature = "Win32_Foundation"))] usize,
10417     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10418     #[cfg(not(feature = "Win32_Foundation"))] usize,
10419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10420     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10421     #[cfg(not(feature = "Win32_Foundation"))] usize,
10422     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10423     #[cfg(not(feature = "Win32_Foundation"))] usize,
10424     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10425     #[cfg(not(feature = "Win32_Foundation"))] usize,
10426     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
10427     #[cfg(not(feature = "Win32_Foundation"))] usize,
10428     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10429     #[cfg(not(feature = "Win32_Foundation"))] usize,
10430     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10431     #[cfg(not(feature = "Win32_Foundation"))] usize,
10432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
10433     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10434     #[cfg(not(feature = "Win32_Foundation"))] usize,
10435     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10436     #[cfg(not(feature = "Win32_Foundation"))] usize,
10437     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10438     #[cfg(not(feature = "Win32_Foundation"))] usize,
10439     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
10440     #[cfg(not(feature = "Win32_Foundation"))] usize,
10441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10442     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10443     #[cfg(not(feature = "Win32_Foundation"))] usize,
10444     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10445     #[cfg(not(feature = "Win32_Foundation"))] usize,
10446     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10447     #[cfg(not(feature = "Win32_Foundation"))] usize,
10448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10451     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
10452     #[cfg(not(feature = "Win32_Foundation"))] usize,
10453     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10454     #[cfg(not(feature = "Win32_Foundation"))] usize,
10455     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10456     #[cfg(not(feature = "Win32_Foundation"))] usize,
10457     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10458     #[cfg(not(feature = "Win32_Foundation"))] usize,
10459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
10460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
10461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10464     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10465     #[cfg(not(feature = "Win32_Foundation"))] usize,
10466     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
10467     #[cfg(not(feature = "Win32_Foundation"))] usize,
10468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10471     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10472     #[cfg(not(feature = "Win32_System_Com"))] usize,
10473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
10477     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
10478     #[cfg(not(feature = "Win32_System_Com"))] usize,
10479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
10480 );
10481 #[repr(transparent)]
10482 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10483 pub struct IUIAutomationElement5(::windows::runtime::IUnknown);
10484 impl IUIAutomationElement5 {
10485     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
10486         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
10487     }
10488     #[cfg(feature = "Win32_System_Com")]
10489     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10490         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10491         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10492     }
10493     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
10494         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10495         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
10496     }
10497     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10498         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10499         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10500     }
10501     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
10502         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10503         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
10504     }
10505     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10506         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10507         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10508     }
10509     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
10510         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10511         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
10512     }
10513     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10514     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10515         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10516         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10517     }
10518     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10519     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10520         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10521         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10522     }
10523     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10524     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10525         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10526         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10527     }
10528     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
10529     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
10530         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10531         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
10532     }
10533     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
10534         let mut result__ = ::std::option::Option::None;
10535         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
10536     }
10537     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
10538         let mut result__ = ::std::option::Option::None;
10539         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
10540     }
10541     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
10542         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10543         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
10544     }
10545     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
10546         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10547         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
10548     }
10549     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
10550         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10551         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
10552     }
10553     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10554         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10555         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10556     }
10557     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
10558         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10559         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10560     }
10561     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
10562         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10563         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10564     }
10565     #[cfg(feature = "Win32_Foundation")]
10566     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10567         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10568         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10569     }
10570     #[cfg(feature = "Win32_Foundation")]
10571     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10572         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10573         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10574     }
10575     #[cfg(feature = "Win32_Foundation")]
10576     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10577         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10578         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10579     }
10580     #[cfg(feature = "Win32_Foundation")]
10581     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10582         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10583         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10584     }
10585     #[cfg(feature = "Win32_Foundation")]
10586     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10587         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10588         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10589     }
10590     #[cfg(feature = "Win32_Foundation")]
10591     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10592         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10593         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10594     }
10595     #[cfg(feature = "Win32_Foundation")]
10596     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10597         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10598         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10599     }
10600     #[cfg(feature = "Win32_Foundation")]
10601     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10602         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10603         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10604     }
10605     #[cfg(feature = "Win32_Foundation")]
10606     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10607         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10608         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10609     }
10610     #[cfg(feature = "Win32_Foundation")]
10611     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10612         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10613         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10614     }
10615     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
10616         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10617         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10618     }
10619     #[cfg(feature = "Win32_Foundation")]
10620     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10621         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10622         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10623     }
10624     #[cfg(feature = "Win32_Foundation")]
10625     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10626         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10627         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10628     }
10629     #[cfg(feature = "Win32_Foundation")]
10630     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10631         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10632         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10633     }
10634     #[cfg(feature = "Win32_Foundation")]
10635     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
10636         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
10637     }
10638     #[cfg(feature = "Win32_Foundation")]
10639     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10640         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10641         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10642     }
10643     #[cfg(feature = "Win32_Foundation")]
10644     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10645         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10646         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10647     }
10648     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
10649         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10650         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
10651     }
10652     #[cfg(feature = "Win32_Foundation")]
10653     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10654         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10655         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10656     }
10657     #[cfg(feature = "Win32_Foundation")]
10658     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10659         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10660         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10661     }
10662     #[cfg(feature = "Win32_Foundation")]
10663     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10664         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10665         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10666     }
10667     #[cfg(feature = "Win32_Foundation")]
10668     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
10669         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10670         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
10671     }
10672     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
10673         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10674         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
10675     }
10676     #[cfg(feature = "Win32_Foundation")]
10677     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10678         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10679         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10680     }
10681     #[cfg(feature = "Win32_Foundation")]
10682     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10683         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10684         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10685     }
10686     #[cfg(feature = "Win32_Foundation")]
10687     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10688         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10689         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10690     }
10691     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10692         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10693         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10694     }
10695     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10696         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10697         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10698     }
10699     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10700         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10701         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10702     }
10703     #[cfg(feature = "Win32_Foundation")]
10704     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10705         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10706         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10707     }
10708     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
10709         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10710         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10711     }
10712     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
10713         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10714         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10715     }
10716     #[cfg(feature = "Win32_Foundation")]
10717     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10718         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10719         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10720     }
10721     #[cfg(feature = "Win32_Foundation")]
10722     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10723         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10724         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10725     }
10726     #[cfg(feature = "Win32_Foundation")]
10727     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10728         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10729         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10730     }
10731     #[cfg(feature = "Win32_Foundation")]
10732     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10733         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10734         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10735     }
10736     #[cfg(feature = "Win32_Foundation")]
10737     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10738         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10739         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10740     }
10741     #[cfg(feature = "Win32_Foundation")]
10742     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10743         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10744         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10745     }
10746     #[cfg(feature = "Win32_Foundation")]
10747     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10748         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10749         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10750     }
10751     #[cfg(feature = "Win32_Foundation")]
10752     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10753         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10754         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10755     }
10756     #[cfg(feature = "Win32_Foundation")]
10757     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10758         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10759         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10760     }
10761     #[cfg(feature = "Win32_Foundation")]
10762     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10763         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10764         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10765     }
10766     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
10767         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10768         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10769     }
10770     #[cfg(feature = "Win32_Foundation")]
10771     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10772         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10773         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10774     }
10775     #[cfg(feature = "Win32_Foundation")]
10776     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10777         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10778         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10779     }
10780     #[cfg(feature = "Win32_Foundation")]
10781     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10782         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10783         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10784     }
10785     #[cfg(feature = "Win32_Foundation")]
10786     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
10787         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
10788     }
10789     #[cfg(feature = "Win32_Foundation")]
10790     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10791         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10792         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10793     }
10794     #[cfg(feature = "Win32_Foundation")]
10795     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10796         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10797         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10798     }
10799     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
10800         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10801         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
10802     }
10803     #[cfg(feature = "Win32_Foundation")]
10804     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10805         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10806         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10807     }
10808     #[cfg(feature = "Win32_Foundation")]
10809     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10810         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10811         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10812     }
10813     #[cfg(feature = "Win32_Foundation")]
10814     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10815         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10816         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10817     }
10818     #[cfg(feature = "Win32_Foundation")]
10819     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
10820         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10821         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
10822     }
10823     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
10824         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10825         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
10826     }
10827     #[cfg(feature = "Win32_Foundation")]
10828     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10829         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10830         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10831     }
10832     #[cfg(feature = "Win32_Foundation")]
10833     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10834         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10835         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10836     }
10837     #[cfg(feature = "Win32_Foundation")]
10838     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10839         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10840         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10841     }
10842     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10843         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10844         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10845     }
10846     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10847         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10848         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10849     }
10850     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10851         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10852         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10853     }
10854     #[cfg(feature = "Win32_Foundation")]
10855     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10856         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10857         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10858     }
10859     #[cfg(feature = "Win32_Foundation")]
10860     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
10861         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
10862     }
10863     #[cfg(feature = "Win32_Foundation")]
10864     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10865         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10866         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10867     }
10868     #[cfg(feature = "Win32_Foundation")]
10869     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10870         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10871         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10872     }
10873     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
10874         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10875         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
10876     }
10877     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
10878         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10879         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
10880     }
10881     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10882         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10883         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10884     }
10885     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10886         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10887         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10888     }
10889     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
10890         (::windows::runtime::Interface::vtable(self).91)(::std::mem::transmute_copy(self)).ok()
10891     }
10892     #[cfg(feature = "Win32_Foundation")]
10893     pub unsafe fn CurrentIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10894         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10895         (::windows::runtime::Interface::vtable(self).92)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10896     }
10897     #[cfg(feature = "Win32_Foundation")]
10898     pub unsafe fn CachedIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
10899         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10900         (::windows::runtime::Interface::vtable(self).93)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
10901     }
10902     pub unsafe fn CurrentPositionInSet(&self) -> ::windows::runtime::Result<i32> {
10903         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10904         (::windows::runtime::Interface::vtable(self).94)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10905     }
10906     pub unsafe fn CurrentSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
10907         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10908         (::windows::runtime::Interface::vtable(self).95)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10909     }
10910     pub unsafe fn CurrentLevel(&self) -> ::windows::runtime::Result<i32> {
10911         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10912         (::windows::runtime::Interface::vtable(self).96)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10913     }
10914     #[cfg(feature = "Win32_System_Com")]
10915     pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10916         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10917         (::windows::runtime::Interface::vtable(self).97)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10918     }
10919     pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10920         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10921         (::windows::runtime::Interface::vtable(self).98)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10922     }
10923     pub unsafe fn CachedPositionInSet(&self) -> ::windows::runtime::Result<i32> {
10924         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10925         (::windows::runtime::Interface::vtable(self).99)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10926     }
10927     pub unsafe fn CachedSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
10928         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10929         (::windows::runtime::Interface::vtable(self).100)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10930     }
10931     pub unsafe fn CachedLevel(&self) -> ::windows::runtime::Result<i32> {
10932         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10933         (::windows::runtime::Interface::vtable(self).101)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10934     }
10935     #[cfg(feature = "Win32_System_Com")]
10936     pub unsafe fn CachedAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
10937         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10938         (::windows::runtime::Interface::vtable(self).102)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
10939     }
10940     pub unsafe fn CachedAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
10941         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10942         (::windows::runtime::Interface::vtable(self).103)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
10943     }
10944     pub unsafe fn CurrentLandmarkType(&self) -> ::windows::runtime::Result<i32> {
10945         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10946         (::windows::runtime::Interface::vtable(self).104)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10947     }
10948     #[cfg(feature = "Win32_Foundation")]
10949     pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10950         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10951         (::windows::runtime::Interface::vtable(self).105)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10952     }
10953     pub unsafe fn CachedLandmarkType(&self) -> ::windows::runtime::Result<i32> {
10954         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10955         (::windows::runtime::Interface::vtable(self).106)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
10956     }
10957     #[cfg(feature = "Win32_Foundation")]
10958     pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
10959         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
10960         (::windows::runtime::Interface::vtable(self).107)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
10961     }
10962 }
10963 unsafe impl ::windows::runtime::Interface for IUIAutomationElement5 {
10964     type Vtable = IUIAutomationElement5_abi;
10965     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2551454749, 3342, 16757, [187, 226, 107, 255, 69, 88, 66, 167]);
10966 }
10967 impl ::std::convert::From<IUIAutomationElement5> for ::windows::runtime::IUnknown {
10968     fn from(value: IUIAutomationElement5) -> Self {
10969         unsafe { ::std::mem::transmute(value) }
10970     }
10971 }
10972 impl ::std::convert::From<&IUIAutomationElement5> for ::windows::runtime::IUnknown {
10973     fn from(value: &IUIAutomationElement5) -> Self {
10974         ::std::convert::From::from(::std::clone::Clone::clone(value))
10975     }
10976 }
10977 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement5 {
10978     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10979         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10980     }
10981 }
10982 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement5 {
10983     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10984         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10985     }
10986 }
10987 impl ::std::convert::From<IUIAutomationElement5> for IUIAutomationElement4 {
10988     fn from(value: IUIAutomationElement5) -> Self {
10989         unsafe { ::std::mem::transmute(value) }
10990     }
10991 }
10992 impl ::std::convert::From<&IUIAutomationElement5> for IUIAutomationElement4 {
10993     fn from(value: &IUIAutomationElement5) -> Self {
10994         ::std::convert::From::from(::std::clone::Clone::clone(value))
10995     }
10996 }
10997 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for IUIAutomationElement5 {
10998     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
10999         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(self))
11000     }
11001 }
11002 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for &IUIAutomationElement5 {
11003     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
11004         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(::std::clone::Clone::clone(self)))
11005     }
11006 }
11007 impl ::std::convert::From<IUIAutomationElement5> for IUIAutomationElement3 {
11008     fn from(value: IUIAutomationElement5) -> Self {
11009         unsafe { ::std::mem::transmute(value) }
11010     }
11011 }
11012 impl ::std::convert::From<&IUIAutomationElement5> for IUIAutomationElement3 {
11013     fn from(value: &IUIAutomationElement5) -> Self {
11014         ::std::convert::From::from(::std::clone::Clone::clone(value))
11015     }
11016 }
11017 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for IUIAutomationElement5 {
11018     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
11019         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(self))
11020     }
11021 }
11022 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for &IUIAutomationElement5 {
11023     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
11024         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(::std::clone::Clone::clone(self)))
11025     }
11026 }
11027 impl ::std::convert::From<IUIAutomationElement5> for IUIAutomationElement2 {
11028     fn from(value: IUIAutomationElement5) -> Self {
11029         unsafe { ::std::mem::transmute(value) }
11030     }
11031 }
11032 impl ::std::convert::From<&IUIAutomationElement5> for IUIAutomationElement2 {
11033     fn from(value: &IUIAutomationElement5) -> Self {
11034         ::std::convert::From::from(::std::clone::Clone::clone(value))
11035     }
11036 }
11037 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for IUIAutomationElement5 {
11038     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
11039         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(self))
11040     }
11041 }
11042 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for &IUIAutomationElement5 {
11043     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
11044         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(::std::clone::Clone::clone(self)))
11045     }
11046 }
11047 impl ::std::convert::From<IUIAutomationElement5> for IUIAutomationElement {
11048     fn from(value: IUIAutomationElement5) -> Self {
11049         unsafe { ::std::mem::transmute(value) }
11050     }
11051 }
11052 impl ::std::convert::From<&IUIAutomationElement5> for IUIAutomationElement {
11053     fn from(value: &IUIAutomationElement5) -> Self {
11054         ::std::convert::From::from(::std::clone::Clone::clone(value))
11055     }
11056 }
11057 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement5 {
11058     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
11059         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
11060     }
11061 }
11062 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement5 {
11063     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
11064         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
11065     }
11066 }
11067 #[repr(C)]
11068 #[doc(hidden)]
11069 pub struct IUIAutomationElement5_abi(
11070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11074     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11075     #[cfg(not(feature = "Win32_System_Com"))] usize,
11076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11081     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11082     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11083     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11084     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11085     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11086     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11087     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11088     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
11090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
11091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11097     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11098     #[cfg(not(feature = "Win32_Foundation"))] usize,
11099     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11100     #[cfg(not(feature = "Win32_Foundation"))] usize,
11101     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11102     #[cfg(not(feature = "Win32_Foundation"))] usize,
11103     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11104     #[cfg(not(feature = "Win32_Foundation"))] usize,
11105     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11106     #[cfg(not(feature = "Win32_Foundation"))] usize,
11107     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11108     #[cfg(not(feature = "Win32_Foundation"))] usize,
11109     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11110     #[cfg(not(feature = "Win32_Foundation"))] usize,
11111     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11112     #[cfg(not(feature = "Win32_Foundation"))] usize,
11113     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11114     #[cfg(not(feature = "Win32_Foundation"))] usize,
11115     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11116     #[cfg(not(feature = "Win32_Foundation"))] usize,
11117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11118     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11119     #[cfg(not(feature = "Win32_Foundation"))] usize,
11120     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11121     #[cfg(not(feature = "Win32_Foundation"))] usize,
11122     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11123     #[cfg(not(feature = "Win32_Foundation"))] usize,
11124     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
11125     #[cfg(not(feature = "Win32_Foundation"))] usize,
11126     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11127     #[cfg(not(feature = "Win32_Foundation"))] usize,
11128     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11129     #[cfg(not(feature = "Win32_Foundation"))] usize,
11130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
11131     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11132     #[cfg(not(feature = "Win32_Foundation"))] usize,
11133     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11134     #[cfg(not(feature = "Win32_Foundation"))] usize,
11135     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11136     #[cfg(not(feature = "Win32_Foundation"))] usize,
11137     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
11138     #[cfg(not(feature = "Win32_Foundation"))] usize,
11139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11140     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11141     #[cfg(not(feature = "Win32_Foundation"))] usize,
11142     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11143     #[cfg(not(feature = "Win32_Foundation"))] usize,
11144     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11145     #[cfg(not(feature = "Win32_Foundation"))] usize,
11146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11149     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11150     #[cfg(not(feature = "Win32_Foundation"))] usize,
11151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11153     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11154     #[cfg(not(feature = "Win32_Foundation"))] usize,
11155     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11156     #[cfg(not(feature = "Win32_Foundation"))] usize,
11157     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11158     #[cfg(not(feature = "Win32_Foundation"))] usize,
11159     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11160     #[cfg(not(feature = "Win32_Foundation"))] usize,
11161     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11162     #[cfg(not(feature = "Win32_Foundation"))] usize,
11163     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11164     #[cfg(not(feature = "Win32_Foundation"))] usize,
11165     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11166     #[cfg(not(feature = "Win32_Foundation"))] usize,
11167     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11168     #[cfg(not(feature = "Win32_Foundation"))] usize,
11169     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11170     #[cfg(not(feature = "Win32_Foundation"))] usize,
11171     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11172     #[cfg(not(feature = "Win32_Foundation"))] usize,
11173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11174     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11175     #[cfg(not(feature = "Win32_Foundation"))] usize,
11176     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11177     #[cfg(not(feature = "Win32_Foundation"))] usize,
11178     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11179     #[cfg(not(feature = "Win32_Foundation"))] usize,
11180     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
11181     #[cfg(not(feature = "Win32_Foundation"))] usize,
11182     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11183     #[cfg(not(feature = "Win32_Foundation"))] usize,
11184     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11185     #[cfg(not(feature = "Win32_Foundation"))] usize,
11186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
11187     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11188     #[cfg(not(feature = "Win32_Foundation"))] usize,
11189     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11190     #[cfg(not(feature = "Win32_Foundation"))] usize,
11191     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11192     #[cfg(not(feature = "Win32_Foundation"))] usize,
11193     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
11194     #[cfg(not(feature = "Win32_Foundation"))] usize,
11195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11196     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11197     #[cfg(not(feature = "Win32_Foundation"))] usize,
11198     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11199     #[cfg(not(feature = "Win32_Foundation"))] usize,
11200     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11201     #[cfg(not(feature = "Win32_Foundation"))] usize,
11202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11205     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11206     #[cfg(not(feature = "Win32_Foundation"))] usize,
11207     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11208     #[cfg(not(feature = "Win32_Foundation"))] usize,
11209     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11210     #[cfg(not(feature = "Win32_Foundation"))] usize,
11211     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11212     #[cfg(not(feature = "Win32_Foundation"))] usize,
11213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
11214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
11215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11218     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11219     #[cfg(not(feature = "Win32_Foundation"))] usize,
11220     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11221     #[cfg(not(feature = "Win32_Foundation"))] usize,
11222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11225     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11226     #[cfg(not(feature = "Win32_System_Com"))] usize,
11227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11231     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11232     #[cfg(not(feature = "Win32_System_Com"))] usize,
11233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11235     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11236     #[cfg(not(feature = "Win32_Foundation"))] usize,
11237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11238     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11239     #[cfg(not(feature = "Win32_Foundation"))] usize,
11240 );
11241 #[repr(transparent)]
11242 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11243 pub struct IUIAutomationElement6(::windows::runtime::IUnknown);
11244 impl IUIAutomationElement6 {
11245     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
11246         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
11247     }
11248     #[cfg(feature = "Win32_System_Com")]
11249     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
11250         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11251         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
11252     }
11253     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
11254         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11255         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
11256     }
11257     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11258         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11259         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11260     }
11261     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
11262         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11263         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
11264     }
11265     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11266         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11267         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11268     }
11269     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
11270         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11271         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
11272     }
11273     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11274     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11275         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11276         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11277     }
11278     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11279     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11280         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11281         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11282     }
11283     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11284     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11285         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11286         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11287     }
11288     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
11289     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
11290         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11291         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
11292     }
11293     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
11294         let mut result__ = ::std::option::Option::None;
11295         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
11296     }
11297     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
11298         let mut result__ = ::std::option::Option::None;
11299         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
11300     }
11301     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
11302         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11303         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
11304     }
11305     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
11306         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11307         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
11308     }
11309     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
11310         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11311         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
11312     }
11313     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11314         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11315         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11316     }
11317     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
11318         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11319         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11320     }
11321     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
11322         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11323         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11324     }
11325     #[cfg(feature = "Win32_Foundation")]
11326     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11327         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11328         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11329     }
11330     #[cfg(feature = "Win32_Foundation")]
11331     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11332         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11333         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11334     }
11335     #[cfg(feature = "Win32_Foundation")]
11336     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11337         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11338         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11339     }
11340     #[cfg(feature = "Win32_Foundation")]
11341     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11342         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11343         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11344     }
11345     #[cfg(feature = "Win32_Foundation")]
11346     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11347         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11348         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11349     }
11350     #[cfg(feature = "Win32_Foundation")]
11351     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11352         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11353         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11354     }
11355     #[cfg(feature = "Win32_Foundation")]
11356     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11357         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11358         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11359     }
11360     #[cfg(feature = "Win32_Foundation")]
11361     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11362         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11363         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11364     }
11365     #[cfg(feature = "Win32_Foundation")]
11366     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11367         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11368         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11369     }
11370     #[cfg(feature = "Win32_Foundation")]
11371     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11372         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11373         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11374     }
11375     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
11376         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11377         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11378     }
11379     #[cfg(feature = "Win32_Foundation")]
11380     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11381         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11382         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11383     }
11384     #[cfg(feature = "Win32_Foundation")]
11385     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11386         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11387         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11388     }
11389     #[cfg(feature = "Win32_Foundation")]
11390     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11391         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11392         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11393     }
11394     #[cfg(feature = "Win32_Foundation")]
11395     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
11396         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
11397     }
11398     #[cfg(feature = "Win32_Foundation")]
11399     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11400         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11401         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11402     }
11403     #[cfg(feature = "Win32_Foundation")]
11404     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11405         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11406         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11407     }
11408     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
11409         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11410         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
11411     }
11412     #[cfg(feature = "Win32_Foundation")]
11413     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11414         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11415         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11416     }
11417     #[cfg(feature = "Win32_Foundation")]
11418     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11419         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11420         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11421     }
11422     #[cfg(feature = "Win32_Foundation")]
11423     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11424         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11425         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11426     }
11427     #[cfg(feature = "Win32_Foundation")]
11428     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
11429         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11430         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
11431     }
11432     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
11433         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11434         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
11435     }
11436     #[cfg(feature = "Win32_Foundation")]
11437     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11438         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11439         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11440     }
11441     #[cfg(feature = "Win32_Foundation")]
11442     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11443         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11444         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11445     }
11446     #[cfg(feature = "Win32_Foundation")]
11447     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11448         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11449         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11450     }
11451     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11452         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11453         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11454     }
11455     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11456         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11457         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11458     }
11459     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11460         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11461         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11462     }
11463     #[cfg(feature = "Win32_Foundation")]
11464     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11465         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11466         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11467     }
11468     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
11469         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11470         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11471     }
11472     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
11473         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11474         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11475     }
11476     #[cfg(feature = "Win32_Foundation")]
11477     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11478         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11479         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11480     }
11481     #[cfg(feature = "Win32_Foundation")]
11482     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11483         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11484         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11485     }
11486     #[cfg(feature = "Win32_Foundation")]
11487     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11488         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11489         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11490     }
11491     #[cfg(feature = "Win32_Foundation")]
11492     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11493         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11494         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11495     }
11496     #[cfg(feature = "Win32_Foundation")]
11497     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11498         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11499         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11500     }
11501     #[cfg(feature = "Win32_Foundation")]
11502     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11503         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11504         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11505     }
11506     #[cfg(feature = "Win32_Foundation")]
11507     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11508         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11509         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11510     }
11511     #[cfg(feature = "Win32_Foundation")]
11512     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11513         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11514         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11515     }
11516     #[cfg(feature = "Win32_Foundation")]
11517     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11518         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11519         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11520     }
11521     #[cfg(feature = "Win32_Foundation")]
11522     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11523         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11524         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11525     }
11526     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
11527         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11528         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11529     }
11530     #[cfg(feature = "Win32_Foundation")]
11531     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11532         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11533         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11534     }
11535     #[cfg(feature = "Win32_Foundation")]
11536     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11537         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11538         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11539     }
11540     #[cfg(feature = "Win32_Foundation")]
11541     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11542         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11543         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11544     }
11545     #[cfg(feature = "Win32_Foundation")]
11546     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
11547         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
11548     }
11549     #[cfg(feature = "Win32_Foundation")]
11550     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11551         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11552         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11553     }
11554     #[cfg(feature = "Win32_Foundation")]
11555     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11556         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11557         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11558     }
11559     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
11560         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11561         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
11562     }
11563     #[cfg(feature = "Win32_Foundation")]
11564     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11565         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11566         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11567     }
11568     #[cfg(feature = "Win32_Foundation")]
11569     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11570         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11571         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11572     }
11573     #[cfg(feature = "Win32_Foundation")]
11574     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11575         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11576         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11577     }
11578     #[cfg(feature = "Win32_Foundation")]
11579     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
11580         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11581         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
11582     }
11583     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
11584         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11585         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
11586     }
11587     #[cfg(feature = "Win32_Foundation")]
11588     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11589         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11590         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11591     }
11592     #[cfg(feature = "Win32_Foundation")]
11593     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11594         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11595         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11596     }
11597     #[cfg(feature = "Win32_Foundation")]
11598     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11599         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11600         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11601     }
11602     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11603         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11604         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11605     }
11606     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11607         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11608         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11609     }
11610     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11611         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11612         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11613     }
11614     #[cfg(feature = "Win32_Foundation")]
11615     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11616         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11617         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11618     }
11619     #[cfg(feature = "Win32_Foundation")]
11620     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
11621         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
11622     }
11623     #[cfg(feature = "Win32_Foundation")]
11624     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11625         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11626         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11627     }
11628     #[cfg(feature = "Win32_Foundation")]
11629     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11630         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11631         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11632     }
11633     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
11634         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11635         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
11636     }
11637     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
11638         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11639         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
11640     }
11641     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11642         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11643         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11644     }
11645     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11646         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11647         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11648     }
11649     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
11650         (::windows::runtime::Interface::vtable(self).91)(::std::mem::transmute_copy(self)).ok()
11651     }
11652     #[cfg(feature = "Win32_Foundation")]
11653     pub unsafe fn CurrentIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11654         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11655         (::windows::runtime::Interface::vtable(self).92)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11656     }
11657     #[cfg(feature = "Win32_Foundation")]
11658     pub unsafe fn CachedIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
11659         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11660         (::windows::runtime::Interface::vtable(self).93)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
11661     }
11662     pub unsafe fn CurrentPositionInSet(&self) -> ::windows::runtime::Result<i32> {
11663         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11664         (::windows::runtime::Interface::vtable(self).94)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11665     }
11666     pub unsafe fn CurrentSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
11667         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11668         (::windows::runtime::Interface::vtable(self).95)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11669     }
11670     pub unsafe fn CurrentLevel(&self) -> ::windows::runtime::Result<i32> {
11671         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11672         (::windows::runtime::Interface::vtable(self).96)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11673     }
11674     #[cfg(feature = "Win32_System_Com")]
11675     pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
11676         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11677         (::windows::runtime::Interface::vtable(self).97)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
11678     }
11679     pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11680         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11681         (::windows::runtime::Interface::vtable(self).98)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11682     }
11683     pub unsafe fn CachedPositionInSet(&self) -> ::windows::runtime::Result<i32> {
11684         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11685         (::windows::runtime::Interface::vtable(self).99)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11686     }
11687     pub unsafe fn CachedSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
11688         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11689         (::windows::runtime::Interface::vtable(self).100)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11690     }
11691     pub unsafe fn CachedLevel(&self) -> ::windows::runtime::Result<i32> {
11692         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11693         (::windows::runtime::Interface::vtable(self).101)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11694     }
11695     #[cfg(feature = "Win32_System_Com")]
11696     pub unsafe fn CachedAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
11697         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11698         (::windows::runtime::Interface::vtable(self).102)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
11699     }
11700     pub unsafe fn CachedAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
11701         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11702         (::windows::runtime::Interface::vtable(self).103)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
11703     }
11704     pub unsafe fn CurrentLandmarkType(&self) -> ::windows::runtime::Result<i32> {
11705         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11706         (::windows::runtime::Interface::vtable(self).104)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11707     }
11708     #[cfg(feature = "Win32_Foundation")]
11709     pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11710         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11711         (::windows::runtime::Interface::vtable(self).105)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11712     }
11713     pub unsafe fn CachedLandmarkType(&self) -> ::windows::runtime::Result<i32> {
11714         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11715         (::windows::runtime::Interface::vtable(self).106)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
11716     }
11717     #[cfg(feature = "Win32_Foundation")]
11718     pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11719         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11720         (::windows::runtime::Interface::vtable(self).107)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11721     }
11722     #[cfg(feature = "Win32_Foundation")]
11723     pub unsafe fn CurrentFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11724         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11725         (::windows::runtime::Interface::vtable(self).108)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11726     }
11727     #[cfg(feature = "Win32_Foundation")]
11728     pub unsafe fn CachedFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
11729         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
11730         (::windows::runtime::Interface::vtable(self).109)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
11731     }
11732 }
11733 unsafe impl ::windows::runtime::Interface for IUIAutomationElement6 {
11734     type Vtable = IUIAutomationElement6_abi;
11735     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1199625296, 35786, 18807, [175, 165, 164, 165, 23, 245, 85, 227]);
11736 }
11737 impl ::std::convert::From<IUIAutomationElement6> for ::windows::runtime::IUnknown {
11738     fn from(value: IUIAutomationElement6) -> Self {
11739         unsafe { ::std::mem::transmute(value) }
11740     }
11741 }
11742 impl ::std::convert::From<&IUIAutomationElement6> for ::windows::runtime::IUnknown {
11743     fn from(value: &IUIAutomationElement6) -> Self {
11744         ::std::convert::From::from(::std::clone::Clone::clone(value))
11745     }
11746 }
11747 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement6 {
11748     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11749         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11750     }
11751 }
11752 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement6 {
11753     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11754         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11755     }
11756 }
11757 impl ::std::convert::From<IUIAutomationElement6> for IUIAutomationElement5 {
11758     fn from(value: IUIAutomationElement6) -> Self {
11759         unsafe { ::std::mem::transmute(value) }
11760     }
11761 }
11762 impl ::std::convert::From<&IUIAutomationElement6> for IUIAutomationElement5 {
11763     fn from(value: &IUIAutomationElement6) -> Self {
11764         ::std::convert::From::from(::std::clone::Clone::clone(value))
11765     }
11766 }
11767 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for IUIAutomationElement6 {
11768     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
11769         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(self))
11770     }
11771 }
11772 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for &IUIAutomationElement6 {
11773     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
11774         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(::std::clone::Clone::clone(self)))
11775     }
11776 }
11777 impl ::std::convert::From<IUIAutomationElement6> for IUIAutomationElement4 {
11778     fn from(value: IUIAutomationElement6) -> Self {
11779         unsafe { ::std::mem::transmute(value) }
11780     }
11781 }
11782 impl ::std::convert::From<&IUIAutomationElement6> for IUIAutomationElement4 {
11783     fn from(value: &IUIAutomationElement6) -> Self {
11784         ::std::convert::From::from(::std::clone::Clone::clone(value))
11785     }
11786 }
11787 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for IUIAutomationElement6 {
11788     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
11789         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(self))
11790     }
11791 }
11792 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for &IUIAutomationElement6 {
11793     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
11794         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(::std::clone::Clone::clone(self)))
11795     }
11796 }
11797 impl ::std::convert::From<IUIAutomationElement6> for IUIAutomationElement3 {
11798     fn from(value: IUIAutomationElement6) -> Self {
11799         unsafe { ::std::mem::transmute(value) }
11800     }
11801 }
11802 impl ::std::convert::From<&IUIAutomationElement6> for IUIAutomationElement3 {
11803     fn from(value: &IUIAutomationElement6) -> Self {
11804         ::std::convert::From::from(::std::clone::Clone::clone(value))
11805     }
11806 }
11807 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for IUIAutomationElement6 {
11808     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
11809         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(self))
11810     }
11811 }
11812 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for &IUIAutomationElement6 {
11813     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
11814         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(::std::clone::Clone::clone(self)))
11815     }
11816 }
11817 impl ::std::convert::From<IUIAutomationElement6> for IUIAutomationElement2 {
11818     fn from(value: IUIAutomationElement6) -> Self {
11819         unsafe { ::std::mem::transmute(value) }
11820     }
11821 }
11822 impl ::std::convert::From<&IUIAutomationElement6> for IUIAutomationElement2 {
11823     fn from(value: &IUIAutomationElement6) -> Self {
11824         ::std::convert::From::from(::std::clone::Clone::clone(value))
11825     }
11826 }
11827 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for IUIAutomationElement6 {
11828     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
11829         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(self))
11830     }
11831 }
11832 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for &IUIAutomationElement6 {
11833     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
11834         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(::std::clone::Clone::clone(self)))
11835     }
11836 }
11837 impl ::std::convert::From<IUIAutomationElement6> for IUIAutomationElement {
11838     fn from(value: IUIAutomationElement6) -> Self {
11839         unsafe { ::std::mem::transmute(value) }
11840     }
11841 }
11842 impl ::std::convert::From<&IUIAutomationElement6> for IUIAutomationElement {
11843     fn from(value: &IUIAutomationElement6) -> Self {
11844         ::std::convert::From::from(::std::clone::Clone::clone(value))
11845     }
11846 }
11847 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement6 {
11848     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
11849         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
11850     }
11851 }
11852 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement6 {
11853     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
11854         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
11855     }
11856 }
11857 #[repr(C)]
11858 #[doc(hidden)]
11859 pub struct IUIAutomationElement6_abi(
11860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
11863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11864     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
11865     #[cfg(not(feature = "Win32_System_Com"))] usize,
11866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11871     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11872     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11873     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11874     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11875     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11876     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11877     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
11878     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
11879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
11880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
11881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11887     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11888     #[cfg(not(feature = "Win32_Foundation"))] usize,
11889     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11890     #[cfg(not(feature = "Win32_Foundation"))] usize,
11891     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11892     #[cfg(not(feature = "Win32_Foundation"))] usize,
11893     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11894     #[cfg(not(feature = "Win32_Foundation"))] usize,
11895     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11896     #[cfg(not(feature = "Win32_Foundation"))] usize,
11897     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11898     #[cfg(not(feature = "Win32_Foundation"))] usize,
11899     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11900     #[cfg(not(feature = "Win32_Foundation"))] usize,
11901     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11902     #[cfg(not(feature = "Win32_Foundation"))] usize,
11903     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11904     #[cfg(not(feature = "Win32_Foundation"))] usize,
11905     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11906     #[cfg(not(feature = "Win32_Foundation"))] usize,
11907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11908     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11909     #[cfg(not(feature = "Win32_Foundation"))] usize,
11910     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11911     #[cfg(not(feature = "Win32_Foundation"))] usize,
11912     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11913     #[cfg(not(feature = "Win32_Foundation"))] usize,
11914     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
11915     #[cfg(not(feature = "Win32_Foundation"))] usize,
11916     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11917     #[cfg(not(feature = "Win32_Foundation"))] usize,
11918     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11919     #[cfg(not(feature = "Win32_Foundation"))] usize,
11920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
11921     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11922     #[cfg(not(feature = "Win32_Foundation"))] usize,
11923     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11924     #[cfg(not(feature = "Win32_Foundation"))] usize,
11925     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11926     #[cfg(not(feature = "Win32_Foundation"))] usize,
11927     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
11928     #[cfg(not(feature = "Win32_Foundation"))] usize,
11929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11930     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11931     #[cfg(not(feature = "Win32_Foundation"))] usize,
11932     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11933     #[cfg(not(feature = "Win32_Foundation"))] usize,
11934     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11935     #[cfg(not(feature = "Win32_Foundation"))] usize,
11936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11939     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11940     #[cfg(not(feature = "Win32_Foundation"))] usize,
11941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11943     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11944     #[cfg(not(feature = "Win32_Foundation"))] usize,
11945     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11946     #[cfg(not(feature = "Win32_Foundation"))] usize,
11947     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11948     #[cfg(not(feature = "Win32_Foundation"))] usize,
11949     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11950     #[cfg(not(feature = "Win32_Foundation"))] usize,
11951     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11952     #[cfg(not(feature = "Win32_Foundation"))] usize,
11953     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11954     #[cfg(not(feature = "Win32_Foundation"))] usize,
11955     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11956     #[cfg(not(feature = "Win32_Foundation"))] usize,
11957     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11958     #[cfg(not(feature = "Win32_Foundation"))] usize,
11959     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11960     #[cfg(not(feature = "Win32_Foundation"))] usize,
11961     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11962     #[cfg(not(feature = "Win32_Foundation"))] usize,
11963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
11964     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11965     #[cfg(not(feature = "Win32_Foundation"))] usize,
11966     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11967     #[cfg(not(feature = "Win32_Foundation"))] usize,
11968     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11969     #[cfg(not(feature = "Win32_Foundation"))] usize,
11970     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
11971     #[cfg(not(feature = "Win32_Foundation"))] usize,
11972     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11973     #[cfg(not(feature = "Win32_Foundation"))] usize,
11974     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11975     #[cfg(not(feature = "Win32_Foundation"))] usize,
11976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
11977     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11978     #[cfg(not(feature = "Win32_Foundation"))] usize,
11979     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11980     #[cfg(not(feature = "Win32_Foundation"))] usize,
11981     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11982     #[cfg(not(feature = "Win32_Foundation"))] usize,
11983     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
11984     #[cfg(not(feature = "Win32_Foundation"))] usize,
11985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11986     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11987     #[cfg(not(feature = "Win32_Foundation"))] usize,
11988     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11989     #[cfg(not(feature = "Win32_Foundation"))] usize,
11990     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11991     #[cfg(not(feature = "Win32_Foundation"))] usize,
11992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
11995     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
11996     #[cfg(not(feature = "Win32_Foundation"))] usize,
11997     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
11998     #[cfg(not(feature = "Win32_Foundation"))] usize,
11999     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12000     #[cfg(not(feature = "Win32_Foundation"))] usize,
12001     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12002     #[cfg(not(feature = "Win32_Foundation"))] usize,
12003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
12004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
12005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12008     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12009     #[cfg(not(feature = "Win32_Foundation"))] usize,
12010     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12011     #[cfg(not(feature = "Win32_Foundation"))] usize,
12012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12014     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12015     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
12016     #[cfg(not(feature = "Win32_System_Com"))] usize,
12017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12021     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
12022     #[cfg(not(feature = "Win32_System_Com"))] usize,
12023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12025     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12026     #[cfg(not(feature = "Win32_Foundation"))] usize,
12027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12028     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12029     #[cfg(not(feature = "Win32_Foundation"))] usize,
12030     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12031     #[cfg(not(feature = "Win32_Foundation"))] usize,
12032     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12033     #[cfg(not(feature = "Win32_Foundation"))] usize,
12034 );
12035 #[repr(transparent)]
12036 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12037 pub struct IUIAutomationElement7(::windows::runtime::IUnknown);
12038 impl IUIAutomationElement7 {
12039     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
12040         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
12041     }
12042     #[cfg(feature = "Win32_System_Com")]
12043     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
12044         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12045         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
12046     }
12047     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
12048         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12049         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12050     }
12051     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12052         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12053         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12054     }
12055     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
12056         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12057         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12058     }
12059     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12060         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12061         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12062     }
12063     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
12064         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12065         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12066     }
12067     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12068     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12069         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12070         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12071     }
12072     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12073     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12074         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12075         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12076     }
12077     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12078     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12079         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12080         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12081     }
12082     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12083     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12084         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12085         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12086     }
12087     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
12088         let mut result__ = ::std::option::Option::None;
12089         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
12090     }
12091     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
12092         let mut result__ = ::std::option::Option::None;
12093         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
12094     }
12095     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
12096         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12097         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
12098     }
12099     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
12100         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12101         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
12102     }
12103     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
12104         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12105         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
12106     }
12107     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12108         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12109         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12110     }
12111     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
12112         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12113         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12114     }
12115     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
12116         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12117         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12118     }
12119     #[cfg(feature = "Win32_Foundation")]
12120     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12121         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12122         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12123     }
12124     #[cfg(feature = "Win32_Foundation")]
12125     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12126         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12127         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12128     }
12129     #[cfg(feature = "Win32_Foundation")]
12130     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12131         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12132         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12133     }
12134     #[cfg(feature = "Win32_Foundation")]
12135     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12136         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12137         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12138     }
12139     #[cfg(feature = "Win32_Foundation")]
12140     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12141         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12142         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12143     }
12144     #[cfg(feature = "Win32_Foundation")]
12145     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12146         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12147         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12148     }
12149     #[cfg(feature = "Win32_Foundation")]
12150     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12151         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12152         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12153     }
12154     #[cfg(feature = "Win32_Foundation")]
12155     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12156         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12157         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12158     }
12159     #[cfg(feature = "Win32_Foundation")]
12160     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12161         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12162         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12163     }
12164     #[cfg(feature = "Win32_Foundation")]
12165     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12166         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12167         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12168     }
12169     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
12170         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12171         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12172     }
12173     #[cfg(feature = "Win32_Foundation")]
12174     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12175         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12176         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12177     }
12178     #[cfg(feature = "Win32_Foundation")]
12179     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12180         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12181         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12182     }
12183     #[cfg(feature = "Win32_Foundation")]
12184     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12185         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12186         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12187     }
12188     #[cfg(feature = "Win32_Foundation")]
12189     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
12190         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
12191     }
12192     #[cfg(feature = "Win32_Foundation")]
12193     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12194         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12195         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12196     }
12197     #[cfg(feature = "Win32_Foundation")]
12198     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12199         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12200         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12201     }
12202     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
12203         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12204         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
12205     }
12206     #[cfg(feature = "Win32_Foundation")]
12207     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12208         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12209         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12210     }
12211     #[cfg(feature = "Win32_Foundation")]
12212     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12213         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12214         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12215     }
12216     #[cfg(feature = "Win32_Foundation")]
12217     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12218         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12219         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12220     }
12221     #[cfg(feature = "Win32_Foundation")]
12222     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
12223         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12224         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
12225     }
12226     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
12227         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12228         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
12229     }
12230     #[cfg(feature = "Win32_Foundation")]
12231     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12232         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12233         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12234     }
12235     #[cfg(feature = "Win32_Foundation")]
12236     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12237         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12238         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12239     }
12240     #[cfg(feature = "Win32_Foundation")]
12241     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12242         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12243         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12244     }
12245     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12246         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12247         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12248     }
12249     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12250         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12251         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12252     }
12253     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12254         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12255         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12256     }
12257     #[cfg(feature = "Win32_Foundation")]
12258     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12259         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12260         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12261     }
12262     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
12263         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12264         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12265     }
12266     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
12267         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12268         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12269     }
12270     #[cfg(feature = "Win32_Foundation")]
12271     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12272         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12273         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12274     }
12275     #[cfg(feature = "Win32_Foundation")]
12276     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12277         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12278         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12279     }
12280     #[cfg(feature = "Win32_Foundation")]
12281     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12282         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12283         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12284     }
12285     #[cfg(feature = "Win32_Foundation")]
12286     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12287         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12288         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12289     }
12290     #[cfg(feature = "Win32_Foundation")]
12291     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12292         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12293         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12294     }
12295     #[cfg(feature = "Win32_Foundation")]
12296     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12297         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12298         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12299     }
12300     #[cfg(feature = "Win32_Foundation")]
12301     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12302         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12303         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12304     }
12305     #[cfg(feature = "Win32_Foundation")]
12306     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12307         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12308         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12309     }
12310     #[cfg(feature = "Win32_Foundation")]
12311     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12312         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12313         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12314     }
12315     #[cfg(feature = "Win32_Foundation")]
12316     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12317         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12318         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12319     }
12320     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
12321         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12322         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12323     }
12324     #[cfg(feature = "Win32_Foundation")]
12325     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12326         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12327         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12328     }
12329     #[cfg(feature = "Win32_Foundation")]
12330     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12331         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12332         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12333     }
12334     #[cfg(feature = "Win32_Foundation")]
12335     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12336         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12337         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12338     }
12339     #[cfg(feature = "Win32_Foundation")]
12340     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
12341         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
12342     }
12343     #[cfg(feature = "Win32_Foundation")]
12344     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12345         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12346         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12347     }
12348     #[cfg(feature = "Win32_Foundation")]
12349     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12350         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12351         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12352     }
12353     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
12354         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12355         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
12356     }
12357     #[cfg(feature = "Win32_Foundation")]
12358     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12359         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12360         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12361     }
12362     #[cfg(feature = "Win32_Foundation")]
12363     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12364         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12365         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12366     }
12367     #[cfg(feature = "Win32_Foundation")]
12368     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12369         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12370         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12371     }
12372     #[cfg(feature = "Win32_Foundation")]
12373     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
12374         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12375         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
12376     }
12377     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
12378         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12379         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
12380     }
12381     #[cfg(feature = "Win32_Foundation")]
12382     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12383         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12384         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12385     }
12386     #[cfg(feature = "Win32_Foundation")]
12387     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12388         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12389         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12390     }
12391     #[cfg(feature = "Win32_Foundation")]
12392     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12393         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12394         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12395     }
12396     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12397         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12398         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12399     }
12400     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12401         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12402         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12403     }
12404     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12405         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12406         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12407     }
12408     #[cfg(feature = "Win32_Foundation")]
12409     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12410         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12411         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12412     }
12413     #[cfg(feature = "Win32_Foundation")]
12414     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
12415         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
12416     }
12417     #[cfg(feature = "Win32_Foundation")]
12418     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12419         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12420         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12421     }
12422     #[cfg(feature = "Win32_Foundation")]
12423     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12424         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12425         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12426     }
12427     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
12428         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12429         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
12430     }
12431     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
12432         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12433         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
12434     }
12435     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12436         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12437         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12438     }
12439     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12440         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12441         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12442     }
12443     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
12444         (::windows::runtime::Interface::vtable(self).91)(::std::mem::transmute_copy(self)).ok()
12445     }
12446     #[cfg(feature = "Win32_Foundation")]
12447     pub unsafe fn CurrentIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12448         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12449         (::windows::runtime::Interface::vtable(self).92)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12450     }
12451     #[cfg(feature = "Win32_Foundation")]
12452     pub unsafe fn CachedIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12453         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12454         (::windows::runtime::Interface::vtable(self).93)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12455     }
12456     pub unsafe fn CurrentPositionInSet(&self) -> ::windows::runtime::Result<i32> {
12457         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12458         (::windows::runtime::Interface::vtable(self).94)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12459     }
12460     pub unsafe fn CurrentSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
12461         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12462         (::windows::runtime::Interface::vtable(self).95)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12463     }
12464     pub unsafe fn CurrentLevel(&self) -> ::windows::runtime::Result<i32> {
12465         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12466         (::windows::runtime::Interface::vtable(self).96)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12467     }
12468     #[cfg(feature = "Win32_System_Com")]
12469     pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
12470         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12471         (::windows::runtime::Interface::vtable(self).97)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
12472     }
12473     pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12474         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12475         (::windows::runtime::Interface::vtable(self).98)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12476     }
12477     pub unsafe fn CachedPositionInSet(&self) -> ::windows::runtime::Result<i32> {
12478         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12479         (::windows::runtime::Interface::vtable(self).99)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12480     }
12481     pub unsafe fn CachedSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
12482         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12483         (::windows::runtime::Interface::vtable(self).100)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12484     }
12485     pub unsafe fn CachedLevel(&self) -> ::windows::runtime::Result<i32> {
12486         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12487         (::windows::runtime::Interface::vtable(self).101)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12488     }
12489     #[cfg(feature = "Win32_System_Com")]
12490     pub unsafe fn CachedAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
12491         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12492         (::windows::runtime::Interface::vtable(self).102)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
12493     }
12494     pub unsafe fn CachedAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12495         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12496         (::windows::runtime::Interface::vtable(self).103)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12497     }
12498     pub unsafe fn CurrentLandmarkType(&self) -> ::windows::runtime::Result<i32> {
12499         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12500         (::windows::runtime::Interface::vtable(self).104)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12501     }
12502     #[cfg(feature = "Win32_Foundation")]
12503     pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12504         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12505         (::windows::runtime::Interface::vtable(self).105)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12506     }
12507     pub unsafe fn CachedLandmarkType(&self) -> ::windows::runtime::Result<i32> {
12508         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12509         (::windows::runtime::Interface::vtable(self).106)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12510     }
12511     #[cfg(feature = "Win32_Foundation")]
12512     pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12513         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12514         (::windows::runtime::Interface::vtable(self).107)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12515     }
12516     #[cfg(feature = "Win32_Foundation")]
12517     pub unsafe fn CurrentFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12518         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12519         (::windows::runtime::Interface::vtable(self).108)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12520     }
12521     #[cfg(feature = "Win32_Foundation")]
12522     pub unsafe fn CachedFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12523         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12524         (::windows::runtime::Interface::vtable(self).109)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12525     }
12526     pub unsafe fn FindFirstWithOptions<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, traversaloptions: TreeTraversalOptions, root: Param3) -> ::windows::runtime::Result<IUIAutomationElement> {
12527         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12528         (::windows::runtime::Interface::vtable(self).110)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12529     }
12530     pub unsafe fn FindAllWithOptions<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, traversaloptions: TreeTraversalOptions, root: Param3) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12531         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12532         (::windows::runtime::Interface::vtable(self).111)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12533     }
12534     pub unsafe fn FindFirstWithOptionsBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2, traversaloptions: TreeTraversalOptions, root: Param4) -> ::windows::runtime::Result<IUIAutomationElement> {
12535         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12536         (::windows::runtime::Interface::vtable(self).112)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12537     }
12538     pub unsafe fn FindAllWithOptionsBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2, traversaloptions: TreeTraversalOptions, root: Param4) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12539         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12540         (::windows::runtime::Interface::vtable(self).113)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12541     }
12542     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12543     pub unsafe fn GetCurrentMetadataValue(&self, targetid: i32, metadataid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12544         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12545         (::windows::runtime::Interface::vtable(self).114)(::std::mem::transmute_copy(self), ::std::mem::transmute(targetid), ::std::mem::transmute(metadataid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12546     }
12547 }
12548 unsafe impl ::windows::runtime::Interface for IUIAutomationElement7 {
12549     type Vtable = IUIAutomationElement7_abi;
12550     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(542016882, 53187, 19473, [176, 200, 125, 167, 66, 7, 80, 183]);
12551 }
12552 impl ::std::convert::From<IUIAutomationElement7> for ::windows::runtime::IUnknown {
12553     fn from(value: IUIAutomationElement7) -> Self {
12554         unsafe { ::std::mem::transmute(value) }
12555     }
12556 }
12557 impl ::std::convert::From<&IUIAutomationElement7> for ::windows::runtime::IUnknown {
12558     fn from(value: &IUIAutomationElement7) -> Self {
12559         ::std::convert::From::from(::std::clone::Clone::clone(value))
12560     }
12561 }
12562 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement7 {
12563     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12564         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
12565     }
12566 }
12567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement7 {
12568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12569         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
12570     }
12571 }
12572 impl ::std::convert::From<IUIAutomationElement7> for IUIAutomationElement6 {
12573     fn from(value: IUIAutomationElement7) -> Self {
12574         unsafe { ::std::mem::transmute(value) }
12575     }
12576 }
12577 impl ::std::convert::From<&IUIAutomationElement7> for IUIAutomationElement6 {
12578     fn from(value: &IUIAutomationElement7) -> Self {
12579         ::std::convert::From::from(::std::clone::Clone::clone(value))
12580     }
12581 }
12582 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement6> for IUIAutomationElement7 {
12583     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement6> {
12584         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement6>::into(self))
12585     }
12586 }
12587 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement6> for &IUIAutomationElement7 {
12588     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement6> {
12589         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement6>::into(::std::clone::Clone::clone(self)))
12590     }
12591 }
12592 impl ::std::convert::From<IUIAutomationElement7> for IUIAutomationElement5 {
12593     fn from(value: IUIAutomationElement7) -> Self {
12594         unsafe { ::std::mem::transmute(value) }
12595     }
12596 }
12597 impl ::std::convert::From<&IUIAutomationElement7> for IUIAutomationElement5 {
12598     fn from(value: &IUIAutomationElement7) -> Self {
12599         ::std::convert::From::from(::std::clone::Clone::clone(value))
12600     }
12601 }
12602 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for IUIAutomationElement7 {
12603     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
12604         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(self))
12605     }
12606 }
12607 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for &IUIAutomationElement7 {
12608     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
12609         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(::std::clone::Clone::clone(self)))
12610     }
12611 }
12612 impl ::std::convert::From<IUIAutomationElement7> for IUIAutomationElement4 {
12613     fn from(value: IUIAutomationElement7) -> Self {
12614         unsafe { ::std::mem::transmute(value) }
12615     }
12616 }
12617 impl ::std::convert::From<&IUIAutomationElement7> for IUIAutomationElement4 {
12618     fn from(value: &IUIAutomationElement7) -> Self {
12619         ::std::convert::From::from(::std::clone::Clone::clone(value))
12620     }
12621 }
12622 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for IUIAutomationElement7 {
12623     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
12624         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(self))
12625     }
12626 }
12627 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for &IUIAutomationElement7 {
12628     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
12629         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(::std::clone::Clone::clone(self)))
12630     }
12631 }
12632 impl ::std::convert::From<IUIAutomationElement7> for IUIAutomationElement3 {
12633     fn from(value: IUIAutomationElement7) -> Self {
12634         unsafe { ::std::mem::transmute(value) }
12635     }
12636 }
12637 impl ::std::convert::From<&IUIAutomationElement7> for IUIAutomationElement3 {
12638     fn from(value: &IUIAutomationElement7) -> Self {
12639         ::std::convert::From::from(::std::clone::Clone::clone(value))
12640     }
12641 }
12642 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for IUIAutomationElement7 {
12643     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
12644         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(self))
12645     }
12646 }
12647 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for &IUIAutomationElement7 {
12648     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
12649         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(::std::clone::Clone::clone(self)))
12650     }
12651 }
12652 impl ::std::convert::From<IUIAutomationElement7> for IUIAutomationElement2 {
12653     fn from(value: IUIAutomationElement7) -> Self {
12654         unsafe { ::std::mem::transmute(value) }
12655     }
12656 }
12657 impl ::std::convert::From<&IUIAutomationElement7> for IUIAutomationElement2 {
12658     fn from(value: &IUIAutomationElement7) -> Self {
12659         ::std::convert::From::from(::std::clone::Clone::clone(value))
12660     }
12661 }
12662 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for IUIAutomationElement7 {
12663     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
12664         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(self))
12665     }
12666 }
12667 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for &IUIAutomationElement7 {
12668     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
12669         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(::std::clone::Clone::clone(self)))
12670     }
12671 }
12672 impl ::std::convert::From<IUIAutomationElement7> for IUIAutomationElement {
12673     fn from(value: IUIAutomationElement7) -> Self {
12674         unsafe { ::std::mem::transmute(value) }
12675     }
12676 }
12677 impl ::std::convert::From<&IUIAutomationElement7> for IUIAutomationElement {
12678     fn from(value: &IUIAutomationElement7) -> Self {
12679         ::std::convert::From::from(::std::clone::Clone::clone(value))
12680     }
12681 }
12682 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement7 {
12683     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
12684         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
12685     }
12686 }
12687 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement7 {
12688     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
12689         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
12690     }
12691 }
12692 #[repr(C)]
12693 #[doc(hidden)]
12694 pub struct IUIAutomationElement7_abi(
12695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
12698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12699     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
12700     #[cfg(not(feature = "Win32_System_Com"))] usize,
12701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12706     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
12707     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
12708     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
12709     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
12710     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
12711     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
12712     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
12713     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
12714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
12715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
12716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12722     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12723     #[cfg(not(feature = "Win32_Foundation"))] usize,
12724     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12725     #[cfg(not(feature = "Win32_Foundation"))] usize,
12726     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12727     #[cfg(not(feature = "Win32_Foundation"))] usize,
12728     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12729     #[cfg(not(feature = "Win32_Foundation"))] usize,
12730     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12731     #[cfg(not(feature = "Win32_Foundation"))] usize,
12732     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12733     #[cfg(not(feature = "Win32_Foundation"))] usize,
12734     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12735     #[cfg(not(feature = "Win32_Foundation"))] usize,
12736     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12737     #[cfg(not(feature = "Win32_Foundation"))] usize,
12738     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12739     #[cfg(not(feature = "Win32_Foundation"))] usize,
12740     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12741     #[cfg(not(feature = "Win32_Foundation"))] usize,
12742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12743     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12744     #[cfg(not(feature = "Win32_Foundation"))] usize,
12745     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12746     #[cfg(not(feature = "Win32_Foundation"))] usize,
12747     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12748     #[cfg(not(feature = "Win32_Foundation"))] usize,
12749     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
12750     #[cfg(not(feature = "Win32_Foundation"))] usize,
12751     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12752     #[cfg(not(feature = "Win32_Foundation"))] usize,
12753     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12754     #[cfg(not(feature = "Win32_Foundation"))] usize,
12755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
12756     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12757     #[cfg(not(feature = "Win32_Foundation"))] usize,
12758     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12759     #[cfg(not(feature = "Win32_Foundation"))] usize,
12760     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12761     #[cfg(not(feature = "Win32_Foundation"))] usize,
12762     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
12763     #[cfg(not(feature = "Win32_Foundation"))] usize,
12764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12765     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12766     #[cfg(not(feature = "Win32_Foundation"))] usize,
12767     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12768     #[cfg(not(feature = "Win32_Foundation"))] usize,
12769     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12770     #[cfg(not(feature = "Win32_Foundation"))] usize,
12771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12774     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12775     #[cfg(not(feature = "Win32_Foundation"))] usize,
12776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12778     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12779     #[cfg(not(feature = "Win32_Foundation"))] usize,
12780     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12781     #[cfg(not(feature = "Win32_Foundation"))] usize,
12782     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12783     #[cfg(not(feature = "Win32_Foundation"))] usize,
12784     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12785     #[cfg(not(feature = "Win32_Foundation"))] usize,
12786     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12787     #[cfg(not(feature = "Win32_Foundation"))] usize,
12788     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12789     #[cfg(not(feature = "Win32_Foundation"))] usize,
12790     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12791     #[cfg(not(feature = "Win32_Foundation"))] usize,
12792     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12793     #[cfg(not(feature = "Win32_Foundation"))] usize,
12794     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12795     #[cfg(not(feature = "Win32_Foundation"))] usize,
12796     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12797     #[cfg(not(feature = "Win32_Foundation"))] usize,
12798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12799     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12800     #[cfg(not(feature = "Win32_Foundation"))] usize,
12801     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12802     #[cfg(not(feature = "Win32_Foundation"))] usize,
12803     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12804     #[cfg(not(feature = "Win32_Foundation"))] usize,
12805     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
12806     #[cfg(not(feature = "Win32_Foundation"))] usize,
12807     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12808     #[cfg(not(feature = "Win32_Foundation"))] usize,
12809     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12810     #[cfg(not(feature = "Win32_Foundation"))] usize,
12811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
12812     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12813     #[cfg(not(feature = "Win32_Foundation"))] usize,
12814     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12815     #[cfg(not(feature = "Win32_Foundation"))] usize,
12816     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12817     #[cfg(not(feature = "Win32_Foundation"))] usize,
12818     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
12819     #[cfg(not(feature = "Win32_Foundation"))] usize,
12820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12821     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12822     #[cfg(not(feature = "Win32_Foundation"))] usize,
12823     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12824     #[cfg(not(feature = "Win32_Foundation"))] usize,
12825     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12826     #[cfg(not(feature = "Win32_Foundation"))] usize,
12827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12830     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12831     #[cfg(not(feature = "Win32_Foundation"))] usize,
12832     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12833     #[cfg(not(feature = "Win32_Foundation"))] usize,
12834     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12835     #[cfg(not(feature = "Win32_Foundation"))] usize,
12836     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12837     #[cfg(not(feature = "Win32_Foundation"))] usize,
12838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
12839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
12840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12843     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12844     #[cfg(not(feature = "Win32_Foundation"))] usize,
12845     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
12846     #[cfg(not(feature = "Win32_Foundation"))] usize,
12847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12850     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
12851     #[cfg(not(feature = "Win32_System_Com"))] usize,
12852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12856     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
12857     #[cfg(not(feature = "Win32_System_Com"))] usize,
12858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12860     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12861     #[cfg(not(feature = "Win32_Foundation"))] usize,
12862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
12863     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12864     #[cfg(not(feature = "Win32_Foundation"))] usize,
12865     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12866     #[cfg(not(feature = "Win32_Foundation"))] usize,
12867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
12868     #[cfg(not(feature = "Win32_Foundation"))] usize,
12869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
12873     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetid: i32, metadataid: i32, returnval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
12874     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
12875 );
12876 #[repr(transparent)]
12877 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12878 pub struct IUIAutomationElement8(::windows::runtime::IUnknown);
12879 impl IUIAutomationElement8 {
12880     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
12881         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
12882     }
12883     #[cfg(feature = "Win32_System_Com")]
12884     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
12885         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12886         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
12887     }
12888     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
12889         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12890         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12891     }
12892     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12893         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12894         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12895     }
12896     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
12897         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12898         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12899     }
12900     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12901         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12902         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12903     }
12904     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
12905         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12906         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
12907     }
12908     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12909     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12910         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12911         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12912     }
12913     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12914     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12915         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12916         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12917     }
12918     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12919     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12920         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12921         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12922     }
12923     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
12924     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
12925         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12926         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
12927     }
12928     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
12929         let mut result__ = ::std::option::Option::None;
12930         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
12931     }
12932     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
12933         let mut result__ = ::std::option::Option::None;
12934         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
12935     }
12936     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
12937         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12938         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
12939     }
12940     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
12941         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12942         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
12943     }
12944     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
12945         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12946         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
12947     }
12948     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
12949         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12950         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
12951     }
12952     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
12953         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12954         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12955     }
12956     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
12957         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12958         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
12959     }
12960     #[cfg(feature = "Win32_Foundation")]
12961     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12962         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12963         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12964     }
12965     #[cfg(feature = "Win32_Foundation")]
12966     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12967         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12968         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12969     }
12970     #[cfg(feature = "Win32_Foundation")]
12971     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12972         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12973         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12974     }
12975     #[cfg(feature = "Win32_Foundation")]
12976     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12977         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12978         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12979     }
12980     #[cfg(feature = "Win32_Foundation")]
12981     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12982         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12983         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12984     }
12985     #[cfg(feature = "Win32_Foundation")]
12986     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12987         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12988         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12989     }
12990     #[cfg(feature = "Win32_Foundation")]
12991     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
12992         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12993         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
12994     }
12995     #[cfg(feature = "Win32_Foundation")]
12996     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
12997         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
12998         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
12999     }
13000     #[cfg(feature = "Win32_Foundation")]
13001     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13002         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13003         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13004     }
13005     #[cfg(feature = "Win32_Foundation")]
13006     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13007         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13008         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13009     }
13010     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
13011         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13012         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13013     }
13014     #[cfg(feature = "Win32_Foundation")]
13015     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13016         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13017         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13018     }
13019     #[cfg(feature = "Win32_Foundation")]
13020     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13021         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13022         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13023     }
13024     #[cfg(feature = "Win32_Foundation")]
13025     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13026         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13027         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13028     }
13029     #[cfg(feature = "Win32_Foundation")]
13030     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
13031         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
13032     }
13033     #[cfg(feature = "Win32_Foundation")]
13034     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13035         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13036         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13037     }
13038     #[cfg(feature = "Win32_Foundation")]
13039     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13040         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13041         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13042     }
13043     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
13044         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13045         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
13046     }
13047     #[cfg(feature = "Win32_Foundation")]
13048     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13049         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13050         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13051     }
13052     #[cfg(feature = "Win32_Foundation")]
13053     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13054         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13055         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13056     }
13057     #[cfg(feature = "Win32_Foundation")]
13058     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13059         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13060         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13061     }
13062     #[cfg(feature = "Win32_Foundation")]
13063     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
13064         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13065         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
13066     }
13067     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
13068         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13069         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
13070     }
13071     #[cfg(feature = "Win32_Foundation")]
13072     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13073         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13074         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13075     }
13076     #[cfg(feature = "Win32_Foundation")]
13077     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13078         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13079         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13080     }
13081     #[cfg(feature = "Win32_Foundation")]
13082     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13083         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13084         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13085     }
13086     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13087         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13088         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13089     }
13090     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13091         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13092         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13093     }
13094     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13095         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13096         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13097     }
13098     #[cfg(feature = "Win32_Foundation")]
13099     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13100         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13101         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13102     }
13103     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
13104         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13105         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13106     }
13107     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
13108         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13109         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13110     }
13111     #[cfg(feature = "Win32_Foundation")]
13112     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13113         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13114         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13115     }
13116     #[cfg(feature = "Win32_Foundation")]
13117     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13118         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13119         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13120     }
13121     #[cfg(feature = "Win32_Foundation")]
13122     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13123         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13124         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13125     }
13126     #[cfg(feature = "Win32_Foundation")]
13127     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13128         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13129         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13130     }
13131     #[cfg(feature = "Win32_Foundation")]
13132     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13133         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13134         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13135     }
13136     #[cfg(feature = "Win32_Foundation")]
13137     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13138         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13139         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13140     }
13141     #[cfg(feature = "Win32_Foundation")]
13142     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13143         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13144         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13145     }
13146     #[cfg(feature = "Win32_Foundation")]
13147     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13148         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13149         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13150     }
13151     #[cfg(feature = "Win32_Foundation")]
13152     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13153         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13154         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13155     }
13156     #[cfg(feature = "Win32_Foundation")]
13157     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13158         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13159         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13160     }
13161     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
13162         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13163         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13164     }
13165     #[cfg(feature = "Win32_Foundation")]
13166     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13167         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13168         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13169     }
13170     #[cfg(feature = "Win32_Foundation")]
13171     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13172         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13173         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13174     }
13175     #[cfg(feature = "Win32_Foundation")]
13176     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13177         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13178         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13179     }
13180     #[cfg(feature = "Win32_Foundation")]
13181     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
13182         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
13183     }
13184     #[cfg(feature = "Win32_Foundation")]
13185     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13186         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13187         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13188     }
13189     #[cfg(feature = "Win32_Foundation")]
13190     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13191         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13192         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13193     }
13194     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
13195         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13196         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
13197     }
13198     #[cfg(feature = "Win32_Foundation")]
13199     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13200         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13201         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13202     }
13203     #[cfg(feature = "Win32_Foundation")]
13204     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13205         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13206         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13207     }
13208     #[cfg(feature = "Win32_Foundation")]
13209     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13210         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13211         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13212     }
13213     #[cfg(feature = "Win32_Foundation")]
13214     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
13215         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13216         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
13217     }
13218     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
13219         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13220         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
13221     }
13222     #[cfg(feature = "Win32_Foundation")]
13223     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13224         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13225         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13226     }
13227     #[cfg(feature = "Win32_Foundation")]
13228     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13229         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13230         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13231     }
13232     #[cfg(feature = "Win32_Foundation")]
13233     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13234         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13235         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13236     }
13237     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13238         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13239         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13240     }
13241     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13242         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13243         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13244     }
13245     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13246         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13247         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13248     }
13249     #[cfg(feature = "Win32_Foundation")]
13250     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13251         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13252         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13253     }
13254     #[cfg(feature = "Win32_Foundation")]
13255     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
13256         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
13257     }
13258     #[cfg(feature = "Win32_Foundation")]
13259     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13260         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13261         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13262     }
13263     #[cfg(feature = "Win32_Foundation")]
13264     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13265         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13266         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13267     }
13268     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
13269         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13270         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
13271     }
13272     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
13273         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13274         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
13275     }
13276     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13277         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13278         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13279     }
13280     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13281         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13282         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13283     }
13284     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
13285         (::windows::runtime::Interface::vtable(self).91)(::std::mem::transmute_copy(self)).ok()
13286     }
13287     #[cfg(feature = "Win32_Foundation")]
13288     pub unsafe fn CurrentIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13289         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13290         (::windows::runtime::Interface::vtable(self).92)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13291     }
13292     #[cfg(feature = "Win32_Foundation")]
13293     pub unsafe fn CachedIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13294         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13295         (::windows::runtime::Interface::vtable(self).93)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13296     }
13297     pub unsafe fn CurrentPositionInSet(&self) -> ::windows::runtime::Result<i32> {
13298         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13299         (::windows::runtime::Interface::vtable(self).94)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13300     }
13301     pub unsafe fn CurrentSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
13302         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13303         (::windows::runtime::Interface::vtable(self).95)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13304     }
13305     pub unsafe fn CurrentLevel(&self) -> ::windows::runtime::Result<i32> {
13306         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13307         (::windows::runtime::Interface::vtable(self).96)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13308     }
13309     #[cfg(feature = "Win32_System_Com")]
13310     pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
13311         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13312         (::windows::runtime::Interface::vtable(self).97)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
13313     }
13314     pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13315         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13316         (::windows::runtime::Interface::vtable(self).98)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13317     }
13318     pub unsafe fn CachedPositionInSet(&self) -> ::windows::runtime::Result<i32> {
13319         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13320         (::windows::runtime::Interface::vtable(self).99)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13321     }
13322     pub unsafe fn CachedSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
13323         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13324         (::windows::runtime::Interface::vtable(self).100)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13325     }
13326     pub unsafe fn CachedLevel(&self) -> ::windows::runtime::Result<i32> {
13327         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13328         (::windows::runtime::Interface::vtable(self).101)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13329     }
13330     #[cfg(feature = "Win32_System_Com")]
13331     pub unsafe fn CachedAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
13332         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13333         (::windows::runtime::Interface::vtable(self).102)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
13334     }
13335     pub unsafe fn CachedAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13336         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13337         (::windows::runtime::Interface::vtable(self).103)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13338     }
13339     pub unsafe fn CurrentLandmarkType(&self) -> ::windows::runtime::Result<i32> {
13340         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13341         (::windows::runtime::Interface::vtable(self).104)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13342     }
13343     #[cfg(feature = "Win32_Foundation")]
13344     pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13345         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13346         (::windows::runtime::Interface::vtable(self).105)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13347     }
13348     pub unsafe fn CachedLandmarkType(&self) -> ::windows::runtime::Result<i32> {
13349         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13350         (::windows::runtime::Interface::vtable(self).106)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13351     }
13352     #[cfg(feature = "Win32_Foundation")]
13353     pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13354         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13355         (::windows::runtime::Interface::vtable(self).107)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13356     }
13357     #[cfg(feature = "Win32_Foundation")]
13358     pub unsafe fn CurrentFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13359         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13360         (::windows::runtime::Interface::vtable(self).108)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13361     }
13362     #[cfg(feature = "Win32_Foundation")]
13363     pub unsafe fn CachedFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13364         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13365         (::windows::runtime::Interface::vtable(self).109)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13366     }
13367     pub unsafe fn FindFirstWithOptions<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, traversaloptions: TreeTraversalOptions, root: Param3) -> ::windows::runtime::Result<IUIAutomationElement> {
13368         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13369         (::windows::runtime::Interface::vtable(self).110)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
13370     }
13371     pub unsafe fn FindAllWithOptions<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, traversaloptions: TreeTraversalOptions, root: Param3) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13372         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13373         (::windows::runtime::Interface::vtable(self).111)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13374     }
13375     pub unsafe fn FindFirstWithOptionsBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2, traversaloptions: TreeTraversalOptions, root: Param4) -> ::windows::runtime::Result<IUIAutomationElement> {
13376         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13377         (::windows::runtime::Interface::vtable(self).112)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
13378     }
13379     pub unsafe fn FindAllWithOptionsBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2, traversaloptions: TreeTraversalOptions, root: Param4) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13380         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13381         (::windows::runtime::Interface::vtable(self).113)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13382     }
13383     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13384     pub unsafe fn GetCurrentMetadataValue(&self, targetid: i32, metadataid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
13385         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13386         (::windows::runtime::Interface::vtable(self).114)(::std::mem::transmute_copy(self), ::std::mem::transmute(targetid), ::std::mem::transmute(metadataid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
13387     }
13388     pub unsafe fn CurrentHeadingLevel(&self) -> ::windows::runtime::Result<i32> {
13389         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13390         (::windows::runtime::Interface::vtable(self).115)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13391     }
13392     pub unsafe fn CachedHeadingLevel(&self) -> ::windows::runtime::Result<i32> {
13393         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13394         (::windows::runtime::Interface::vtable(self).116)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13395     }
13396 }
13397 unsafe impl ::windows::runtime::Interface for IUIAutomationElement8 {
13398     type Vtable = IUIAutomationElement8_abi;
13399     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2355110269, 21521, 19678, [188, 192, 28, 237, 162, 35, 131, 12]);
13400 }
13401 impl ::std::convert::From<IUIAutomationElement8> for ::windows::runtime::IUnknown {
13402     fn from(value: IUIAutomationElement8) -> Self {
13403         unsafe { ::std::mem::transmute(value) }
13404     }
13405 }
13406 impl ::std::convert::From<&IUIAutomationElement8> for ::windows::runtime::IUnknown {
13407     fn from(value: &IUIAutomationElement8) -> Self {
13408         ::std::convert::From::from(::std::clone::Clone::clone(value))
13409     }
13410 }
13411 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement8 {
13412     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13413         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13414     }
13415 }
13416 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement8 {
13417     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13418         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13419     }
13420 }
13421 impl ::std::convert::From<IUIAutomationElement8> for IUIAutomationElement7 {
13422     fn from(value: IUIAutomationElement8) -> Self {
13423         unsafe { ::std::mem::transmute(value) }
13424     }
13425 }
13426 impl ::std::convert::From<&IUIAutomationElement8> for IUIAutomationElement7 {
13427     fn from(value: &IUIAutomationElement8) -> Self {
13428         ::std::convert::From::from(::std::clone::Clone::clone(value))
13429     }
13430 }
13431 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement7> for IUIAutomationElement8 {
13432     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement7> {
13433         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement7>::into(self))
13434     }
13435 }
13436 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement7> for &IUIAutomationElement8 {
13437     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement7> {
13438         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement7>::into(::std::clone::Clone::clone(self)))
13439     }
13440 }
13441 impl ::std::convert::From<IUIAutomationElement8> for IUIAutomationElement6 {
13442     fn from(value: IUIAutomationElement8) -> Self {
13443         unsafe { ::std::mem::transmute(value) }
13444     }
13445 }
13446 impl ::std::convert::From<&IUIAutomationElement8> for IUIAutomationElement6 {
13447     fn from(value: &IUIAutomationElement8) -> Self {
13448         ::std::convert::From::from(::std::clone::Clone::clone(value))
13449     }
13450 }
13451 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement6> for IUIAutomationElement8 {
13452     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement6> {
13453         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement6>::into(self))
13454     }
13455 }
13456 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement6> for &IUIAutomationElement8 {
13457     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement6> {
13458         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement6>::into(::std::clone::Clone::clone(self)))
13459     }
13460 }
13461 impl ::std::convert::From<IUIAutomationElement8> for IUIAutomationElement5 {
13462     fn from(value: IUIAutomationElement8) -> Self {
13463         unsafe { ::std::mem::transmute(value) }
13464     }
13465 }
13466 impl ::std::convert::From<&IUIAutomationElement8> for IUIAutomationElement5 {
13467     fn from(value: &IUIAutomationElement8) -> Self {
13468         ::std::convert::From::from(::std::clone::Clone::clone(value))
13469     }
13470 }
13471 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for IUIAutomationElement8 {
13472     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
13473         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(self))
13474     }
13475 }
13476 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for &IUIAutomationElement8 {
13477     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
13478         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(::std::clone::Clone::clone(self)))
13479     }
13480 }
13481 impl ::std::convert::From<IUIAutomationElement8> for IUIAutomationElement4 {
13482     fn from(value: IUIAutomationElement8) -> Self {
13483         unsafe { ::std::mem::transmute(value) }
13484     }
13485 }
13486 impl ::std::convert::From<&IUIAutomationElement8> for IUIAutomationElement4 {
13487     fn from(value: &IUIAutomationElement8) -> Self {
13488         ::std::convert::From::from(::std::clone::Clone::clone(value))
13489     }
13490 }
13491 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for IUIAutomationElement8 {
13492     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
13493         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(self))
13494     }
13495 }
13496 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for &IUIAutomationElement8 {
13497     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
13498         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(::std::clone::Clone::clone(self)))
13499     }
13500 }
13501 impl ::std::convert::From<IUIAutomationElement8> for IUIAutomationElement3 {
13502     fn from(value: IUIAutomationElement8) -> Self {
13503         unsafe { ::std::mem::transmute(value) }
13504     }
13505 }
13506 impl ::std::convert::From<&IUIAutomationElement8> for IUIAutomationElement3 {
13507     fn from(value: &IUIAutomationElement8) -> Self {
13508         ::std::convert::From::from(::std::clone::Clone::clone(value))
13509     }
13510 }
13511 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for IUIAutomationElement8 {
13512     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
13513         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(self))
13514     }
13515 }
13516 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for &IUIAutomationElement8 {
13517     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
13518         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(::std::clone::Clone::clone(self)))
13519     }
13520 }
13521 impl ::std::convert::From<IUIAutomationElement8> for IUIAutomationElement2 {
13522     fn from(value: IUIAutomationElement8) -> Self {
13523         unsafe { ::std::mem::transmute(value) }
13524     }
13525 }
13526 impl ::std::convert::From<&IUIAutomationElement8> for IUIAutomationElement2 {
13527     fn from(value: &IUIAutomationElement8) -> Self {
13528         ::std::convert::From::from(::std::clone::Clone::clone(value))
13529     }
13530 }
13531 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for IUIAutomationElement8 {
13532     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
13533         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(self))
13534     }
13535 }
13536 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for &IUIAutomationElement8 {
13537     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
13538         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(::std::clone::Clone::clone(self)))
13539     }
13540 }
13541 impl ::std::convert::From<IUIAutomationElement8> for IUIAutomationElement {
13542     fn from(value: IUIAutomationElement8) -> Self {
13543         unsafe { ::std::mem::transmute(value) }
13544     }
13545 }
13546 impl ::std::convert::From<&IUIAutomationElement8> for IUIAutomationElement {
13547     fn from(value: &IUIAutomationElement8) -> Self {
13548         ::std::convert::From::from(::std::clone::Clone::clone(value))
13549     }
13550 }
13551 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement8 {
13552     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
13553         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
13554     }
13555 }
13556 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement8 {
13557     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
13558         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
13559     }
13560 }
13561 #[repr(C)]
13562 #[doc(hidden)]
13563 pub struct IUIAutomationElement8_abi(
13564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
13567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13568     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
13569     #[cfg(not(feature = "Win32_System_Com"))] usize,
13570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13575     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
13576     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
13577     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
13578     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
13579     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
13580     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
13581     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
13582     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
13583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
13584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
13585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13591     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13592     #[cfg(not(feature = "Win32_Foundation"))] usize,
13593     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13594     #[cfg(not(feature = "Win32_Foundation"))] usize,
13595     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13596     #[cfg(not(feature = "Win32_Foundation"))] usize,
13597     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13598     #[cfg(not(feature = "Win32_Foundation"))] usize,
13599     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13600     #[cfg(not(feature = "Win32_Foundation"))] usize,
13601     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13602     #[cfg(not(feature = "Win32_Foundation"))] usize,
13603     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13604     #[cfg(not(feature = "Win32_Foundation"))] usize,
13605     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13606     #[cfg(not(feature = "Win32_Foundation"))] usize,
13607     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13608     #[cfg(not(feature = "Win32_Foundation"))] usize,
13609     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13610     #[cfg(not(feature = "Win32_Foundation"))] usize,
13611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13612     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13613     #[cfg(not(feature = "Win32_Foundation"))] usize,
13614     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13615     #[cfg(not(feature = "Win32_Foundation"))] usize,
13616     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13617     #[cfg(not(feature = "Win32_Foundation"))] usize,
13618     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
13619     #[cfg(not(feature = "Win32_Foundation"))] usize,
13620     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13621     #[cfg(not(feature = "Win32_Foundation"))] usize,
13622     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13623     #[cfg(not(feature = "Win32_Foundation"))] usize,
13624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
13625     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13626     #[cfg(not(feature = "Win32_Foundation"))] usize,
13627     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13628     #[cfg(not(feature = "Win32_Foundation"))] usize,
13629     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13630     #[cfg(not(feature = "Win32_Foundation"))] usize,
13631     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
13632     #[cfg(not(feature = "Win32_Foundation"))] usize,
13633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13634     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13635     #[cfg(not(feature = "Win32_Foundation"))] usize,
13636     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13637     #[cfg(not(feature = "Win32_Foundation"))] usize,
13638     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13639     #[cfg(not(feature = "Win32_Foundation"))] usize,
13640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13643     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13644     #[cfg(not(feature = "Win32_Foundation"))] usize,
13645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13647     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13648     #[cfg(not(feature = "Win32_Foundation"))] usize,
13649     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13650     #[cfg(not(feature = "Win32_Foundation"))] usize,
13651     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13652     #[cfg(not(feature = "Win32_Foundation"))] usize,
13653     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13654     #[cfg(not(feature = "Win32_Foundation"))] usize,
13655     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13656     #[cfg(not(feature = "Win32_Foundation"))] usize,
13657     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13658     #[cfg(not(feature = "Win32_Foundation"))] usize,
13659     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13660     #[cfg(not(feature = "Win32_Foundation"))] usize,
13661     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13662     #[cfg(not(feature = "Win32_Foundation"))] usize,
13663     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13664     #[cfg(not(feature = "Win32_Foundation"))] usize,
13665     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13666     #[cfg(not(feature = "Win32_Foundation"))] usize,
13667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13668     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13669     #[cfg(not(feature = "Win32_Foundation"))] usize,
13670     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13671     #[cfg(not(feature = "Win32_Foundation"))] usize,
13672     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13673     #[cfg(not(feature = "Win32_Foundation"))] usize,
13674     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
13675     #[cfg(not(feature = "Win32_Foundation"))] usize,
13676     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13677     #[cfg(not(feature = "Win32_Foundation"))] usize,
13678     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13679     #[cfg(not(feature = "Win32_Foundation"))] usize,
13680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
13681     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13682     #[cfg(not(feature = "Win32_Foundation"))] usize,
13683     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13684     #[cfg(not(feature = "Win32_Foundation"))] usize,
13685     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13686     #[cfg(not(feature = "Win32_Foundation"))] usize,
13687     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
13688     #[cfg(not(feature = "Win32_Foundation"))] usize,
13689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13690     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13691     #[cfg(not(feature = "Win32_Foundation"))] usize,
13692     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13693     #[cfg(not(feature = "Win32_Foundation"))] usize,
13694     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13695     #[cfg(not(feature = "Win32_Foundation"))] usize,
13696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13699     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13700     #[cfg(not(feature = "Win32_Foundation"))] usize,
13701     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13702     #[cfg(not(feature = "Win32_Foundation"))] usize,
13703     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13704     #[cfg(not(feature = "Win32_Foundation"))] usize,
13705     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13706     #[cfg(not(feature = "Win32_Foundation"))] usize,
13707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
13708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
13709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13712     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13713     #[cfg(not(feature = "Win32_Foundation"))] usize,
13714     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
13715     #[cfg(not(feature = "Win32_Foundation"))] usize,
13716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13719     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
13720     #[cfg(not(feature = "Win32_System_Com"))] usize,
13721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13725     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
13726     #[cfg(not(feature = "Win32_System_Com"))] usize,
13727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13729     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13730     #[cfg(not(feature = "Win32_Foundation"))] usize,
13731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13732     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13733     #[cfg(not(feature = "Win32_Foundation"))] usize,
13734     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13735     #[cfg(not(feature = "Win32_Foundation"))] usize,
13736     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
13737     #[cfg(not(feature = "Win32_Foundation"))] usize,
13738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
13742     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetid: i32, metadataid: i32, returnval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
13743     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
13744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
13746 );
13747 #[repr(transparent)]
13748 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13749 pub struct IUIAutomationElement9(::windows::runtime::IUnknown);
13750 impl IUIAutomationElement9 {
13751     pub unsafe fn SetFocus(&self) -> ::windows::runtime::Result<()> {
13752         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
13753     }
13754     #[cfg(feature = "Win32_System_Com")]
13755     pub unsafe fn GetRuntimeId(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
13756         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13757         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
13758     }
13759     pub unsafe fn FindFirst<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
13760         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13761         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
13762     }
13763     pub unsafe fn FindAll<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>>(&self, scope: TreeScope, condition: Param1) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13764         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13765         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13766     }
13767     pub unsafe fn FindFirstBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
13768         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13769         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
13770     }
13771     pub unsafe fn FindAllBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13772         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13773         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13774     }
13775     pub unsafe fn BuildUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
13776         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13777         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
13778     }
13779     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13780     pub unsafe fn GetCurrentPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
13781         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13782         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
13783     }
13784     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13785     pub unsafe fn GetCurrentPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
13786         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13787         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
13788     }
13789     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13790     pub unsafe fn GetCachedPropertyValue(&self, propertyid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
13791         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13792         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
13793     }
13794     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
13795     pub unsafe fn GetCachedPropertyValueEx<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, propertyid: i32, ignoredefaultvalue: Param1) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
13796         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13797         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), ignoredefaultvalue.into_param().abi(), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
13798     }
13799     pub unsafe fn GetCurrentPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
13800         let mut result__ = ::std::option::Option::None;
13801         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
13802     }
13803     pub unsafe fn GetCachedPatternAs<T: ::windows::runtime::Interface>(&self, patternid: i32) -> ::windows::runtime::Result<T> {
13804         let mut result__ = ::std::option::Option::None;
13805         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
13806     }
13807     pub unsafe fn GetCurrentPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
13808         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13809         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
13810     }
13811     pub unsafe fn GetCachedPattern(&self, patternid: i32) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
13812         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13813         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(patternid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
13814     }
13815     pub unsafe fn GetCachedParent(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
13816         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13817         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
13818     }
13819     pub unsafe fn GetCachedChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13820         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13821         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13822     }
13823     pub unsafe fn CurrentProcessId(&self) -> ::windows::runtime::Result<i32> {
13824         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13825         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13826     }
13827     pub unsafe fn CurrentControlType(&self) -> ::windows::runtime::Result<i32> {
13828         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13829         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13830     }
13831     #[cfg(feature = "Win32_Foundation")]
13832     pub unsafe fn CurrentLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13833         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13834         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13835     }
13836     #[cfg(feature = "Win32_Foundation")]
13837     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13838         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13839         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13840     }
13841     #[cfg(feature = "Win32_Foundation")]
13842     pub unsafe fn CurrentAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13843         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13844         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13845     }
13846     #[cfg(feature = "Win32_Foundation")]
13847     pub unsafe fn CurrentAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13848         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13849         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13850     }
13851     #[cfg(feature = "Win32_Foundation")]
13852     pub unsafe fn CurrentHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13853         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13854         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13855     }
13856     #[cfg(feature = "Win32_Foundation")]
13857     pub unsafe fn CurrentIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13858         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13859         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13860     }
13861     #[cfg(feature = "Win32_Foundation")]
13862     pub unsafe fn CurrentIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13863         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13864         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13865     }
13866     #[cfg(feature = "Win32_Foundation")]
13867     pub unsafe fn CurrentAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13868         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13869         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13870     }
13871     #[cfg(feature = "Win32_Foundation")]
13872     pub unsafe fn CurrentClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13873         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13874         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13875     }
13876     #[cfg(feature = "Win32_Foundation")]
13877     pub unsafe fn CurrentHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13878         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13879         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13880     }
13881     pub unsafe fn CurrentCulture(&self) -> ::windows::runtime::Result<i32> {
13882         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13883         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13884     }
13885     #[cfg(feature = "Win32_Foundation")]
13886     pub unsafe fn CurrentIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13887         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13888         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13889     }
13890     #[cfg(feature = "Win32_Foundation")]
13891     pub unsafe fn CurrentIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13892         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13893         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13894     }
13895     #[cfg(feature = "Win32_Foundation")]
13896     pub unsafe fn CurrentIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13897         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13898         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13899     }
13900     #[cfg(feature = "Win32_Foundation")]
13901     pub unsafe fn CurrentNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
13902         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
13903     }
13904     #[cfg(feature = "Win32_Foundation")]
13905     pub unsafe fn CurrentItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13906         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13907         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13908     }
13909     #[cfg(feature = "Win32_Foundation")]
13910     pub unsafe fn CurrentIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13911         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13912         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13913     }
13914     pub unsafe fn CurrentOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
13915         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13916         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
13917     }
13918     #[cfg(feature = "Win32_Foundation")]
13919     pub unsafe fn CurrentFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13920         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13921         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13922     }
13923     #[cfg(feature = "Win32_Foundation")]
13924     pub unsafe fn CurrentIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13925         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13926         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13927     }
13928     #[cfg(feature = "Win32_Foundation")]
13929     pub unsafe fn CurrentItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13930         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13931         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13932     }
13933     #[cfg(feature = "Win32_Foundation")]
13934     pub unsafe fn CurrentBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
13935         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13936         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
13937     }
13938     pub unsafe fn CurrentLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
13939         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13940         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
13941     }
13942     #[cfg(feature = "Win32_Foundation")]
13943     pub unsafe fn CurrentAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13944         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13945         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13946     }
13947     #[cfg(feature = "Win32_Foundation")]
13948     pub unsafe fn CurrentAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13949         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13950         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13951     }
13952     #[cfg(feature = "Win32_Foundation")]
13953     pub unsafe fn CurrentIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
13954         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13955         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
13956     }
13957     pub unsafe fn CurrentControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13958         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13959         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13960     }
13961     pub unsafe fn CurrentDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13962         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13963         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13964     }
13965     pub unsafe fn CurrentFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
13966         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13967         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
13968     }
13969     #[cfg(feature = "Win32_Foundation")]
13970     pub unsafe fn CurrentProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13971         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13972         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13973     }
13974     pub unsafe fn CachedProcessId(&self) -> ::windows::runtime::Result<i32> {
13975         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13976         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13977     }
13978     pub unsafe fn CachedControlType(&self) -> ::windows::runtime::Result<i32> {
13979         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13980         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
13981     }
13982     #[cfg(feature = "Win32_Foundation")]
13983     pub unsafe fn CachedLocalizedControlType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13984         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13985         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13986     }
13987     #[cfg(feature = "Win32_Foundation")]
13988     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13989         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13990         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13991     }
13992     #[cfg(feature = "Win32_Foundation")]
13993     pub unsafe fn CachedAcceleratorKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13994         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
13995         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
13996     }
13997     #[cfg(feature = "Win32_Foundation")]
13998     pub unsafe fn CachedAccessKey(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
13999         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14000         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14001     }
14002     #[cfg(feature = "Win32_Foundation")]
14003     pub unsafe fn CachedHasKeyboardFocus(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14004         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14005         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14006     }
14007     #[cfg(feature = "Win32_Foundation")]
14008     pub unsafe fn CachedIsKeyboardFocusable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14009         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14010         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14011     }
14012     #[cfg(feature = "Win32_Foundation")]
14013     pub unsafe fn CachedIsEnabled(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14014         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14015         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14016     }
14017     #[cfg(feature = "Win32_Foundation")]
14018     pub unsafe fn CachedAutomationId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14019         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14020         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14021     }
14022     #[cfg(feature = "Win32_Foundation")]
14023     pub unsafe fn CachedClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14024         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14025         (::windows::runtime::Interface::vtable(self).62)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14026     }
14027     #[cfg(feature = "Win32_Foundation")]
14028     pub unsafe fn CachedHelpText(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14029         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14030         (::windows::runtime::Interface::vtable(self).63)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14031     }
14032     pub unsafe fn CachedCulture(&self) -> ::windows::runtime::Result<i32> {
14033         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14034         (::windows::runtime::Interface::vtable(self).64)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14035     }
14036     #[cfg(feature = "Win32_Foundation")]
14037     pub unsafe fn CachedIsControlElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14038         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14039         (::windows::runtime::Interface::vtable(self).65)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14040     }
14041     #[cfg(feature = "Win32_Foundation")]
14042     pub unsafe fn CachedIsContentElement(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14043         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14044         (::windows::runtime::Interface::vtable(self).66)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14045     }
14046     #[cfg(feature = "Win32_Foundation")]
14047     pub unsafe fn CachedIsPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14048         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14049         (::windows::runtime::Interface::vtable(self).67)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14050     }
14051     #[cfg(feature = "Win32_Foundation")]
14052     pub unsafe fn CachedNativeWindowHandle(&self, retval: super::super::Foundation::HWND) -> ::windows::runtime::Result<()> {
14053         (::windows::runtime::Interface::vtable(self).68)(::std::mem::transmute_copy(self), ::std::mem::transmute(retval)).ok()
14054     }
14055     #[cfg(feature = "Win32_Foundation")]
14056     pub unsafe fn CachedItemType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14057         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14058         (::windows::runtime::Interface::vtable(self).69)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14059     }
14060     #[cfg(feature = "Win32_Foundation")]
14061     pub unsafe fn CachedIsOffscreen(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14062         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14063         (::windows::runtime::Interface::vtable(self).70)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14064     }
14065     pub unsafe fn CachedOrientation(&self) -> ::windows::runtime::Result<OrientationType> {
14066         let mut result__: <OrientationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14067         (::windows::runtime::Interface::vtable(self).71)(::std::mem::transmute_copy(self), &mut result__).from_abi::<OrientationType>(result__)
14068     }
14069     #[cfg(feature = "Win32_Foundation")]
14070     pub unsafe fn CachedFrameworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14071         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14072         (::windows::runtime::Interface::vtable(self).72)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14073     }
14074     #[cfg(feature = "Win32_Foundation")]
14075     pub unsafe fn CachedIsRequiredForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14076         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14077         (::windows::runtime::Interface::vtable(self).73)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14078     }
14079     #[cfg(feature = "Win32_Foundation")]
14080     pub unsafe fn CachedItemStatus(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14081         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14082         (::windows::runtime::Interface::vtable(self).74)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14083     }
14084     #[cfg(feature = "Win32_Foundation")]
14085     pub unsafe fn CachedBoundingRectangle(&self) -> ::windows::runtime::Result<super::super::Foundation::RECT> {
14086         let mut result__: <super::super::Foundation::RECT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14087         (::windows::runtime::Interface::vtable(self).75)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::RECT>(result__)
14088     }
14089     pub unsafe fn CachedLabeledBy(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
14090         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14091         (::windows::runtime::Interface::vtable(self).76)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
14092     }
14093     #[cfg(feature = "Win32_Foundation")]
14094     pub unsafe fn CachedAriaRole(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14095         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14096         (::windows::runtime::Interface::vtable(self).77)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14097     }
14098     #[cfg(feature = "Win32_Foundation")]
14099     pub unsafe fn CachedAriaProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14100         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14101         (::windows::runtime::Interface::vtable(self).78)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14102     }
14103     #[cfg(feature = "Win32_Foundation")]
14104     pub unsafe fn CachedIsDataValidForForm(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14105         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14106         (::windows::runtime::Interface::vtable(self).79)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14107     }
14108     pub unsafe fn CachedControllerFor(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14109         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14110         (::windows::runtime::Interface::vtable(self).80)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14111     }
14112     pub unsafe fn CachedDescribedBy(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14113         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14114         (::windows::runtime::Interface::vtable(self).81)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14115     }
14116     pub unsafe fn CachedFlowsTo(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14117         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14118         (::windows::runtime::Interface::vtable(self).82)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14119     }
14120     #[cfg(feature = "Win32_Foundation")]
14121     pub unsafe fn CachedProviderDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14122         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14123         (::windows::runtime::Interface::vtable(self).83)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14124     }
14125     #[cfg(feature = "Win32_Foundation")]
14126     pub unsafe fn GetClickablePoint(&self, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
14127         (::windows::runtime::Interface::vtable(self).84)(::std::mem::transmute_copy(self), ::std::mem::transmute(clickable), ::std::mem::transmute(gotclickable)).ok()
14128     }
14129     #[cfg(feature = "Win32_Foundation")]
14130     pub unsafe fn CurrentOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14131         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14132         (::windows::runtime::Interface::vtable(self).85)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14133     }
14134     #[cfg(feature = "Win32_Foundation")]
14135     pub unsafe fn CachedOptimizeForVisualContent(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14136         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14137         (::windows::runtime::Interface::vtable(self).86)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14138     }
14139     pub unsafe fn CurrentLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
14140         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14141         (::windows::runtime::Interface::vtable(self).87)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
14142     }
14143     pub unsafe fn CachedLiveSetting(&self) -> ::windows::runtime::Result<LiveSetting> {
14144         let mut result__: <LiveSetting as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14145         (::windows::runtime::Interface::vtable(self).88)(::std::mem::transmute_copy(self), &mut result__).from_abi::<LiveSetting>(result__)
14146     }
14147     pub unsafe fn CurrentFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14148         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14149         (::windows::runtime::Interface::vtable(self).89)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14150     }
14151     pub unsafe fn CachedFlowsFrom(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14152         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14153         (::windows::runtime::Interface::vtable(self).90)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14154     }
14155     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
14156         (::windows::runtime::Interface::vtable(self).91)(::std::mem::transmute_copy(self)).ok()
14157     }
14158     #[cfg(feature = "Win32_Foundation")]
14159     pub unsafe fn CurrentIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14160         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14161         (::windows::runtime::Interface::vtable(self).92)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14162     }
14163     #[cfg(feature = "Win32_Foundation")]
14164     pub unsafe fn CachedIsPeripheral(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14165         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14166         (::windows::runtime::Interface::vtable(self).93)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14167     }
14168     pub unsafe fn CurrentPositionInSet(&self) -> ::windows::runtime::Result<i32> {
14169         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14170         (::windows::runtime::Interface::vtable(self).94)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14171     }
14172     pub unsafe fn CurrentSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
14173         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14174         (::windows::runtime::Interface::vtable(self).95)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14175     }
14176     pub unsafe fn CurrentLevel(&self) -> ::windows::runtime::Result<i32> {
14177         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14178         (::windows::runtime::Interface::vtable(self).96)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14179     }
14180     #[cfg(feature = "Win32_System_Com")]
14181     pub unsafe fn CurrentAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
14182         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14183         (::windows::runtime::Interface::vtable(self).97)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
14184     }
14185     pub unsafe fn CurrentAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14186         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14187         (::windows::runtime::Interface::vtable(self).98)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14188     }
14189     pub unsafe fn CachedPositionInSet(&self) -> ::windows::runtime::Result<i32> {
14190         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14191         (::windows::runtime::Interface::vtable(self).99)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14192     }
14193     pub unsafe fn CachedSizeOfSet(&self) -> ::windows::runtime::Result<i32> {
14194         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14195         (::windows::runtime::Interface::vtable(self).100)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14196     }
14197     pub unsafe fn CachedLevel(&self) -> ::windows::runtime::Result<i32> {
14198         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14199         (::windows::runtime::Interface::vtable(self).101)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14200     }
14201     #[cfg(feature = "Win32_System_Com")]
14202     pub unsafe fn CachedAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
14203         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14204         (::windows::runtime::Interface::vtable(self).102)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
14205     }
14206     pub unsafe fn CachedAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14207         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14208         (::windows::runtime::Interface::vtable(self).103)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14209     }
14210     pub unsafe fn CurrentLandmarkType(&self) -> ::windows::runtime::Result<i32> {
14211         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14212         (::windows::runtime::Interface::vtable(self).104)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14213     }
14214     #[cfg(feature = "Win32_Foundation")]
14215     pub unsafe fn CurrentLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14216         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14217         (::windows::runtime::Interface::vtable(self).105)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14218     }
14219     pub unsafe fn CachedLandmarkType(&self) -> ::windows::runtime::Result<i32> {
14220         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14221         (::windows::runtime::Interface::vtable(self).106)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14222     }
14223     #[cfg(feature = "Win32_Foundation")]
14224     pub unsafe fn CachedLocalizedLandmarkType(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14225         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14226         (::windows::runtime::Interface::vtable(self).107)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14227     }
14228     #[cfg(feature = "Win32_Foundation")]
14229     pub unsafe fn CurrentFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14230         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14231         (::windows::runtime::Interface::vtable(self).108)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14232     }
14233     #[cfg(feature = "Win32_Foundation")]
14234     pub unsafe fn CachedFullDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
14235         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14236         (::windows::runtime::Interface::vtable(self).109)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
14237     }
14238     pub unsafe fn FindFirstWithOptions<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, traversaloptions: TreeTraversalOptions, root: Param3) -> ::windows::runtime::Result<IUIAutomationElement> {
14239         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14240         (::windows::runtime::Interface::vtable(self).110)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
14241     }
14242     pub unsafe fn FindAllWithOptions<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, traversaloptions: TreeTraversalOptions, root: Param3) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14243         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14244         (::windows::runtime::Interface::vtable(self).111)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14245     }
14246     pub unsafe fn FindFirstWithOptionsBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2, traversaloptions: TreeTraversalOptions, root: Param4) -> ::windows::runtime::Result<IUIAutomationElement> {
14247         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14248         (::windows::runtime::Interface::vtable(self).112)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
14249     }
14250     pub unsafe fn FindAllWithOptionsBuildCache<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCondition>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, scope: TreeScope, condition: Param1, cacherequest: Param2, traversaloptions: TreeTraversalOptions, root: Param4) -> ::windows::runtime::Result<IUIAutomationElementArray> {
14251         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14252         (::windows::runtime::Interface::vtable(self).113)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), condition.into_param().abi(), cacherequest.into_param().abi(), ::std::mem::transmute(traversaloptions), root.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
14253     }
14254     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
14255     pub unsafe fn GetCurrentMetadataValue(&self, targetid: i32, metadataid: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
14256         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14257         (::windows::runtime::Interface::vtable(self).114)(::std::mem::transmute_copy(self), ::std::mem::transmute(targetid), ::std::mem::transmute(metadataid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
14258     }
14259     pub unsafe fn CurrentHeadingLevel(&self) -> ::windows::runtime::Result<i32> {
14260         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14261         (::windows::runtime::Interface::vtable(self).115)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14262     }
14263     pub unsafe fn CachedHeadingLevel(&self) -> ::windows::runtime::Result<i32> {
14264         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14265         (::windows::runtime::Interface::vtable(self).116)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14266     }
14267     #[cfg(feature = "Win32_Foundation")]
14268     pub unsafe fn CurrentIsDialog(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14269         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14270         (::windows::runtime::Interface::vtable(self).117)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14271     }
14272     #[cfg(feature = "Win32_Foundation")]
14273     pub unsafe fn CachedIsDialog(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
14274         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14275         (::windows::runtime::Interface::vtable(self).118)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
14276     }
14277 }
14278 unsafe impl ::windows::runtime::Interface for IUIAutomationElement9 {
14279     type Vtable = IUIAutomationElement9_abi;
14280     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(959602604, 925, 17422, [163, 163, 94, 184, 26, 92, 236, 195]);
14281 }
14282 impl ::std::convert::From<IUIAutomationElement9> for ::windows::runtime::IUnknown {
14283     fn from(value: IUIAutomationElement9) -> Self {
14284         unsafe { ::std::mem::transmute(value) }
14285     }
14286 }
14287 impl ::std::convert::From<&IUIAutomationElement9> for ::windows::runtime::IUnknown {
14288     fn from(value: &IUIAutomationElement9) -> Self {
14289         ::std::convert::From::from(::std::clone::Clone::clone(value))
14290     }
14291 }
14292 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElement9 {
14293     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14294         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14295     }
14296 }
14297 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElement9 {
14298     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14299         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14300     }
14301 }
14302 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement8 {
14303     fn from(value: IUIAutomationElement9) -> Self {
14304         unsafe { ::std::mem::transmute(value) }
14305     }
14306 }
14307 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement8 {
14308     fn from(value: &IUIAutomationElement9) -> Self {
14309         ::std::convert::From::from(::std::clone::Clone::clone(value))
14310     }
14311 }
14312 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement8> for IUIAutomationElement9 {
14313     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement8> {
14314         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement8>::into(self))
14315     }
14316 }
14317 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement8> for &IUIAutomationElement9 {
14318     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement8> {
14319         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement8>::into(::std::clone::Clone::clone(self)))
14320     }
14321 }
14322 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement7 {
14323     fn from(value: IUIAutomationElement9) -> Self {
14324         unsafe { ::std::mem::transmute(value) }
14325     }
14326 }
14327 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement7 {
14328     fn from(value: &IUIAutomationElement9) -> Self {
14329         ::std::convert::From::from(::std::clone::Clone::clone(value))
14330     }
14331 }
14332 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement7> for IUIAutomationElement9 {
14333     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement7> {
14334         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement7>::into(self))
14335     }
14336 }
14337 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement7> for &IUIAutomationElement9 {
14338     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement7> {
14339         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement7>::into(::std::clone::Clone::clone(self)))
14340     }
14341 }
14342 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement6 {
14343     fn from(value: IUIAutomationElement9) -> Self {
14344         unsafe { ::std::mem::transmute(value) }
14345     }
14346 }
14347 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement6 {
14348     fn from(value: &IUIAutomationElement9) -> Self {
14349         ::std::convert::From::from(::std::clone::Clone::clone(value))
14350     }
14351 }
14352 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement6> for IUIAutomationElement9 {
14353     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement6> {
14354         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement6>::into(self))
14355     }
14356 }
14357 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement6> for &IUIAutomationElement9 {
14358     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement6> {
14359         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement6>::into(::std::clone::Clone::clone(self)))
14360     }
14361 }
14362 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement5 {
14363     fn from(value: IUIAutomationElement9) -> Self {
14364         unsafe { ::std::mem::transmute(value) }
14365     }
14366 }
14367 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement5 {
14368     fn from(value: &IUIAutomationElement9) -> Self {
14369         ::std::convert::From::from(::std::clone::Clone::clone(value))
14370     }
14371 }
14372 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for IUIAutomationElement9 {
14373     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
14374         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(self))
14375     }
14376 }
14377 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement5> for &IUIAutomationElement9 {
14378     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement5> {
14379         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement5>::into(::std::clone::Clone::clone(self)))
14380     }
14381 }
14382 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement4 {
14383     fn from(value: IUIAutomationElement9) -> Self {
14384         unsafe { ::std::mem::transmute(value) }
14385     }
14386 }
14387 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement4 {
14388     fn from(value: &IUIAutomationElement9) -> Self {
14389         ::std::convert::From::from(::std::clone::Clone::clone(value))
14390     }
14391 }
14392 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for IUIAutomationElement9 {
14393     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
14394         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(self))
14395     }
14396 }
14397 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement4> for &IUIAutomationElement9 {
14398     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement4> {
14399         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement4>::into(::std::clone::Clone::clone(self)))
14400     }
14401 }
14402 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement3 {
14403     fn from(value: IUIAutomationElement9) -> Self {
14404         unsafe { ::std::mem::transmute(value) }
14405     }
14406 }
14407 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement3 {
14408     fn from(value: &IUIAutomationElement9) -> Self {
14409         ::std::convert::From::from(::std::clone::Clone::clone(value))
14410     }
14411 }
14412 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for IUIAutomationElement9 {
14413     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
14414         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(self))
14415     }
14416 }
14417 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement3> for &IUIAutomationElement9 {
14418     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement3> {
14419         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement3>::into(::std::clone::Clone::clone(self)))
14420     }
14421 }
14422 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement2 {
14423     fn from(value: IUIAutomationElement9) -> Self {
14424         unsafe { ::std::mem::transmute(value) }
14425     }
14426 }
14427 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement2 {
14428     fn from(value: &IUIAutomationElement9) -> Self {
14429         ::std::convert::From::from(::std::clone::Clone::clone(value))
14430     }
14431 }
14432 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for IUIAutomationElement9 {
14433     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
14434         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(self))
14435     }
14436 }
14437 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement2> for &IUIAutomationElement9 {
14438     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement2> {
14439         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement2>::into(::std::clone::Clone::clone(self)))
14440     }
14441 }
14442 impl ::std::convert::From<IUIAutomationElement9> for IUIAutomationElement {
14443     fn from(value: IUIAutomationElement9) -> Self {
14444         unsafe { ::std::mem::transmute(value) }
14445     }
14446 }
14447 impl ::std::convert::From<&IUIAutomationElement9> for IUIAutomationElement {
14448     fn from(value: &IUIAutomationElement9) -> Self {
14449         ::std::convert::From::from(::std::clone::Clone::clone(value))
14450     }
14451 }
14452 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for IUIAutomationElement9 {
14453     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
14454         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(self))
14455     }
14456 }
14457 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationElement> for &IUIAutomationElement9 {
14458     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationElement> {
14459         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationElement>::into(::std::clone::Clone::clone(self)))
14460     }
14461 }
14462 #[repr(C)]
14463 #[doc(hidden)]
14464 pub struct IUIAutomationElement9_abi(
14465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14469     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, runtimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
14470     #[cfg(not(feature = "Win32_System_Com"))] usize,
14471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, updatedelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14476     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
14477     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
14478     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
14479     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
14480     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
14481     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
14482     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: i32, ignoredefaultvalue: super::super::Foundation::BOOL, retval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
14483     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
14484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, riid: *const ::windows::runtime::GUID, patternobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
14486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, patternid: i32, patternobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14492     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14493     #[cfg(not(feature = "Win32_Foundation"))] usize,
14494     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14495     #[cfg(not(feature = "Win32_Foundation"))] usize,
14496     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14497     #[cfg(not(feature = "Win32_Foundation"))] usize,
14498     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14499     #[cfg(not(feature = "Win32_Foundation"))] usize,
14500     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14501     #[cfg(not(feature = "Win32_Foundation"))] usize,
14502     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14503     #[cfg(not(feature = "Win32_Foundation"))] usize,
14504     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14505     #[cfg(not(feature = "Win32_Foundation"))] usize,
14506     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14507     #[cfg(not(feature = "Win32_Foundation"))] usize,
14508     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14509     #[cfg(not(feature = "Win32_Foundation"))] usize,
14510     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14511     #[cfg(not(feature = "Win32_Foundation"))] usize,
14512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14513     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14514     #[cfg(not(feature = "Win32_Foundation"))] usize,
14515     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14516     #[cfg(not(feature = "Win32_Foundation"))] usize,
14517     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14518     #[cfg(not(feature = "Win32_Foundation"))] usize,
14519     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
14520     #[cfg(not(feature = "Win32_Foundation"))] usize,
14521     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14522     #[cfg(not(feature = "Win32_Foundation"))] usize,
14523     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14524     #[cfg(not(feature = "Win32_Foundation"))] usize,
14525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
14526     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14527     #[cfg(not(feature = "Win32_Foundation"))] usize,
14528     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14529     #[cfg(not(feature = "Win32_Foundation"))] usize,
14530     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14531     #[cfg(not(feature = "Win32_Foundation"))] usize,
14532     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
14533     #[cfg(not(feature = "Win32_Foundation"))] usize,
14534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14535     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14536     #[cfg(not(feature = "Win32_Foundation"))] usize,
14537     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14538     #[cfg(not(feature = "Win32_Foundation"))] usize,
14539     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14540     #[cfg(not(feature = "Win32_Foundation"))] usize,
14541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14544     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14545     #[cfg(not(feature = "Win32_Foundation"))] usize,
14546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14548     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14549     #[cfg(not(feature = "Win32_Foundation"))] usize,
14550     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14551     #[cfg(not(feature = "Win32_Foundation"))] usize,
14552     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14553     #[cfg(not(feature = "Win32_Foundation"))] usize,
14554     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14555     #[cfg(not(feature = "Win32_Foundation"))] usize,
14556     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14557     #[cfg(not(feature = "Win32_Foundation"))] usize,
14558     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14559     #[cfg(not(feature = "Win32_Foundation"))] usize,
14560     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14561     #[cfg(not(feature = "Win32_Foundation"))] usize,
14562     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14563     #[cfg(not(feature = "Win32_Foundation"))] usize,
14564     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14565     #[cfg(not(feature = "Win32_Foundation"))] usize,
14566     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14567     #[cfg(not(feature = "Win32_Foundation"))] usize,
14568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14569     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14570     #[cfg(not(feature = "Win32_Foundation"))] usize,
14571     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14572     #[cfg(not(feature = "Win32_Foundation"))] usize,
14573     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14574     #[cfg(not(feature = "Win32_Foundation"))] usize,
14575     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
14576     #[cfg(not(feature = "Win32_Foundation"))] usize,
14577     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14578     #[cfg(not(feature = "Win32_Foundation"))] usize,
14579     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14580     #[cfg(not(feature = "Win32_Foundation"))] usize,
14581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut OrientationType) -> ::windows::runtime::HRESULT,
14582     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14583     #[cfg(not(feature = "Win32_Foundation"))] usize,
14584     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14585     #[cfg(not(feature = "Win32_Foundation"))] usize,
14586     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14587     #[cfg(not(feature = "Win32_Foundation"))] usize,
14588     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::RECT) -> ::windows::runtime::HRESULT,
14589     #[cfg(not(feature = "Win32_Foundation"))] usize,
14590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14591     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14592     #[cfg(not(feature = "Win32_Foundation"))] usize,
14593     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14594     #[cfg(not(feature = "Win32_Foundation"))] usize,
14595     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14596     #[cfg(not(feature = "Win32_Foundation"))] usize,
14597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14600     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14601     #[cfg(not(feature = "Win32_Foundation"))] usize,
14602     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clickable: *mut super::super::Foundation::POINT, gotclickable: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14603     #[cfg(not(feature = "Win32_Foundation"))] usize,
14604     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14605     #[cfg(not(feature = "Win32_Foundation"))] usize,
14606     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14607     #[cfg(not(feature = "Win32_Foundation"))] usize,
14608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
14609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut LiveSetting) -> ::windows::runtime::HRESULT,
14610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14613     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14614     #[cfg(not(feature = "Win32_Foundation"))] usize,
14615     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14616     #[cfg(not(feature = "Win32_Foundation"))] usize,
14617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14620     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
14621     #[cfg(not(feature = "Win32_System_Com"))] usize,
14622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14626     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
14627     #[cfg(not(feature = "Win32_System_Com"))] usize,
14628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14630     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14631     #[cfg(not(feature = "Win32_Foundation"))] usize,
14632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14633     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14634     #[cfg(not(feature = "Win32_Foundation"))] usize,
14635     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14636     #[cfg(not(feature = "Win32_Foundation"))] usize,
14637     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
14638     #[cfg(not(feature = "Win32_Foundation"))] usize,
14639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, condition: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, traversaloptions: TreeTraversalOptions, root: ::windows::runtime::RawPtr, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14643     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, targetid: i32, metadataid: i32, returnval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
14644     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
14645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14647     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14648     #[cfg(not(feature = "Win32_Foundation"))] usize,
14649     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
14650     #[cfg(not(feature = "Win32_Foundation"))] usize,
14651 );
14652 #[repr(transparent)]
14653 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14654 pub struct IUIAutomationElementArray(::windows::runtime::IUnknown);
14655 impl IUIAutomationElementArray {
14656     pub unsafe fn Length(&self) -> ::windows::runtime::Result<i32> {
14657         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14658         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14659     }
14660     pub unsafe fn GetElement(&self, index: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
14661         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14662         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IUIAutomationElement>(result__)
14663     }
14664 }
14665 unsafe impl ::windows::runtime::Interface for IUIAutomationElementArray {
14666     type Vtable = IUIAutomationElementArray_abi;
14667     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(338773397, 46268, 16469, [149, 242, 88, 242, 228, 44, 152, 85]);
14668 }
14669 impl ::std::convert::From<IUIAutomationElementArray> for ::windows::runtime::IUnknown {
14670     fn from(value: IUIAutomationElementArray) -> Self {
14671         unsafe { ::std::mem::transmute(value) }
14672     }
14673 }
14674 impl ::std::convert::From<&IUIAutomationElementArray> for ::windows::runtime::IUnknown {
14675     fn from(value: &IUIAutomationElementArray) -> Self {
14676         ::std::convert::From::from(::std::clone::Clone::clone(value))
14677     }
14678 }
14679 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationElementArray {
14680     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14681         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14682     }
14683 }
14684 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationElementArray {
14685     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14686         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14687     }
14688 }
14689 #[repr(C)]
14690 #[doc(hidden)]
14691 pub struct IUIAutomationElementArray_abi(
14692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, length: *mut i32) -> ::windows::runtime::HRESULT,
14696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14697 );
14698 #[repr(transparent)]
14699 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14700 pub struct IUIAutomationEventHandler(::windows::runtime::IUnknown);
14701 impl IUIAutomationEventHandler {
14702     pub unsafe fn HandleAutomationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, sender: Param0, eventid: i32) -> ::windows::runtime::Result<()> {
14703         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), ::std::mem::transmute(eventid)).ok()
14704     }
14705 }
14706 unsafe impl ::windows::runtime::Interface for IUIAutomationEventHandler {
14707     type Vtable = IUIAutomationEventHandler_abi;
14708     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(342637591, 61742, 20002, [140, 39, 248, 148, 185, 183, 156, 105]);
14709 }
14710 impl ::std::convert::From<IUIAutomationEventHandler> for ::windows::runtime::IUnknown {
14711     fn from(value: IUIAutomationEventHandler) -> Self {
14712         unsafe { ::std::mem::transmute(value) }
14713     }
14714 }
14715 impl ::std::convert::From<&IUIAutomationEventHandler> for ::windows::runtime::IUnknown {
14716     fn from(value: &IUIAutomationEventHandler) -> Self {
14717         ::std::convert::From::from(::std::clone::Clone::clone(value))
14718     }
14719 }
14720 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationEventHandler {
14721     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14722         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14723     }
14724 }
14725 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationEventHandler {
14726     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14727         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14728     }
14729 }
14730 #[repr(C)]
14731 #[doc(hidden)]
14732 pub struct IUIAutomationEventHandler_abi(
14733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, eventid: i32) -> ::windows::runtime::HRESULT,
14737 );
14738 #[repr(transparent)]
14739 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14740 pub struct IUIAutomationEventHandlerGroup(::windows::runtime::IUnknown);
14741 impl IUIAutomationEventHandlerGroup {
14742     pub unsafe fn AddActiveTextPositionChangedEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationActiveTextPositionChangedEventHandler>>(&self, scope: TreeScope, cacherequest: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
14743         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
14744     }
14745     pub unsafe fn AddAutomationEventHandler<'a, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationEventHandler>>(&self, eventid: i32, scope: TreeScope, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
14746         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
14747     }
14748     pub unsafe fn AddChangesEventHandler<'a, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param4: ::windows::runtime::IntoParam<'a, IUIAutomationChangesEventHandler>>(&self, scope: TreeScope, changetypes: *const i32, changescount: i32, cacherequest: Param3, handler: Param4) -> ::windows::runtime::Result<()> {
14749         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), ::std::mem::transmute(changetypes), ::std::mem::transmute(changescount), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
14750     }
14751     pub unsafe fn AddNotificationEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationNotificationEventHandler>>(&self, scope: TreeScope, cacherequest: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
14752         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
14753     }
14754     pub unsafe fn AddPropertyChangedEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationPropertyChangedEventHandler>>(&self, scope: TreeScope, cacherequest: Param1, handler: Param2, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::Result<()> {
14755         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi(), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
14756     }
14757     pub unsafe fn AddStructureChangedEventHandler<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationStructureChangedEventHandler>>(&self, scope: TreeScope, cacherequest: Param1, handler: Param2) -> ::windows::runtime::Result<()> {
14758         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
14759     }
14760     pub unsafe fn AddTextEditTextChangedEventHandler<'a, Param2: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>, Param3: ::windows::runtime::IntoParam<'a, IUIAutomationTextEditTextChangedEventHandler>>(&self, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: Param2, handler: Param3) -> ::windows::runtime::Result<()> {
14761         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(scope), ::std::mem::transmute(texteditchangetype), cacherequest.into_param().abi(), handler.into_param().abi()).ok()
14762     }
14763 }
14764 unsafe impl ::windows::runtime::Interface for IUIAutomationEventHandlerGroup {
14765     type Vtable = IUIAutomationEventHandlerGroup_abi;
14766     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3387822834, 49467, 17416, [153, 124, 99, 153, 20, 55, 127, 78]);
14767 }
14768 impl ::std::convert::From<IUIAutomationEventHandlerGroup> for ::windows::runtime::IUnknown {
14769     fn from(value: IUIAutomationEventHandlerGroup) -> Self {
14770         unsafe { ::std::mem::transmute(value) }
14771     }
14772 }
14773 impl ::std::convert::From<&IUIAutomationEventHandlerGroup> for ::windows::runtime::IUnknown {
14774     fn from(value: &IUIAutomationEventHandlerGroup) -> Self {
14775         ::std::convert::From::from(::std::clone::Clone::clone(value))
14776     }
14777 }
14778 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationEventHandlerGroup {
14779     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14780         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14781     }
14782 }
14783 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationEventHandlerGroup {
14784     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14785         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14786     }
14787 }
14788 #[repr(C)]
14789 #[doc(hidden)]
14790 pub struct IUIAutomationEventHandlerGroup_abi(
14791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, changetypes: *const i32, changescount: i32, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, propertyarray: *const i32, propertycount: i32) -> ::windows::runtime::HRESULT,
14799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scope: TreeScope, texteditchangetype: TextEditChangeType, cacherequest: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14801 );
14802 #[repr(transparent)]
14803 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14804 pub struct IUIAutomationExpandCollapsePattern(::windows::runtime::IUnknown);
14805 impl IUIAutomationExpandCollapsePattern {
14806     pub unsafe fn Expand(&self) -> ::windows::runtime::Result<()> {
14807         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
14808     }
14809     pub unsafe fn Collapse(&self) -> ::windows::runtime::Result<()> {
14810         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
14811     }
14812     pub unsafe fn CurrentExpandCollapseState(&self) -> ::windows::runtime::Result<ExpandCollapseState> {
14813         let mut result__: <ExpandCollapseState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14814         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ExpandCollapseState>(result__)
14815     }
14816     pub unsafe fn CachedExpandCollapseState(&self) -> ::windows::runtime::Result<ExpandCollapseState> {
14817         let mut result__: <ExpandCollapseState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14818         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ExpandCollapseState>(result__)
14819     }
14820 }
14821 unsafe impl ::windows::runtime::Interface for IUIAutomationExpandCollapsePattern {
14822     type Vtable = IUIAutomationExpandCollapsePattern_abi;
14823     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1637605510, 8014, 20196, [186, 250, 33, 1, 40, 115, 135, 48]);
14824 }
14825 impl ::std::convert::From<IUIAutomationExpandCollapsePattern> for ::windows::runtime::IUnknown {
14826     fn from(value: IUIAutomationExpandCollapsePattern) -> Self {
14827         unsafe { ::std::mem::transmute(value) }
14828     }
14829 }
14830 impl ::std::convert::From<&IUIAutomationExpandCollapsePattern> for ::windows::runtime::IUnknown {
14831     fn from(value: &IUIAutomationExpandCollapsePattern) -> Self {
14832         ::std::convert::From::from(::std::clone::Clone::clone(value))
14833     }
14834 }
14835 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationExpandCollapsePattern {
14836     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14837         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14838     }
14839 }
14840 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationExpandCollapsePattern {
14841     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14842         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14843     }
14844 }
14845 #[repr(C)]
14846 #[doc(hidden)]
14847 pub struct IUIAutomationExpandCollapsePattern_abi(
14848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ExpandCollapseState) -> ::windows::runtime::HRESULT,
14854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ExpandCollapseState) -> ::windows::runtime::HRESULT,
14855 );
14856 #[repr(transparent)]
14857 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14858 pub struct IUIAutomationFocusChangedEventHandler(::windows::runtime::IUnknown);
14859 impl IUIAutomationFocusChangedEventHandler {
14860     pub unsafe fn HandleFocusChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, sender: Param0) -> ::windows::runtime::Result<()> {
14861         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi()).ok()
14862     }
14863 }
14864 unsafe impl ::windows::runtime::Interface for IUIAutomationFocusChangedEventHandler {
14865     type Vtable = IUIAutomationFocusChangedEventHandler_abi;
14866     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3262183093, 23657, 17040, [151, 69, 122, 127, 151, 22, 148, 104]);
14867 }
14868 impl ::std::convert::From<IUIAutomationFocusChangedEventHandler> for ::windows::runtime::IUnknown {
14869     fn from(value: IUIAutomationFocusChangedEventHandler) -> Self {
14870         unsafe { ::std::mem::transmute(value) }
14871     }
14872 }
14873 impl ::std::convert::From<&IUIAutomationFocusChangedEventHandler> for ::windows::runtime::IUnknown {
14874     fn from(value: &IUIAutomationFocusChangedEventHandler) -> Self {
14875         ::std::convert::From::from(::std::clone::Clone::clone(value))
14876     }
14877 }
14878 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationFocusChangedEventHandler {
14879     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14880         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14881     }
14882 }
14883 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationFocusChangedEventHandler {
14884     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14885         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14886     }
14887 }
14888 #[repr(C)]
14889 #[doc(hidden)]
14890 pub struct IUIAutomationFocusChangedEventHandler_abi(
14891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14895 );
14896 #[repr(transparent)]
14897 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14898 pub struct IUIAutomationGridItemPattern(::windows::runtime::IUnknown);
14899 impl IUIAutomationGridItemPattern {
14900     pub unsafe fn CurrentContainingGrid(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
14901         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14902         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
14903     }
14904     pub unsafe fn CurrentRow(&self) -> ::windows::runtime::Result<i32> {
14905         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14906         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14907     }
14908     pub unsafe fn CurrentColumn(&self) -> ::windows::runtime::Result<i32> {
14909         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14910         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14911     }
14912     pub unsafe fn CurrentRowSpan(&self) -> ::windows::runtime::Result<i32> {
14913         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14914         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14915     }
14916     pub unsafe fn CurrentColumnSpan(&self) -> ::windows::runtime::Result<i32> {
14917         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14918         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14919     }
14920     pub unsafe fn CachedContainingGrid(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
14921         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14922         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
14923     }
14924     pub unsafe fn CachedRow(&self) -> ::windows::runtime::Result<i32> {
14925         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14926         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14927     }
14928     pub unsafe fn CachedColumn(&self) -> ::windows::runtime::Result<i32> {
14929         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14930         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14931     }
14932     pub unsafe fn CachedRowSpan(&self) -> ::windows::runtime::Result<i32> {
14933         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14934         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14935     }
14936     pub unsafe fn CachedColumnSpan(&self) -> ::windows::runtime::Result<i32> {
14937         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14938         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14939     }
14940 }
14941 unsafe impl ::windows::runtime::Interface for IUIAutomationGridItemPattern {
14942     type Vtable = IUIAutomationGridItemPattern_abi;
14943     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2029580119, 26307, 19977, [189, 124, 231, 155, 32, 4, 137, 77]);
14944 }
14945 impl ::std::convert::From<IUIAutomationGridItemPattern> for ::windows::runtime::IUnknown {
14946     fn from(value: IUIAutomationGridItemPattern) -> Self {
14947         unsafe { ::std::mem::transmute(value) }
14948     }
14949 }
14950 impl ::std::convert::From<&IUIAutomationGridItemPattern> for ::windows::runtime::IUnknown {
14951     fn from(value: &IUIAutomationGridItemPattern) -> Self {
14952         ::std::convert::From::from(::std::clone::Clone::clone(value))
14953     }
14954 }
14955 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationGridItemPattern {
14956     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14957         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14958     }
14959 }
14960 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationGridItemPattern {
14961     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14962         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14963     }
14964 }
14965 #[repr(C)]
14966 #[doc(hidden)]
14967 pub struct IUIAutomationGridItemPattern_abi(
14968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
14971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
14981 );
14982 #[repr(transparent)]
14983 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14984 pub struct IUIAutomationGridPattern(::windows::runtime::IUnknown);
14985 impl IUIAutomationGridPattern {
14986     pub unsafe fn GetItem(&self, row: i32, column: i32) -> ::windows::runtime::Result<IUIAutomationElement> {
14987         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14988         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(row), ::std::mem::transmute(column), &mut result__).from_abi::<IUIAutomationElement>(result__)
14989     }
14990     pub unsafe fn CurrentRowCount(&self) -> ::windows::runtime::Result<i32> {
14991         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14992         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14993     }
14994     pub unsafe fn CurrentColumnCount(&self) -> ::windows::runtime::Result<i32> {
14995         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14996         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
14997     }
14998     pub unsafe fn CachedRowCount(&self) -> ::windows::runtime::Result<i32> {
14999         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15000         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15001     }
15002     pub unsafe fn CachedColumnCount(&self) -> ::windows::runtime::Result<i32> {
15003         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15004         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15005     }
15006 }
15007 unsafe impl ::windows::runtime::Interface for IUIAutomationGridPattern {
15008     type Vtable = IUIAutomationGridPattern_abi;
15009     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1095515356, 34155, 20315, [133, 56, 49, 49, 198, 48, 37, 80]);
15010 }
15011 impl ::std::convert::From<IUIAutomationGridPattern> for ::windows::runtime::IUnknown {
15012     fn from(value: IUIAutomationGridPattern) -> Self {
15013         unsafe { ::std::mem::transmute(value) }
15014     }
15015 }
15016 impl ::std::convert::From<&IUIAutomationGridPattern> for ::windows::runtime::IUnknown {
15017     fn from(value: &IUIAutomationGridPattern) -> Self {
15018         ::std::convert::From::from(::std::clone::Clone::clone(value))
15019     }
15020 }
15021 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationGridPattern {
15022     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15023         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15024     }
15025 }
15026 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationGridPattern {
15027     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15028         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15029     }
15030 }
15031 #[repr(C)]
15032 #[doc(hidden)]
15033 pub struct IUIAutomationGridPattern_abi(
15034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, row: i32, column: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
15039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
15040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
15041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
15042 );
15043 #[repr(transparent)]
15044 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15045 pub struct IUIAutomationInvokePattern(::windows::runtime::IUnknown);
15046 impl IUIAutomationInvokePattern {
15047     pub unsafe fn Invoke(&self) -> ::windows::runtime::Result<()> {
15048         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
15049     }
15050 }
15051 unsafe impl ::windows::runtime::Interface for IUIAutomationInvokePattern {
15052     type Vtable = IUIAutomationInvokePattern_abi;
15053     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4214718398, 36518, 18133, [156, 115, 100, 153, 100, 45, 48, 89]);
15054 }
15055 impl ::std::convert::From<IUIAutomationInvokePattern> for ::windows::runtime::IUnknown {
15056     fn from(value: IUIAutomationInvokePattern) -> Self {
15057         unsafe { ::std::mem::transmute(value) }
15058     }
15059 }
15060 impl ::std::convert::From<&IUIAutomationInvokePattern> for ::windows::runtime::IUnknown {
15061     fn from(value: &IUIAutomationInvokePattern) -> Self {
15062         ::std::convert::From::from(::std::clone::Clone::clone(value))
15063     }
15064 }
15065 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationInvokePattern {
15066     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15067         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15068     }
15069 }
15070 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationInvokePattern {
15071     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15072         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15073     }
15074 }
15075 #[repr(C)]
15076 #[doc(hidden)]
15077 pub struct IUIAutomationInvokePattern_abi(
15078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15082 );
15083 #[repr(transparent)]
15084 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15085 pub struct IUIAutomationItemContainerPattern(::windows::runtime::IUnknown);
15086 impl IUIAutomationItemContainerPattern {
15087     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
15088     pub unsafe fn FindItemByProperty<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, pstartafter: Param0, propertyid: i32, value: Param2) -> ::windows::runtime::Result<IUIAutomationElement> {
15089         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15090         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pstartafter.into_param().abi(), ::std::mem::transmute(propertyid), value.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
15091     }
15092 }
15093 unsafe impl ::windows::runtime::Interface for IUIAutomationItemContainerPattern {
15094     type Vtable = IUIAutomationItemContainerPattern_abi;
15095     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3331390898, 10152, 16956, [129, 45, 66, 151, 115, 201, 8, 78]);
15096 }
15097 impl ::std::convert::From<IUIAutomationItemContainerPattern> for ::windows::runtime::IUnknown {
15098     fn from(value: IUIAutomationItemContainerPattern) -> Self {
15099         unsafe { ::std::mem::transmute(value) }
15100     }
15101 }
15102 impl ::std::convert::From<&IUIAutomationItemContainerPattern> for ::windows::runtime::IUnknown {
15103     fn from(value: &IUIAutomationItemContainerPattern) -> Self {
15104         ::std::convert::From::from(::std::clone::Clone::clone(value))
15105     }
15106 }
15107 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationItemContainerPattern {
15108     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15109         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15110     }
15111 }
15112 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationItemContainerPattern {
15113     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15114         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15115     }
15116 }
15117 #[repr(C)]
15118 #[doc(hidden)]
15119 pub struct IUIAutomationItemContainerPattern_abi(
15120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15123     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstartafter: ::windows::runtime::RawPtr, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pfound: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15124     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
15125 );
15126 #[repr(transparent)]
15127 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15128 pub struct IUIAutomationLegacyIAccessiblePattern(::windows::runtime::IUnknown);
15129 impl IUIAutomationLegacyIAccessiblePattern {
15130     pub unsafe fn Select(&self, flagsselect: i32) -> ::windows::runtime::Result<()> {
15131         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(flagsselect)).ok()
15132     }
15133     pub unsafe fn DoDefaultAction(&self) -> ::windows::runtime::Result<()> {
15134         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
15135     }
15136     #[cfg(feature = "Win32_Foundation")]
15137     pub unsafe fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, szvalue: Param0) -> ::windows::runtime::Result<()> {
15138         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), szvalue.into_param().abi()).ok()
15139     }
15140     pub unsafe fn CurrentChildId(&self) -> ::windows::runtime::Result<i32> {
15141         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15142         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15143     }
15144     #[cfg(feature = "Win32_Foundation")]
15145     pub unsafe fn CurrentName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15146         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15147         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15148     }
15149     #[cfg(feature = "Win32_Foundation")]
15150     pub unsafe fn CurrentValue(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15151         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15152         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15153     }
15154     #[cfg(feature = "Win32_Foundation")]
15155     pub unsafe fn CurrentDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15156         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15157         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15158     }
15159     pub unsafe fn CurrentRole(&self) -> ::windows::runtime::Result<u32> {
15160         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15161         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
15162     }
15163     pub unsafe fn CurrentState(&self) -> ::windows::runtime::Result<u32> {
15164         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15165         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
15166     }
15167     #[cfg(feature = "Win32_Foundation")]
15168     pub unsafe fn CurrentHelp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15169         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15170         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15171     }
15172     #[cfg(feature = "Win32_Foundation")]
15173     pub unsafe fn CurrentKeyboardShortcut(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15174         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15175         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15176     }
15177     pub unsafe fn GetCurrentSelection(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
15178         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15179         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
15180     }
15181     #[cfg(feature = "Win32_Foundation")]
15182     pub unsafe fn CurrentDefaultAction(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15183         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15184         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15185     }
15186     pub unsafe fn CachedChildId(&self) -> ::windows::runtime::Result<i32> {
15187         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15188         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15189     }
15190     #[cfg(feature = "Win32_Foundation")]
15191     pub unsafe fn CachedName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15192         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15193         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15194     }
15195     #[cfg(feature = "Win32_Foundation")]
15196     pub unsafe fn CachedValue(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15197         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15198         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15199     }
15200     #[cfg(feature = "Win32_Foundation")]
15201     pub unsafe fn CachedDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15202         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15203         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15204     }
15205     pub unsafe fn CachedRole(&self) -> ::windows::runtime::Result<u32> {
15206         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15207         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
15208     }
15209     pub unsafe fn CachedState(&self) -> ::windows::runtime::Result<u32> {
15210         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15211         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
15212     }
15213     #[cfg(feature = "Win32_Foundation")]
15214     pub unsafe fn CachedHelp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15215         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15216         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15217     }
15218     #[cfg(feature = "Win32_Foundation")]
15219     pub unsafe fn CachedKeyboardShortcut(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15220         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15221         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15222     }
15223     pub unsafe fn GetCachedSelection(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
15224         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15225         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
15226     }
15227     #[cfg(feature = "Win32_Foundation")]
15228     pub unsafe fn CachedDefaultAction(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15229         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15230         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15231     }
15232     pub unsafe fn GetIAccessible(&self) -> ::windows::runtime::Result<IAccessible> {
15233         let mut result__: <IAccessible as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15234         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IAccessible>(result__)
15235     }
15236 }
15237 unsafe impl ::windows::runtime::Interface for IUIAutomationLegacyIAccessiblePattern {
15238     type Vtable = IUIAutomationLegacyIAccessiblePattern_abi;
15239     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2189448621, 13659, 17461, [134, 213, 59, 81, 193, 74, 155, 27]);
15240 }
15241 impl ::std::convert::From<IUIAutomationLegacyIAccessiblePattern> for ::windows::runtime::IUnknown {
15242     fn from(value: IUIAutomationLegacyIAccessiblePattern) -> Self {
15243         unsafe { ::std::mem::transmute(value) }
15244     }
15245 }
15246 impl ::std::convert::From<&IUIAutomationLegacyIAccessiblePattern> for ::windows::runtime::IUnknown {
15247     fn from(value: &IUIAutomationLegacyIAccessiblePattern) -> Self {
15248         ::std::convert::From::from(::std::clone::Clone::clone(value))
15249     }
15250 }
15251 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationLegacyIAccessiblePattern {
15252     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15253         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15254     }
15255 }
15256 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationLegacyIAccessiblePattern {
15257     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15258         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15259     }
15260 }
15261 #[repr(C)]
15262 #[doc(hidden)]
15263 pub struct IUIAutomationLegacyIAccessiblePattern_abi(
15264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flagsselect: i32) -> ::windows::runtime::HRESULT,
15268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15269     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, szvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
15270     #[cfg(not(feature = "Win32_Foundation"))] usize,
15271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
15272     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15273     #[cfg(not(feature = "Win32_Foundation"))] usize,
15274     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvalue: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15275     #[cfg(not(feature = "Win32_Foundation"))] usize,
15276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdescription: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15277     #[cfg(not(feature = "Win32_Foundation"))] usize,
15278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwrole: *mut u32) -> ::windows::runtime::HRESULT,
15279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwstate: *mut u32) -> ::windows::runtime::HRESULT,
15280     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszhelp: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15281     #[cfg(not(feature = "Win32_Foundation"))] usize,
15282     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszkeyboardshortcut: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15283     #[cfg(not(feature = "Win32_Foundation"))] usize,
15284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarselectedchildren: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15285     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdefaultaction: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15286     #[cfg(not(feature = "Win32_Foundation"))] usize,
15287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut i32) -> ::windows::runtime::HRESULT,
15288     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15289     #[cfg(not(feature = "Win32_Foundation"))] usize,
15290     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszvalue: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15291     #[cfg(not(feature = "Win32_Foundation"))] usize,
15292     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdescription: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15293     #[cfg(not(feature = "Win32_Foundation"))] usize,
15294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwrole: *mut u32) -> ::windows::runtime::HRESULT,
15295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwstate: *mut u32) -> ::windows::runtime::HRESULT,
15296     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszhelp: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15297     #[cfg(not(feature = "Win32_Foundation"))] usize,
15298     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszkeyboardshortcut: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15299     #[cfg(not(feature = "Win32_Foundation"))] usize,
15300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pvarselectedchildren: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15301     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszdefaultaction: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15302     #[cfg(not(feature = "Win32_Foundation"))] usize,
15303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaccessible: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15304 );
15305 #[repr(transparent)]
15306 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15307 pub struct IUIAutomationMultipleViewPattern(::windows::runtime::IUnknown);
15308 impl IUIAutomationMultipleViewPattern {
15309     #[cfg(feature = "Win32_Foundation")]
15310     pub unsafe fn GetViewName(&self, view: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15311         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15312         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(view), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15313     }
15314     pub unsafe fn SetCurrentView(&self, view: i32) -> ::windows::runtime::Result<()> {
15315         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(view)).ok()
15316     }
15317     pub unsafe fn CurrentCurrentView(&self) -> ::windows::runtime::Result<i32> {
15318         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15319         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15320     }
15321     #[cfg(feature = "Win32_System_Com")]
15322     pub unsafe fn GetCurrentSupportedViews(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
15323         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15324         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
15325     }
15326     pub unsafe fn CachedCurrentView(&self) -> ::windows::runtime::Result<i32> {
15327         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15328         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15329     }
15330     #[cfg(feature = "Win32_System_Com")]
15331     pub unsafe fn GetCachedSupportedViews(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
15332         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15333         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
15334     }
15335 }
15336 unsafe impl ::windows::runtime::Interface for IUIAutomationMultipleViewPattern {
15337     type Vtable = IUIAutomationMultipleViewPattern_abi;
15338     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2368027793, 7621, 19381, [177, 143, 173, 225, 111, 164, 149, 232]);
15339 }
15340 impl ::std::convert::From<IUIAutomationMultipleViewPattern> for ::windows::runtime::IUnknown {
15341     fn from(value: IUIAutomationMultipleViewPattern) -> Self {
15342         unsafe { ::std::mem::transmute(value) }
15343     }
15344 }
15345 impl ::std::convert::From<&IUIAutomationMultipleViewPattern> for ::windows::runtime::IUnknown {
15346     fn from(value: &IUIAutomationMultipleViewPattern) -> Self {
15347         ::std::convert::From::from(::std::clone::Clone::clone(value))
15348     }
15349 }
15350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationMultipleViewPattern {
15351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15352         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15353     }
15354 }
15355 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationMultipleViewPattern {
15356     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15357         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15358     }
15359 }
15360 #[repr(C)]
15361 #[doc(hidden)]
15362 pub struct IUIAutomationMultipleViewPattern_abi(
15363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15366     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, view: i32, name: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15367     #[cfg(not(feature = "Win32_Foundation"))] usize,
15368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, view: i32) -> ::windows::runtime::HRESULT,
15369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
15370     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
15371     #[cfg(not(feature = "Win32_System_Com"))] usize,
15372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
15373     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
15374     #[cfg(not(feature = "Win32_System_Com"))] usize,
15375 );
15376 #[repr(transparent)]
15377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15378 pub struct IUIAutomationNotCondition(::windows::runtime::IUnknown);
15379 impl IUIAutomationNotCondition {
15380     pub unsafe fn GetChild(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
15381         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15382         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
15383     }
15384 }
15385 unsafe impl ::windows::runtime::Interface for IUIAutomationNotCondition {
15386     type Vtable = IUIAutomationNotCondition_abi;
15387     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4113086039, 33915, 18828, [136, 150, 213, 43, 86, 84, 7, 161]);
15388 }
15389 impl ::std::convert::From<IUIAutomationNotCondition> for ::windows::runtime::IUnknown {
15390     fn from(value: IUIAutomationNotCondition) -> Self {
15391         unsafe { ::std::mem::transmute(value) }
15392     }
15393 }
15394 impl ::std::convert::From<&IUIAutomationNotCondition> for ::windows::runtime::IUnknown {
15395     fn from(value: &IUIAutomationNotCondition) -> Self {
15396         ::std::convert::From::from(::std::clone::Clone::clone(value))
15397     }
15398 }
15399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationNotCondition {
15400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15401         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15402     }
15403 }
15404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationNotCondition {
15405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15406         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15407     }
15408 }
15409 impl ::std::convert::From<IUIAutomationNotCondition> for IUIAutomationCondition {
15410     fn from(value: IUIAutomationNotCondition) -> Self {
15411         unsafe { ::std::mem::transmute(value) }
15412     }
15413 }
15414 impl ::std::convert::From<&IUIAutomationNotCondition> for IUIAutomationCondition {
15415     fn from(value: &IUIAutomationNotCondition) -> Self {
15416         ::std::convert::From::from(::std::clone::Clone::clone(value))
15417     }
15418 }
15419 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for IUIAutomationNotCondition {
15420     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
15421         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(self))
15422     }
15423 }
15424 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for &IUIAutomationNotCondition {
15425     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
15426         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(::std::clone::Clone::clone(self)))
15427     }
15428 }
15429 #[repr(C)]
15430 #[doc(hidden)]
15431 pub struct IUIAutomationNotCondition_abi(
15432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15436 );
15437 #[repr(transparent)]
15438 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15439 pub struct IUIAutomationNotificationEventHandler(::windows::runtime::IUnknown);
15440 impl IUIAutomationNotificationEventHandler {
15441     #[cfg(feature = "Win32_Foundation")]
15442     pub unsafe fn HandleNotificationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sender: Param0, notificationkind: NotificationKind, notificationprocessing: NotificationProcessing, displaystring: Param3, activityid: Param4) -> ::windows::runtime::Result<()> {
15443         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), ::std::mem::transmute(notificationkind), ::std::mem::transmute(notificationprocessing), displaystring.into_param().abi(), activityid.into_param().abi()).ok()
15444     }
15445 }
15446 unsafe impl ::windows::runtime::Interface for IUIAutomationNotificationEventHandler {
15447     type Vtable = IUIAutomationNotificationEventHandler_abi;
15448     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3351979575, 59074, 19724, [133, 222, 73, 72, 192, 33, 117, 199]);
15449 }
15450 impl ::std::convert::From<IUIAutomationNotificationEventHandler> for ::windows::runtime::IUnknown {
15451     fn from(value: IUIAutomationNotificationEventHandler) -> Self {
15452         unsafe { ::std::mem::transmute(value) }
15453     }
15454 }
15455 impl ::std::convert::From<&IUIAutomationNotificationEventHandler> for ::windows::runtime::IUnknown {
15456     fn from(value: &IUIAutomationNotificationEventHandler) -> Self {
15457         ::std::convert::From::from(::std::clone::Clone::clone(value))
15458     }
15459 }
15460 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationNotificationEventHandler {
15461     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15462         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15463     }
15464 }
15465 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationNotificationEventHandler {
15466     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15467         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15468     }
15469 }
15470 #[repr(C)]
15471 #[doc(hidden)]
15472 pub struct IUIAutomationNotificationEventHandler_abi(
15473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15476     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, notificationkind: NotificationKind, notificationprocessing: NotificationProcessing, displaystring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, activityid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15477     #[cfg(not(feature = "Win32_Foundation"))] usize,
15478 );
15479 #[repr(transparent)]
15480 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15481 pub struct IUIAutomationObjectModelPattern(::windows::runtime::IUnknown);
15482 impl IUIAutomationObjectModelPattern {
15483     pub unsafe fn GetUnderlyingObjectModel(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
15484         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15485         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
15486     }
15487 }
15488 unsafe impl ::windows::runtime::Interface for IUIAutomationObjectModelPattern {
15489     type Vtable = IUIAutomationObjectModelPattern_abi;
15490     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1908573363, 49485, 19732, [152, 30, 25, 117, 27, 13, 117, 109]);
15491 }
15492 impl ::std::convert::From<IUIAutomationObjectModelPattern> for ::windows::runtime::IUnknown {
15493     fn from(value: IUIAutomationObjectModelPattern) -> Self {
15494         unsafe { ::std::mem::transmute(value) }
15495     }
15496 }
15497 impl ::std::convert::From<&IUIAutomationObjectModelPattern> for ::windows::runtime::IUnknown {
15498     fn from(value: &IUIAutomationObjectModelPattern) -> Self {
15499         ::std::convert::From::from(::std::clone::Clone::clone(value))
15500     }
15501 }
15502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationObjectModelPattern {
15503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15504         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15505     }
15506 }
15507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationObjectModelPattern {
15508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15510     }
15511 }
15512 #[repr(C)]
15513 #[doc(hidden)]
15514 pub struct IUIAutomationObjectModelPattern_abi(
15515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15519 );
15520 #[repr(transparent)]
15521 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15522 pub struct IUIAutomationOrCondition(::windows::runtime::IUnknown);
15523 impl IUIAutomationOrCondition {
15524     pub unsafe fn ChildCount(&self) -> ::windows::runtime::Result<i32> {
15525         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15526         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15527     }
15528     pub unsafe fn GetChildrenAsNativeArray(&self, childarray: *mut *mut ::std::option::Option<IUIAutomationCondition>, childarraycount: *mut i32) -> ::windows::runtime::Result<()> {
15529         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(childarray), ::std::mem::transmute(childarraycount)).ok()
15530     }
15531     #[cfg(feature = "Win32_System_Com")]
15532     pub unsafe fn GetChildren(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
15533         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15534         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
15535     }
15536 }
15537 unsafe impl ::windows::runtime::Interface for IUIAutomationOrCondition {
15538     type Vtable = IUIAutomationOrCondition_abi;
15539     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2270425138, 15793, 18357, [161, 252, 110, 52, 162, 102, 199, 18]);
15540 }
15541 impl ::std::convert::From<IUIAutomationOrCondition> for ::windows::runtime::IUnknown {
15542     fn from(value: IUIAutomationOrCondition) -> Self {
15543         unsafe { ::std::mem::transmute(value) }
15544     }
15545 }
15546 impl ::std::convert::From<&IUIAutomationOrCondition> for ::windows::runtime::IUnknown {
15547     fn from(value: &IUIAutomationOrCondition) -> Self {
15548         ::std::convert::From::from(::std::clone::Clone::clone(value))
15549     }
15550 }
15551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationOrCondition {
15552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15553         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15554     }
15555 }
15556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationOrCondition {
15557     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15558         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15559     }
15560 }
15561 impl ::std::convert::From<IUIAutomationOrCondition> for IUIAutomationCondition {
15562     fn from(value: IUIAutomationOrCondition) -> Self {
15563         unsafe { ::std::mem::transmute(value) }
15564     }
15565 }
15566 impl ::std::convert::From<&IUIAutomationOrCondition> for IUIAutomationCondition {
15567     fn from(value: &IUIAutomationOrCondition) -> Self {
15568         ::std::convert::From::from(::std::clone::Clone::clone(value))
15569     }
15570 }
15571 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for IUIAutomationOrCondition {
15572     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
15573         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(self))
15574     }
15575 }
15576 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for &IUIAutomationOrCondition {
15577     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
15578         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(::std::clone::Clone::clone(self)))
15579     }
15580 }
15581 #[repr(C)]
15582 #[doc(hidden)]
15583 pub struct IUIAutomationOrCondition_abi(
15584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childcount: *mut i32) -> ::windows::runtime::HRESULT,
15588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childarray: *mut *mut ::windows::runtime::RawPtr, childarraycount: *mut i32) -> ::windows::runtime::HRESULT,
15589     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, childarray: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
15590     #[cfg(not(feature = "Win32_System_Com"))] usize,
15591 );
15592 #[repr(transparent)]
15593 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15594 pub struct IUIAutomationPatternHandler(::windows::runtime::IUnknown);
15595 impl IUIAutomationPatternHandler {
15596     pub unsafe fn CreateClientWrapper<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationPatternInstance>>(&self, ppatterninstance: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
15597         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15598         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ppatterninstance.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
15599     }
15600     pub unsafe fn Dispatch<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, ptarget: Param0, index: u32, pparams: *const UIAutomationParameter, cparams: u32) -> ::windows::runtime::Result<()> {
15601         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ptarget.into_param().abi(), ::std::mem::transmute(index), ::std::mem::transmute(pparams), ::std::mem::transmute(cparams)).ok()
15602     }
15603 }
15604 unsafe impl ::windows::runtime::Interface for IUIAutomationPatternHandler {
15605     type Vtable = IUIAutomationPatternHandler_abi;
15606     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3648004851, 43335, 18014, [139, 42, 172, 67, 21, 250, 84, 232]);
15607 }
15608 impl ::std::convert::From<IUIAutomationPatternHandler> for ::windows::runtime::IUnknown {
15609     fn from(value: IUIAutomationPatternHandler) -> Self {
15610         unsafe { ::std::mem::transmute(value) }
15611     }
15612 }
15613 impl ::std::convert::From<&IUIAutomationPatternHandler> for ::windows::runtime::IUnknown {
15614     fn from(value: &IUIAutomationPatternHandler) -> Self {
15615         ::std::convert::From::from(::std::clone::Clone::clone(value))
15616     }
15617 }
15618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationPatternHandler {
15619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15620         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15621     }
15622 }
15623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationPatternHandler {
15624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15625         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15626     }
15627 }
15628 #[repr(C)]
15629 #[doc(hidden)]
15630 pub struct IUIAutomationPatternHandler_abi(
15631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppatterninstance: ::windows::runtime::RawPtr, pclientwrapper: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptarget: ::windows::runtime::RawPtr, index: u32, pparams: *const UIAutomationParameter, cparams: u32) -> ::windows::runtime::HRESULT,
15636 );
15637 #[repr(transparent)]
15638 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15639 pub struct IUIAutomationPatternInstance(::windows::runtime::IUnknown);
15640 impl IUIAutomationPatternInstance {
15641     #[cfg(feature = "Win32_Foundation")]
15642     pub unsafe fn GetProperty<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, index: u32, cached: Param1, r#type: UIAutomationType, pptr: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
15643         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), cached.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(pptr)).ok()
15644     }
15645     pub unsafe fn CallMethod(&self, index: u32, pparams: *const UIAutomationParameter, cparams: u32) -> ::windows::runtime::Result<()> {
15646         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), ::std::mem::transmute(pparams), ::std::mem::transmute(cparams)).ok()
15647     }
15648 }
15649 unsafe impl ::windows::runtime::Interface for IUIAutomationPatternInstance {
15650     type Vtable = IUIAutomationPatternInstance_abi;
15651     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3225059300, 37937, 16543, [190, 216, 174, 124, 34, 153, 188, 141]);
15652 }
15653 impl ::std::convert::From<IUIAutomationPatternInstance> for ::windows::runtime::IUnknown {
15654     fn from(value: IUIAutomationPatternInstance) -> Self {
15655         unsafe { ::std::mem::transmute(value) }
15656     }
15657 }
15658 impl ::std::convert::From<&IUIAutomationPatternInstance> for ::windows::runtime::IUnknown {
15659     fn from(value: &IUIAutomationPatternInstance) -> Self {
15660         ::std::convert::From::from(::std::clone::Clone::clone(value))
15661     }
15662 }
15663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationPatternInstance {
15664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15665         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15666     }
15667 }
15668 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationPatternInstance {
15669     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15670         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15671     }
15672 }
15673 #[repr(C)]
15674 #[doc(hidden)]
15675 pub struct IUIAutomationPatternInstance_abi(
15676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15679     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, cached: super::super::Foundation::BOOL, r#type: UIAutomationType, pptr: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
15680     #[cfg(not(feature = "Win32_Foundation"))] usize,
15681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, pparams: *const UIAutomationParameter, cparams: u32) -> ::windows::runtime::HRESULT,
15682 );
15683 #[repr(transparent)]
15684 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15685 pub struct IUIAutomationPropertyChangedEventHandler(::windows::runtime::IUnknown);
15686 impl IUIAutomationPropertyChangedEventHandler {
15687     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
15688     pub unsafe fn HandlePropertyChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(&self, sender: Param0, propertyid: i32, newvalue: Param2) -> ::windows::runtime::Result<()> {
15689         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), ::std::mem::transmute(propertyid), newvalue.into_param().abi()).ok()
15690     }
15691 }
15692 unsafe impl ::windows::runtime::Interface for IUIAutomationPropertyChangedEventHandler {
15693     type Vtable = IUIAutomationPropertyChangedEventHandler_abi;
15694     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1087190996, 51030, 19212, [140, 111, 189, 223, 238, 177, 59, 80]);
15695 }
15696 impl ::std::convert::From<IUIAutomationPropertyChangedEventHandler> for ::windows::runtime::IUnknown {
15697     fn from(value: IUIAutomationPropertyChangedEventHandler) -> Self {
15698         unsafe { ::std::mem::transmute(value) }
15699     }
15700 }
15701 impl ::std::convert::From<&IUIAutomationPropertyChangedEventHandler> for ::windows::runtime::IUnknown {
15702     fn from(value: &IUIAutomationPropertyChangedEventHandler) -> Self {
15703         ::std::convert::From::from(::std::clone::Clone::clone(value))
15704     }
15705 }
15706 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationPropertyChangedEventHandler {
15707     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15708         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15709     }
15710 }
15711 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationPropertyChangedEventHandler {
15712     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15713         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15714     }
15715 }
15716 #[repr(C)]
15717 #[doc(hidden)]
15718 pub struct IUIAutomationPropertyChangedEventHandler_abi(
15719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15722     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, propertyid: i32, newvalue: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
15723     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
15724 );
15725 #[repr(transparent)]
15726 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15727 pub struct IUIAutomationPropertyCondition(::windows::runtime::IUnknown);
15728 impl IUIAutomationPropertyCondition {
15729     pub unsafe fn PropertyId(&self) -> ::windows::runtime::Result<i32> {
15730         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15731         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
15732     }
15733     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
15734     pub unsafe fn PropertyValue(&self) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
15735         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15736         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
15737     }
15738     pub unsafe fn PropertyConditionFlags(&self) -> ::windows::runtime::Result<PropertyConditionFlags> {
15739         let mut result__: <PropertyConditionFlags as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15740         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PropertyConditionFlags>(result__)
15741     }
15742 }
15743 unsafe impl ::windows::runtime::Interface for IUIAutomationPropertyCondition {
15744     type Vtable = IUIAutomationPropertyCondition_abi;
15745     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2582377163, 21880, 16999, [154, 212, 175, 214, 234, 119, 233, 75]);
15746 }
15747 impl ::std::convert::From<IUIAutomationPropertyCondition> for ::windows::runtime::IUnknown {
15748     fn from(value: IUIAutomationPropertyCondition) -> Self {
15749         unsafe { ::std::mem::transmute(value) }
15750     }
15751 }
15752 impl ::std::convert::From<&IUIAutomationPropertyCondition> for ::windows::runtime::IUnknown {
15753     fn from(value: &IUIAutomationPropertyCondition) -> Self {
15754         ::std::convert::From::from(::std::clone::Clone::clone(value))
15755     }
15756 }
15757 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationPropertyCondition {
15758     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15759         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15760     }
15761 }
15762 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationPropertyCondition {
15763     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15764         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15765     }
15766 }
15767 impl ::std::convert::From<IUIAutomationPropertyCondition> for IUIAutomationCondition {
15768     fn from(value: IUIAutomationPropertyCondition) -> Self {
15769         unsafe { ::std::mem::transmute(value) }
15770     }
15771 }
15772 impl ::std::convert::From<&IUIAutomationPropertyCondition> for IUIAutomationCondition {
15773     fn from(value: &IUIAutomationPropertyCondition) -> Self {
15774         ::std::convert::From::from(::std::clone::Clone::clone(value))
15775     }
15776 }
15777 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for IUIAutomationPropertyCondition {
15778     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
15779         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(self))
15780     }
15781 }
15782 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationCondition> for &IUIAutomationPropertyCondition {
15783     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationCondition> {
15784         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationCondition>::into(::std::clone::Clone::clone(self)))
15785     }
15786 }
15787 #[repr(C)]
15788 #[doc(hidden)]
15789 pub struct IUIAutomationPropertyCondition_abi(
15790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: *mut i32) -> ::windows::runtime::HRESULT,
15794     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
15795     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
15796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: *mut PropertyConditionFlags) -> ::windows::runtime::HRESULT,
15797 );
15798 #[repr(transparent)]
15799 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15800 pub struct IUIAutomationProxyFactory(::windows::runtime::IUnknown);
15801 impl IUIAutomationProxyFactory {
15802     #[cfg(feature = "Win32_Foundation")]
15803     pub unsafe fn CreateProvider<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, hwnd: Param0, idobject: i32, idchild: i32) -> ::windows::runtime::Result<IRawElementProviderSimple> {
15804         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15805         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
15806     }
15807     #[cfg(feature = "Win32_Foundation")]
15808     pub unsafe fn ProxyFactoryId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15809         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15810         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15811     }
15812 }
15813 unsafe impl ::windows::runtime::Interface for IUIAutomationProxyFactory {
15814     type Vtable = IUIAutomationProxyFactory_abi;
15815     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2243514061, 33949, 17078, [185, 77, 214, 219, 35, 253, 245, 164]);
15816 }
15817 impl ::std::convert::From<IUIAutomationProxyFactory> for ::windows::runtime::IUnknown {
15818     fn from(value: IUIAutomationProxyFactory) -> Self {
15819         unsafe { ::std::mem::transmute(value) }
15820     }
15821 }
15822 impl ::std::convert::From<&IUIAutomationProxyFactory> for ::windows::runtime::IUnknown {
15823     fn from(value: &IUIAutomationProxyFactory) -> Self {
15824         ::std::convert::From::from(::std::clone::Clone::clone(value))
15825     }
15826 }
15827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationProxyFactory {
15828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15829         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15830     }
15831 }
15832 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationProxyFactory {
15833     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15834         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15835     }
15836 }
15837 #[repr(C)]
15838 #[doc(hidden)]
15839 pub struct IUIAutomationProxyFactory_abi(
15840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15843     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, idobject: i32, idchild: i32, provider: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15844     #[cfg(not(feature = "Win32_Foundation"))] usize,
15845     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factoryid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15846     #[cfg(not(feature = "Win32_Foundation"))] usize,
15847 );
15848 #[repr(transparent)]
15849 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15850 pub struct IUIAutomationProxyFactoryEntry(::windows::runtime::IUnknown);
15851 impl IUIAutomationProxyFactoryEntry {
15852     pub unsafe fn ProxyFactory(&self) -> ::windows::runtime::Result<IUIAutomationProxyFactory> {
15853         let mut result__: <IUIAutomationProxyFactory as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15854         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationProxyFactory>(result__)
15855     }
15856     #[cfg(feature = "Win32_Foundation")]
15857     pub unsafe fn ClassName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15858         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15859         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15860     }
15861     #[cfg(feature = "Win32_Foundation")]
15862     pub unsafe fn ImageName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
15863         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15864         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
15865     }
15866     #[cfg(feature = "Win32_Foundation")]
15867     pub unsafe fn AllowSubstringMatch(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
15868         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15869         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
15870     }
15871     #[cfg(feature = "Win32_Foundation")]
15872     pub unsafe fn CanCheckBaseClass(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
15873         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15874         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
15875     }
15876     #[cfg(feature = "Win32_Foundation")]
15877     pub unsafe fn NeedsAdviseEvents(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
15878         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15879         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
15880     }
15881     #[cfg(feature = "Win32_Foundation")]
15882     pub unsafe fn SetClassName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, classname: Param0) -> ::windows::runtime::Result<()> {
15883         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), classname.into_param().abi()).ok()
15884     }
15885     #[cfg(feature = "Win32_Foundation")]
15886     pub unsafe fn SetImageName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, imagename: Param0) -> ::windows::runtime::Result<()> {
15887         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), imagename.into_param().abi()).ok()
15888     }
15889     #[cfg(feature = "Win32_Foundation")]
15890     pub unsafe fn SetAllowSubstringMatch<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, allowsubstringmatch: Param0) -> ::windows::runtime::Result<()> {
15891         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), allowsubstringmatch.into_param().abi()).ok()
15892     }
15893     #[cfg(feature = "Win32_Foundation")]
15894     pub unsafe fn SetCanCheckBaseClass<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, cancheckbaseclass: Param0) -> ::windows::runtime::Result<()> {
15895         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), cancheckbaseclass.into_param().abi()).ok()
15896     }
15897     #[cfg(feature = "Win32_Foundation")]
15898     pub unsafe fn SetNeedsAdviseEvents<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, adviseevents: Param0) -> ::windows::runtime::Result<()> {
15899         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), adviseevents.into_param().abi()).ok()
15900     }
15901     #[cfg(feature = "Win32_System_Com")]
15902     pub unsafe fn SetWinEventsForAutomationEvent(&self, eventid: i32, propertyid: i32, winevents: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
15903         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), ::std::mem::transmute(propertyid), ::std::mem::transmute(winevents)).ok()
15904     }
15905     #[cfg(feature = "Win32_System_Com")]
15906     pub unsafe fn GetWinEventsForAutomationEvent(&self, eventid: i32, propertyid: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
15907         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15908         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(eventid), ::std::mem::transmute(propertyid), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
15909     }
15910 }
15911 unsafe impl ::windows::runtime::Interface for IUIAutomationProxyFactoryEntry {
15912     type Vtable = IUIAutomationProxyFactoryEntry_abi;
15913     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3574482734, 46667, 18700, [188, 161, 211, 6, 150, 249, 242, 137]);
15914 }
15915 impl ::std::convert::From<IUIAutomationProxyFactoryEntry> for ::windows::runtime::IUnknown {
15916     fn from(value: IUIAutomationProxyFactoryEntry) -> Self {
15917         unsafe { ::std::mem::transmute(value) }
15918     }
15919 }
15920 impl ::std::convert::From<&IUIAutomationProxyFactoryEntry> for ::windows::runtime::IUnknown {
15921     fn from(value: &IUIAutomationProxyFactoryEntry) -> Self {
15922         ::std::convert::From::from(::std::clone::Clone::clone(value))
15923     }
15924 }
15925 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationProxyFactoryEntry {
15926     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15927         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15928     }
15929 }
15930 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationProxyFactoryEntry {
15931     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15932         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15933     }
15934 }
15935 #[repr(C)]
15936 #[doc(hidden)]
15937 pub struct IUIAutomationProxyFactoryEntry_abi(
15938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factory: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
15942     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, classname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15943     #[cfg(not(feature = "Win32_Foundation"))] usize,
15944     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, imagename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
15945     #[cfg(not(feature = "Win32_Foundation"))] usize,
15946     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allowsubstringmatch: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
15947     #[cfg(not(feature = "Win32_Foundation"))] usize,
15948     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cancheckbaseclass: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
15949     #[cfg(not(feature = "Win32_Foundation"))] usize,
15950     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adviseevents: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
15951     #[cfg(not(feature = "Win32_Foundation"))] usize,
15952     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, classname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
15953     #[cfg(not(feature = "Win32_Foundation"))] usize,
15954     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, imagename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
15955     #[cfg(not(feature = "Win32_Foundation"))] usize,
15956     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allowsubstringmatch: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
15957     #[cfg(not(feature = "Win32_Foundation"))] usize,
15958     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cancheckbaseclass: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
15959     #[cfg(not(feature = "Win32_Foundation"))] usize,
15960     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adviseevents: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
15961     #[cfg(not(feature = "Win32_Foundation"))] usize,
15962     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, propertyid: i32, winevents: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
15963     #[cfg(not(feature = "Win32_System_Com"))] usize,
15964     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventid: i32, propertyid: i32, winevents: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
15965     #[cfg(not(feature = "Win32_System_Com"))] usize,
15966 );
15967 #[repr(transparent)]
15968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15969 pub struct IUIAutomationProxyFactoryMapping(::windows::runtime::IUnknown);
15970 impl IUIAutomationProxyFactoryMapping {
15971     pub unsafe fn Count(&self) -> ::windows::runtime::Result<u32> {
15972         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15973         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
15974     }
15975     #[cfg(feature = "Win32_System_Com")]
15976     pub unsafe fn GetTable(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
15977         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15978         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
15979     }
15980     pub unsafe fn GetEntry(&self, index: u32) -> ::windows::runtime::Result<IUIAutomationProxyFactoryEntry> {
15981         let mut result__: <IUIAutomationProxyFactoryEntry as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
15982         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IUIAutomationProxyFactoryEntry>(result__)
15983     }
15984     #[cfg(feature = "Win32_System_Com")]
15985     pub unsafe fn SetTable(&self, factorylist: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
15986         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(factorylist)).ok()
15987     }
15988     #[cfg(feature = "Win32_System_Com")]
15989     pub unsafe fn InsertEntries(&self, before: u32, factorylist: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
15990         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(before), ::std::mem::transmute(factorylist)).ok()
15991     }
15992     pub unsafe fn InsertEntry<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationProxyFactoryEntry>>(&self, before: u32, factory: Param1) -> ::windows::runtime::Result<()> {
15993         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(before), factory.into_param().abi()).ok()
15994     }
15995     pub unsafe fn RemoveEntry(&self, index: u32) -> ::windows::runtime::Result<()> {
15996         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(index)).ok()
15997     }
15998     pub unsafe fn ClearTable(&self) -> ::windows::runtime::Result<()> {
15999         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
16000     }
16001     pub unsafe fn RestoreDefaultTable(&self) -> ::windows::runtime::Result<()> {
16002         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
16003     }
16004 }
16005 unsafe impl ::windows::runtime::Interface for IUIAutomationProxyFactoryMapping {
16006     type Vtable = IUIAutomationProxyFactoryMapping_abi;
16007     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(165879320, 34605, 18547, [147, 209, 30, 84, 30, 193, 51, 253]);
16008 }
16009 impl ::std::convert::From<IUIAutomationProxyFactoryMapping> for ::windows::runtime::IUnknown {
16010     fn from(value: IUIAutomationProxyFactoryMapping) -> Self {
16011         unsafe { ::std::mem::transmute(value) }
16012     }
16013 }
16014 impl ::std::convert::From<&IUIAutomationProxyFactoryMapping> for ::windows::runtime::IUnknown {
16015     fn from(value: &IUIAutomationProxyFactoryMapping) -> Self {
16016         ::std::convert::From::from(::std::clone::Clone::clone(value))
16017     }
16018 }
16019 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationProxyFactoryMapping {
16020     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16021         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16022     }
16023 }
16024 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationProxyFactoryMapping {
16025     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16026         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16027     }
16028 }
16029 #[repr(C)]
16030 #[doc(hidden)]
16031 pub struct IUIAutomationProxyFactoryMapping_abi(
16032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32) -> ::windows::runtime::HRESULT,
16036     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, table: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
16037     #[cfg(not(feature = "Win32_System_Com"))] usize,
16038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, entry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16039     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, factorylist: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
16040     #[cfg(not(feature = "Win32_System_Com"))] usize,
16041     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, before: u32, factorylist: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
16042     #[cfg(not(feature = "Win32_System_Com"))] usize,
16043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, before: u32, factory: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32) -> ::windows::runtime::HRESULT,
16045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16047 );
16048 #[repr(transparent)]
16049 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16050 pub struct IUIAutomationRangeValuePattern(::windows::runtime::IUnknown);
16051 impl IUIAutomationRangeValuePattern {
16052     pub unsafe fn SetValue(&self, val: f64) -> ::windows::runtime::Result<()> {
16053         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
16054     }
16055     pub unsafe fn CurrentValue(&self) -> ::windows::runtime::Result<f64> {
16056         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16057         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16058     }
16059     #[cfg(feature = "Win32_Foundation")]
16060     pub unsafe fn CurrentIsReadOnly(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16061         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16062         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16063     }
16064     pub unsafe fn CurrentMaximum(&self) -> ::windows::runtime::Result<f64> {
16065         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16066         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16067     }
16068     pub unsafe fn CurrentMinimum(&self) -> ::windows::runtime::Result<f64> {
16069         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16070         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16071     }
16072     pub unsafe fn CurrentLargeChange(&self) -> ::windows::runtime::Result<f64> {
16073         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16074         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16075     }
16076     pub unsafe fn CurrentSmallChange(&self) -> ::windows::runtime::Result<f64> {
16077         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16078         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16079     }
16080     pub unsafe fn CachedValue(&self) -> ::windows::runtime::Result<f64> {
16081         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16082         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16083     }
16084     #[cfg(feature = "Win32_Foundation")]
16085     pub unsafe fn CachedIsReadOnly(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16086         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16087         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16088     }
16089     pub unsafe fn CachedMaximum(&self) -> ::windows::runtime::Result<f64> {
16090         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16091         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16092     }
16093     pub unsafe fn CachedMinimum(&self) -> ::windows::runtime::Result<f64> {
16094         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16095         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16096     }
16097     pub unsafe fn CachedLargeChange(&self) -> ::windows::runtime::Result<f64> {
16098         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16099         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16100     }
16101     pub unsafe fn CachedSmallChange(&self) -> ::windows::runtime::Result<f64> {
16102         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16103         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16104     }
16105 }
16106 unsafe impl ::windows::runtime::Interface for IUIAutomationRangeValuePattern {
16107     type Vtable = IUIAutomationRangeValuePattern_abi;
16108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1495351119, 29510, 18917, [177, 32, 128, 85, 89, 135, 161, 72]);
16109 }
16110 impl ::std::convert::From<IUIAutomationRangeValuePattern> for ::windows::runtime::IUnknown {
16111     fn from(value: IUIAutomationRangeValuePattern) -> Self {
16112         unsafe { ::std::mem::transmute(value) }
16113     }
16114 }
16115 impl ::std::convert::From<&IUIAutomationRangeValuePattern> for ::windows::runtime::IUnknown {
16116     fn from(value: &IUIAutomationRangeValuePattern) -> Self {
16117         ::std::convert::From::from(::std::clone::Clone::clone(value))
16118     }
16119 }
16120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationRangeValuePattern {
16121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16122         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16123     }
16124 }
16125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationRangeValuePattern {
16126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16127         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16128     }
16129 }
16130 #[repr(C)]
16131 #[doc(hidden)]
16132 pub struct IUIAutomationRangeValuePattern_abi(
16133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: f64) -> ::windows::runtime::HRESULT,
16137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16138     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16139     #[cfg(not(feature = "Win32_Foundation"))] usize,
16140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16145     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16146     #[cfg(not(feature = "Win32_Foundation"))] usize,
16147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16151 );
16152 #[repr(transparent)]
16153 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16154 pub struct IUIAutomationRegistrar(::windows::runtime::IUnknown);
16155 impl IUIAutomationRegistrar {
16156     #[cfg(feature = "Win32_Foundation")]
16157     pub unsafe fn RegisterProperty(&self, property: *const UIAutomationPropertyInfo) -> ::windows::runtime::Result<i32> {
16158         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16159         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(property), &mut result__).from_abi::<i32>(result__)
16160     }
16161     #[cfg(feature = "Win32_Foundation")]
16162     pub unsafe fn RegisterEvent(&self, event: *const UIAutomationEventInfo) -> ::windows::runtime::Result<i32> {
16163         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16164         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(event), &mut result__).from_abi::<i32>(result__)
16165     }
16166     #[cfg(feature = "Win32_Foundation")]
16167     pub unsafe fn RegisterPattern(&self, pattern: *const UIAutomationPatternInfo, ppatternid: *mut i32, ppatternavailablepropertyid: *mut i32, propertyidcount: u32, ppropertyids: *mut i32, eventidcount: u32, peventids: *mut i32) -> ::windows::runtime::Result<()> {
16168         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pattern), ::std::mem::transmute(ppatternid), ::std::mem::transmute(ppatternavailablepropertyid), ::std::mem::transmute(propertyidcount), ::std::mem::transmute(ppropertyids), ::std::mem::transmute(eventidcount), ::std::mem::transmute(peventids)).ok()
16169     }
16170 }
16171 unsafe impl ::windows::runtime::Interface for IUIAutomationRegistrar {
16172     type Vtable = IUIAutomationRegistrar_abi;
16173     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2248787180, 18970, 19848, [163, 87, 90, 102, 224, 96, 225, 207]);
16174 }
16175 impl ::std::convert::From<IUIAutomationRegistrar> for ::windows::runtime::IUnknown {
16176     fn from(value: IUIAutomationRegistrar) -> Self {
16177         unsafe { ::std::mem::transmute(value) }
16178     }
16179 }
16180 impl ::std::convert::From<&IUIAutomationRegistrar> for ::windows::runtime::IUnknown {
16181     fn from(value: &IUIAutomationRegistrar) -> Self {
16182         ::std::convert::From::from(::std::clone::Clone::clone(value))
16183     }
16184 }
16185 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationRegistrar {
16186     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16187         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16188     }
16189 }
16190 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationRegistrar {
16191     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16192         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16193     }
16194 }
16195 #[repr(C)]
16196 #[doc(hidden)]
16197 pub struct IUIAutomationRegistrar_abi(
16198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16201     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, property: *const UIAutomationPropertyInfo, propertyid: *mut i32) -> ::windows::runtime::HRESULT,
16202     #[cfg(not(feature = "Win32_Foundation"))] usize,
16203     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, event: *const UIAutomationEventInfo, eventid: *mut i32) -> ::windows::runtime::HRESULT,
16204     #[cfg(not(feature = "Win32_Foundation"))] usize,
16205     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pattern: *const ::std::mem::ManuallyDrop<UIAutomationPatternInfo>, ppatternid: *mut i32, ppatternavailablepropertyid: *mut i32, propertyidcount: u32, ppropertyids: *mut i32, eventidcount: u32, peventids: *mut i32) -> ::windows::runtime::HRESULT,
16206     #[cfg(not(feature = "Win32_Foundation"))] usize,
16207 );
16208 #[repr(transparent)]
16209 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16210 pub struct IUIAutomationScrollItemPattern(::windows::runtime::IUnknown);
16211 impl IUIAutomationScrollItemPattern {
16212     pub unsafe fn ScrollIntoView(&self) -> ::windows::runtime::Result<()> {
16213         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
16214     }
16215 }
16216 unsafe impl ::windows::runtime::Interface for IUIAutomationScrollItemPattern {
16217     type Vtable = IUIAutomationScrollItemPattern_abi;
16218     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3028824079, 53269, 20249, [156, 41, 187, 89, 94, 54, 69, 239]);
16219 }
16220 impl ::std::convert::From<IUIAutomationScrollItemPattern> for ::windows::runtime::IUnknown {
16221     fn from(value: IUIAutomationScrollItemPattern) -> Self {
16222         unsafe { ::std::mem::transmute(value) }
16223     }
16224 }
16225 impl ::std::convert::From<&IUIAutomationScrollItemPattern> for ::windows::runtime::IUnknown {
16226     fn from(value: &IUIAutomationScrollItemPattern) -> Self {
16227         ::std::convert::From::from(::std::clone::Clone::clone(value))
16228     }
16229 }
16230 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationScrollItemPattern {
16231     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16232         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16233     }
16234 }
16235 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationScrollItemPattern {
16236     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16237         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16238     }
16239 }
16240 #[repr(C)]
16241 #[doc(hidden)]
16242 pub struct IUIAutomationScrollItemPattern_abi(
16243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16247 );
16248 #[repr(transparent)]
16249 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16250 pub struct IUIAutomationScrollPattern(::windows::runtime::IUnknown);
16251 impl IUIAutomationScrollPattern {
16252     pub unsafe fn Scroll(&self, horizontalamount: ScrollAmount, verticalamount: ScrollAmount) -> ::windows::runtime::Result<()> {
16253         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(horizontalamount), ::std::mem::transmute(verticalamount)).ok()
16254     }
16255     pub unsafe fn SetScrollPercent(&self, horizontalpercent: f64, verticalpercent: f64) -> ::windows::runtime::Result<()> {
16256         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(horizontalpercent), ::std::mem::transmute(verticalpercent)).ok()
16257     }
16258     pub unsafe fn CurrentHorizontalScrollPercent(&self) -> ::windows::runtime::Result<f64> {
16259         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16260         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16261     }
16262     pub unsafe fn CurrentVerticalScrollPercent(&self) -> ::windows::runtime::Result<f64> {
16263         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16264         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16265     }
16266     pub unsafe fn CurrentHorizontalViewSize(&self) -> ::windows::runtime::Result<f64> {
16267         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16268         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16269     }
16270     pub unsafe fn CurrentVerticalViewSize(&self) -> ::windows::runtime::Result<f64> {
16271         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16272         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16273     }
16274     #[cfg(feature = "Win32_Foundation")]
16275     pub unsafe fn CurrentHorizontallyScrollable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16276         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16277         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16278     }
16279     #[cfg(feature = "Win32_Foundation")]
16280     pub unsafe fn CurrentVerticallyScrollable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16281         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16282         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16283     }
16284     pub unsafe fn CachedHorizontalScrollPercent(&self) -> ::windows::runtime::Result<f64> {
16285         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16286         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16287     }
16288     pub unsafe fn CachedVerticalScrollPercent(&self) -> ::windows::runtime::Result<f64> {
16289         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16290         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16291     }
16292     pub unsafe fn CachedHorizontalViewSize(&self) -> ::windows::runtime::Result<f64> {
16293         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16294         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16295     }
16296     pub unsafe fn CachedVerticalViewSize(&self) -> ::windows::runtime::Result<f64> {
16297         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16298         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
16299     }
16300     #[cfg(feature = "Win32_Foundation")]
16301     pub unsafe fn CachedHorizontallyScrollable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16302         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16303         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16304     }
16305     #[cfg(feature = "Win32_Foundation")]
16306     pub unsafe fn CachedVerticallyScrollable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16307         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16308         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16309     }
16310 }
16311 unsafe impl ::windows::runtime::Interface for IUIAutomationScrollPattern {
16312     type Vtable = IUIAutomationScrollPattern_abi;
16313     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2297746474, 59521, 17821, [167, 124, 115, 187, 187, 126, 2, 220]);
16314 }
16315 impl ::std::convert::From<IUIAutomationScrollPattern> for ::windows::runtime::IUnknown {
16316     fn from(value: IUIAutomationScrollPattern) -> Self {
16317         unsafe { ::std::mem::transmute(value) }
16318     }
16319 }
16320 impl ::std::convert::From<&IUIAutomationScrollPattern> for ::windows::runtime::IUnknown {
16321     fn from(value: &IUIAutomationScrollPattern) -> Self {
16322         ::std::convert::From::from(::std::clone::Clone::clone(value))
16323     }
16324 }
16325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationScrollPattern {
16326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16327         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16328     }
16329 }
16330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationScrollPattern {
16331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16332         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16333     }
16334 }
16335 #[repr(C)]
16336 #[doc(hidden)]
16337 pub struct IUIAutomationScrollPattern_abi(
16338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, horizontalamount: ScrollAmount, verticalamount: ScrollAmount) -> ::windows::runtime::HRESULT,
16342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, horizontalpercent: f64, verticalpercent: f64) -> ::windows::runtime::HRESULT,
16343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16347     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16348     #[cfg(not(feature = "Win32_Foundation"))] usize,
16349     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16350     #[cfg(not(feature = "Win32_Foundation"))] usize,
16351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
16355     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16356     #[cfg(not(feature = "Win32_Foundation"))] usize,
16357     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16358     #[cfg(not(feature = "Win32_Foundation"))] usize,
16359 );
16360 #[repr(transparent)]
16361 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16362 pub struct IUIAutomationSelectionItemPattern(::windows::runtime::IUnknown);
16363 impl IUIAutomationSelectionItemPattern {
16364     pub unsafe fn Select(&self) -> ::windows::runtime::Result<()> {
16365         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
16366     }
16367     pub unsafe fn AddToSelection(&self) -> ::windows::runtime::Result<()> {
16368         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
16369     }
16370     pub unsafe fn RemoveFromSelection(&self) -> ::windows::runtime::Result<()> {
16371         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
16372     }
16373     #[cfg(feature = "Win32_Foundation")]
16374     pub unsafe fn CurrentIsSelected(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16375         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16376         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16377     }
16378     pub unsafe fn CurrentSelectionContainer(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16379         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16380         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16381     }
16382     #[cfg(feature = "Win32_Foundation")]
16383     pub unsafe fn CachedIsSelected(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16384         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16385         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16386     }
16387     pub unsafe fn CachedSelectionContainer(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16388         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16389         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16390     }
16391 }
16392 unsafe impl ::windows::runtime::Interface for IUIAutomationSelectionItemPattern {
16393     type Vtable = IUIAutomationSelectionItemPattern_abi;
16394     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2834277994, 4058, 16922, [145, 148, 56, 2, 31, 53, 120, 234]);
16395 }
16396 impl ::std::convert::From<IUIAutomationSelectionItemPattern> for ::windows::runtime::IUnknown {
16397     fn from(value: IUIAutomationSelectionItemPattern) -> Self {
16398         unsafe { ::std::mem::transmute(value) }
16399     }
16400 }
16401 impl ::std::convert::From<&IUIAutomationSelectionItemPattern> for ::windows::runtime::IUnknown {
16402     fn from(value: &IUIAutomationSelectionItemPattern) -> Self {
16403         ::std::convert::From::from(::std::clone::Clone::clone(value))
16404     }
16405 }
16406 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationSelectionItemPattern {
16407     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16408         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16409     }
16410 }
16411 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationSelectionItemPattern {
16412     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16413         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16414     }
16415 }
16416 #[repr(C)]
16417 #[doc(hidden)]
16418 pub struct IUIAutomationSelectionItemPattern_abi(
16419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16425     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16426     #[cfg(not(feature = "Win32_Foundation"))] usize,
16427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16428     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16429     #[cfg(not(feature = "Win32_Foundation"))] usize,
16430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16431 );
16432 #[repr(transparent)]
16433 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16434 pub struct IUIAutomationSelectionPattern(::windows::runtime::IUnknown);
16435 impl IUIAutomationSelectionPattern {
16436     pub unsafe fn GetCurrentSelection(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16437         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16438         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16439     }
16440     #[cfg(feature = "Win32_Foundation")]
16441     pub unsafe fn CurrentCanSelectMultiple(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16442         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16443         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16444     }
16445     #[cfg(feature = "Win32_Foundation")]
16446     pub unsafe fn CurrentIsSelectionRequired(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16447         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16448         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16449     }
16450     pub unsafe fn GetCachedSelection(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16451         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16452         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16453     }
16454     #[cfg(feature = "Win32_Foundation")]
16455     pub unsafe fn CachedCanSelectMultiple(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16456         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16457         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16458     }
16459     #[cfg(feature = "Win32_Foundation")]
16460     pub unsafe fn CachedIsSelectionRequired(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16461         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16462         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16463     }
16464 }
16465 unsafe impl ::windows::runtime::Interface for IUIAutomationSelectionPattern {
16466     type Vtable = IUIAutomationSelectionPattern_abi;
16467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1591025710, 45740, 18342, [182, 56, 75, 11, 241, 64, 215, 142]);
16468 }
16469 impl ::std::convert::From<IUIAutomationSelectionPattern> for ::windows::runtime::IUnknown {
16470     fn from(value: IUIAutomationSelectionPattern) -> Self {
16471         unsafe { ::std::mem::transmute(value) }
16472     }
16473 }
16474 impl ::std::convert::From<&IUIAutomationSelectionPattern> for ::windows::runtime::IUnknown {
16475     fn from(value: &IUIAutomationSelectionPattern) -> Self {
16476         ::std::convert::From::from(::std::clone::Clone::clone(value))
16477     }
16478 }
16479 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationSelectionPattern {
16480     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16481         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16482     }
16483 }
16484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationSelectionPattern {
16485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16486         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16487     }
16488 }
16489 #[repr(C)]
16490 #[doc(hidden)]
16491 pub struct IUIAutomationSelectionPattern_abi(
16492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16496     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16497     #[cfg(not(feature = "Win32_Foundation"))] usize,
16498     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16499     #[cfg(not(feature = "Win32_Foundation"))] usize,
16500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16501     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16502     #[cfg(not(feature = "Win32_Foundation"))] usize,
16503     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16504     #[cfg(not(feature = "Win32_Foundation"))] usize,
16505 );
16506 #[repr(transparent)]
16507 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16508 pub struct IUIAutomationSelectionPattern2(::windows::runtime::IUnknown);
16509 impl IUIAutomationSelectionPattern2 {
16510     pub unsafe fn GetCurrentSelection(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16511         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16512         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16513     }
16514     #[cfg(feature = "Win32_Foundation")]
16515     pub unsafe fn CurrentCanSelectMultiple(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16516         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16517         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16518     }
16519     #[cfg(feature = "Win32_Foundation")]
16520     pub unsafe fn CurrentIsSelectionRequired(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16521         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16522         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16523     }
16524     pub unsafe fn GetCachedSelection(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16525         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16526         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16527     }
16528     #[cfg(feature = "Win32_Foundation")]
16529     pub unsafe fn CachedCanSelectMultiple(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16530         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16531         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16532     }
16533     #[cfg(feature = "Win32_Foundation")]
16534     pub unsafe fn CachedIsSelectionRequired(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
16535         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16536         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
16537     }
16538     pub unsafe fn CurrentFirstSelectedItem(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16539         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16540         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16541     }
16542     pub unsafe fn CurrentLastSelectedItem(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16543         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16544         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16545     }
16546     pub unsafe fn CurrentCurrentSelectedItem(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16547         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16548         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16549     }
16550     pub unsafe fn CurrentItemCount(&self) -> ::windows::runtime::Result<i32> {
16551         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16552         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16553     }
16554     pub unsafe fn CachedFirstSelectedItem(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16555         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16556         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16557     }
16558     pub unsafe fn CachedLastSelectedItem(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16559         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16560         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16561     }
16562     pub unsafe fn CachedCurrentSelectedItem(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
16563         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16564         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
16565     }
16566     pub unsafe fn CachedItemCount(&self) -> ::windows::runtime::Result<i32> {
16567         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16568         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16569     }
16570 }
16571 unsafe impl ::windows::runtime::Interface for IUIAutomationSelectionPattern2 {
16572     type Vtable = IUIAutomationSelectionPattern2_abi;
16573     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(87211950, 49169, 20018, [163, 67, 109, 100, 45, 121, 133, 85]);
16574 }
16575 impl ::std::convert::From<IUIAutomationSelectionPattern2> for ::windows::runtime::IUnknown {
16576     fn from(value: IUIAutomationSelectionPattern2) -> Self {
16577         unsafe { ::std::mem::transmute(value) }
16578     }
16579 }
16580 impl ::std::convert::From<&IUIAutomationSelectionPattern2> for ::windows::runtime::IUnknown {
16581     fn from(value: &IUIAutomationSelectionPattern2) -> Self {
16582         ::std::convert::From::from(::std::clone::Clone::clone(value))
16583     }
16584 }
16585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationSelectionPattern2 {
16586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16587         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16588     }
16589 }
16590 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationSelectionPattern2 {
16591     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16592         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16593     }
16594 }
16595 impl ::std::convert::From<IUIAutomationSelectionPattern2> for IUIAutomationSelectionPattern {
16596     fn from(value: IUIAutomationSelectionPattern2) -> Self {
16597         unsafe { ::std::mem::transmute(value) }
16598     }
16599 }
16600 impl ::std::convert::From<&IUIAutomationSelectionPattern2> for IUIAutomationSelectionPattern {
16601     fn from(value: &IUIAutomationSelectionPattern2) -> Self {
16602         ::std::convert::From::from(::std::clone::Clone::clone(value))
16603     }
16604 }
16605 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationSelectionPattern> for IUIAutomationSelectionPattern2 {
16606     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationSelectionPattern> {
16607         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationSelectionPattern>::into(self))
16608     }
16609 }
16610 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationSelectionPattern> for &IUIAutomationSelectionPattern2 {
16611     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationSelectionPattern> {
16612         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationSelectionPattern>::into(::std::clone::Clone::clone(self)))
16613     }
16614 }
16615 #[repr(C)]
16616 #[doc(hidden)]
16617 pub struct IUIAutomationSelectionPattern2_abi(
16618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16622     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16623     #[cfg(not(feature = "Win32_Foundation"))] usize,
16624     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16625     #[cfg(not(feature = "Win32_Foundation"))] usize,
16626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16627     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16628     #[cfg(not(feature = "Win32_Foundation"))] usize,
16629     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
16630     #[cfg(not(feature = "Win32_Foundation"))] usize,
16631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16639 );
16640 #[repr(transparent)]
16641 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16642 pub struct IUIAutomationSpreadsheetItemPattern(::windows::runtime::IUnknown);
16643 impl IUIAutomationSpreadsheetItemPattern {
16644     #[cfg(feature = "Win32_Foundation")]
16645     pub unsafe fn CurrentFormula(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16646         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16647         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16648     }
16649     pub unsafe fn GetCurrentAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16650         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16651         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16652     }
16653     #[cfg(feature = "Win32_System_Com")]
16654     pub unsafe fn GetCurrentAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
16655         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16656         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
16657     }
16658     #[cfg(feature = "Win32_Foundation")]
16659     pub unsafe fn CachedFormula(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16660         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16661         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16662     }
16663     pub unsafe fn GetCachedAnnotationObjects(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16664         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16665         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16666     }
16667     #[cfg(feature = "Win32_System_Com")]
16668     pub unsafe fn GetCachedAnnotationTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
16669         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16670         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
16671     }
16672 }
16673 unsafe impl ::windows::runtime::Interface for IUIAutomationSpreadsheetItemPattern {
16674     type Vtable = IUIAutomationSpreadsheetItemPattern_abi;
16675     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2102376556, 36148, 16609, [142, 131, 98, 193, 82, 4, 227, 53]);
16676 }
16677 impl ::std::convert::From<IUIAutomationSpreadsheetItemPattern> for ::windows::runtime::IUnknown {
16678     fn from(value: IUIAutomationSpreadsheetItemPattern) -> Self {
16679         unsafe { ::std::mem::transmute(value) }
16680     }
16681 }
16682 impl ::std::convert::From<&IUIAutomationSpreadsheetItemPattern> for ::windows::runtime::IUnknown {
16683     fn from(value: &IUIAutomationSpreadsheetItemPattern) -> Self {
16684         ::std::convert::From::from(::std::clone::Clone::clone(value))
16685     }
16686 }
16687 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationSpreadsheetItemPattern {
16688     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16689         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16690     }
16691 }
16692 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationSpreadsheetItemPattern {
16693     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16694         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16695     }
16696 }
16697 #[repr(C)]
16698 #[doc(hidden)]
16699 pub struct IUIAutomationSpreadsheetItemPattern_abi(
16700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16703     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16704     #[cfg(not(feature = "Win32_Foundation"))] usize,
16705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16706     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
16707     #[cfg(not(feature = "Win32_System_Com"))] usize,
16708     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16709     #[cfg(not(feature = "Win32_Foundation"))] usize,
16710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16711     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
16712     #[cfg(not(feature = "Win32_System_Com"))] usize,
16713 );
16714 #[repr(transparent)]
16715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16716 pub struct IUIAutomationSpreadsheetPattern(::windows::runtime::IUnknown);
16717 impl IUIAutomationSpreadsheetPattern {
16718     #[cfg(feature = "Win32_Foundation")]
16719     pub unsafe fn GetItemByName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
16720         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16721         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
16722     }
16723 }
16724 unsafe impl ::windows::runtime::Interface for IUIAutomationSpreadsheetPattern {
16725     type Vtable = IUIAutomationSpreadsheetPattern_abi;
16726     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1964484552, 64174, 19945, [159, 8, 41, 185, 30, 133, 149, 193]);
16727 }
16728 impl ::std::convert::From<IUIAutomationSpreadsheetPattern> for ::windows::runtime::IUnknown {
16729     fn from(value: IUIAutomationSpreadsheetPattern) -> Self {
16730         unsafe { ::std::mem::transmute(value) }
16731     }
16732 }
16733 impl ::std::convert::From<&IUIAutomationSpreadsheetPattern> for ::windows::runtime::IUnknown {
16734     fn from(value: &IUIAutomationSpreadsheetPattern) -> Self {
16735         ::std::convert::From::from(::std::clone::Clone::clone(value))
16736     }
16737 }
16738 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationSpreadsheetPattern {
16739     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16740         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16741     }
16742 }
16743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationSpreadsheetPattern {
16744     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16745         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16746     }
16747 }
16748 #[repr(C)]
16749 #[doc(hidden)]
16750 pub struct IUIAutomationSpreadsheetPattern_abi(
16751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16754     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16755     #[cfg(not(feature = "Win32_Foundation"))] usize,
16756 );
16757 #[repr(transparent)]
16758 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16759 pub struct IUIAutomationStructureChangedEventHandler(::windows::runtime::IUnknown);
16760 impl IUIAutomationStructureChangedEventHandler {
16761     #[cfg(feature = "Win32_System_Com")]
16762     pub unsafe fn HandleStructureChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, sender: Param0, changetype: StructureChangeType, runtimeid: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
16763         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), ::std::mem::transmute(changetype), ::std::mem::transmute(runtimeid)).ok()
16764     }
16765 }
16766 unsafe impl ::windows::runtime::Interface for IUIAutomationStructureChangedEventHandler {
16767     type Vtable = IUIAutomationStructureChangedEventHandler_abi;
16768     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3894221646, 4549, 17144, [151, 84, 231, 3, 108, 121, 240, 84]);
16769 }
16770 impl ::std::convert::From<IUIAutomationStructureChangedEventHandler> for ::windows::runtime::IUnknown {
16771     fn from(value: IUIAutomationStructureChangedEventHandler) -> Self {
16772         unsafe { ::std::mem::transmute(value) }
16773     }
16774 }
16775 impl ::std::convert::From<&IUIAutomationStructureChangedEventHandler> for ::windows::runtime::IUnknown {
16776     fn from(value: &IUIAutomationStructureChangedEventHandler) -> Self {
16777         ::std::convert::From::from(::std::clone::Clone::clone(value))
16778     }
16779 }
16780 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationStructureChangedEventHandler {
16781     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16782         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16783     }
16784 }
16785 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationStructureChangedEventHandler {
16786     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16787         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16788     }
16789 }
16790 #[repr(C)]
16791 #[doc(hidden)]
16792 pub struct IUIAutomationStructureChangedEventHandler_abi(
16793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16796     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, changetype: StructureChangeType, runtimeid: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
16797     #[cfg(not(feature = "Win32_System_Com"))] usize,
16798 );
16799 #[repr(transparent)]
16800 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16801 pub struct IUIAutomationStylesPattern(::windows::runtime::IUnknown);
16802 impl IUIAutomationStylesPattern {
16803     pub unsafe fn CurrentStyleId(&self) -> ::windows::runtime::Result<i32> {
16804         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16805         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16806     }
16807     #[cfg(feature = "Win32_Foundation")]
16808     pub unsafe fn CurrentStyleName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16809         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16810         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16811     }
16812     pub unsafe fn CurrentFillColor(&self) -> ::windows::runtime::Result<i32> {
16813         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16814         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16815     }
16816     #[cfg(feature = "Win32_Foundation")]
16817     pub unsafe fn CurrentFillPatternStyle(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16818         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16819         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16820     }
16821     #[cfg(feature = "Win32_Foundation")]
16822     pub unsafe fn CurrentShape(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16823         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16824         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16825     }
16826     pub unsafe fn CurrentFillPatternColor(&self) -> ::windows::runtime::Result<i32> {
16827         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16828         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16829     }
16830     #[cfg(feature = "Win32_Foundation")]
16831     pub unsafe fn CurrentExtendedProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16832         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16833         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16834     }
16835     #[cfg(feature = "Win32_Foundation")]
16836     pub unsafe fn GetCurrentExtendedPropertiesAsArray(&self, propertyarray: *mut *mut ExtendedProperty, propertycount: *mut i32) -> ::windows::runtime::Result<()> {
16837         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
16838     }
16839     pub unsafe fn CachedStyleId(&self) -> ::windows::runtime::Result<i32> {
16840         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16841         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16842     }
16843     #[cfg(feature = "Win32_Foundation")]
16844     pub unsafe fn CachedStyleName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16845         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16846         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16847     }
16848     pub unsafe fn CachedFillColor(&self) -> ::windows::runtime::Result<i32> {
16849         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16850         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16851     }
16852     #[cfg(feature = "Win32_Foundation")]
16853     pub unsafe fn CachedFillPatternStyle(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16854         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16855         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16856     }
16857     #[cfg(feature = "Win32_Foundation")]
16858     pub unsafe fn CachedShape(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16859         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16860         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16861     }
16862     pub unsafe fn CachedFillPatternColor(&self) -> ::windows::runtime::Result<i32> {
16863         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16864         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
16865     }
16866     #[cfg(feature = "Win32_Foundation")]
16867     pub unsafe fn CachedExtendedProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
16868         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16869         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
16870     }
16871     #[cfg(feature = "Win32_Foundation")]
16872     pub unsafe fn GetCachedExtendedPropertiesAsArray(&self, propertyarray: *mut *mut ExtendedProperty, propertycount: *mut i32) -> ::windows::runtime::Result<()> {
16873         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyarray), ::std::mem::transmute(propertycount)).ok()
16874     }
16875 }
16876 unsafe impl ::windows::runtime::Interface for IUIAutomationStylesPattern {
16877     type Vtable = IUIAutomationStylesPattern_abi;
16878     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2243293346, 48505, 18506, [173, 43, 56, 140, 152, 56, 213, 251]);
16879 }
16880 impl ::std::convert::From<IUIAutomationStylesPattern> for ::windows::runtime::IUnknown {
16881     fn from(value: IUIAutomationStylesPattern) -> Self {
16882         unsafe { ::std::mem::transmute(value) }
16883     }
16884 }
16885 impl ::std::convert::From<&IUIAutomationStylesPattern> for ::windows::runtime::IUnknown {
16886     fn from(value: &IUIAutomationStylesPattern) -> Self {
16887         ::std::convert::From::from(::std::clone::Clone::clone(value))
16888     }
16889 }
16890 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationStylesPattern {
16891     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16892         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16893     }
16894 }
16895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationStylesPattern {
16896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16897         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16898     }
16899 }
16900 #[repr(C)]
16901 #[doc(hidden)]
16902 pub struct IUIAutomationStylesPattern_abi(
16903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16907     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16908     #[cfg(not(feature = "Win32_Foundation"))] usize,
16909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16910     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16911     #[cfg(not(feature = "Win32_Foundation"))] usize,
16912     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16913     #[cfg(not(feature = "Win32_Foundation"))] usize,
16914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16915     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16916     #[cfg(not(feature = "Win32_Foundation"))] usize,
16917     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyarray: *mut *mut ExtendedProperty, propertycount: *mut i32) -> ::windows::runtime::HRESULT,
16918     #[cfg(not(feature = "Win32_Foundation"))] usize,
16919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16920     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16921     #[cfg(not(feature = "Win32_Foundation"))] usize,
16922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16923     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16924     #[cfg(not(feature = "Win32_Foundation"))] usize,
16925     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16926     #[cfg(not(feature = "Win32_Foundation"))] usize,
16927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut i32) -> ::windows::runtime::HRESULT,
16928     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
16929     #[cfg(not(feature = "Win32_Foundation"))] usize,
16930     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyarray: *mut *mut ExtendedProperty, propertycount: *mut i32) -> ::windows::runtime::HRESULT,
16931     #[cfg(not(feature = "Win32_Foundation"))] usize,
16932 );
16933 #[repr(transparent)]
16934 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16935 pub struct IUIAutomationSynchronizedInputPattern(::windows::runtime::IUnknown);
16936 impl IUIAutomationSynchronizedInputPattern {
16937     pub unsafe fn StartListening(&self, inputtype: SynchronizedInputType) -> ::windows::runtime::Result<()> {
16938         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(inputtype)).ok()
16939     }
16940     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
16941         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
16942     }
16943 }
16944 unsafe impl ::windows::runtime::Interface for IUIAutomationSynchronizedInputPattern {
16945     type Vtable = IUIAutomationSynchronizedInputPattern_abi;
16946     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(573816331, 44983, 17547, [159, 218, 59, 55, 138, 165, 234, 225]);
16947 }
16948 impl ::std::convert::From<IUIAutomationSynchronizedInputPattern> for ::windows::runtime::IUnknown {
16949     fn from(value: IUIAutomationSynchronizedInputPattern) -> Self {
16950         unsafe { ::std::mem::transmute(value) }
16951     }
16952 }
16953 impl ::std::convert::From<&IUIAutomationSynchronizedInputPattern> for ::windows::runtime::IUnknown {
16954     fn from(value: &IUIAutomationSynchronizedInputPattern) -> Self {
16955         ::std::convert::From::from(::std::clone::Clone::clone(value))
16956     }
16957 }
16958 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationSynchronizedInputPattern {
16959     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16960         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16961     }
16962 }
16963 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationSynchronizedInputPattern {
16964     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16965         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16966     }
16967 }
16968 #[repr(C)]
16969 #[doc(hidden)]
16970 pub struct IUIAutomationSynchronizedInputPattern_abi(
16971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, inputtype: SynchronizedInputType) -> ::windows::runtime::HRESULT,
16975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
16976 );
16977 #[repr(transparent)]
16978 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16979 pub struct IUIAutomationTableItemPattern(::windows::runtime::IUnknown);
16980 impl IUIAutomationTableItemPattern {
16981     pub unsafe fn GetCurrentRowHeaderItems(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16982         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16983         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16984     }
16985     pub unsafe fn GetCurrentColumnHeaderItems(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16986         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16987         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16988     }
16989     pub unsafe fn GetCachedRowHeaderItems(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16990         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16991         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16992     }
16993     pub unsafe fn GetCachedColumnHeaderItems(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
16994         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
16995         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
16996     }
16997 }
16998 unsafe impl ::windows::runtime::Interface for IUIAutomationTableItemPattern {
16999     type Vtable = IUIAutomationTableItemPattern_abi;
17000     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(194399923, 61230, 17508, [156, 121, 97, 214, 23, 55, 162, 126]);
17001 }
17002 impl ::std::convert::From<IUIAutomationTableItemPattern> for ::windows::runtime::IUnknown {
17003     fn from(value: IUIAutomationTableItemPattern) -> Self {
17004         unsafe { ::std::mem::transmute(value) }
17005     }
17006 }
17007 impl ::std::convert::From<&IUIAutomationTableItemPattern> for ::windows::runtime::IUnknown {
17008     fn from(value: &IUIAutomationTableItemPattern) -> Self {
17009         ::std::convert::From::from(::std::clone::Clone::clone(value))
17010     }
17011 }
17012 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTableItemPattern {
17013     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17014         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17015     }
17016 }
17017 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTableItemPattern {
17018     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17019         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17020     }
17021 }
17022 #[repr(C)]
17023 #[doc(hidden)]
17024 pub struct IUIAutomationTableItemPattern_abi(
17025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17032 );
17033 #[repr(transparent)]
17034 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17035 pub struct IUIAutomationTablePattern(::windows::runtime::IUnknown);
17036 impl IUIAutomationTablePattern {
17037     pub unsafe fn GetCurrentRowHeaders(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17038         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17039         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17040     }
17041     pub unsafe fn GetCurrentColumnHeaders(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17042         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17043         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17044     }
17045     pub unsafe fn CurrentRowOrColumnMajor(&self) -> ::windows::runtime::Result<RowOrColumnMajor> {
17046         let mut result__: <RowOrColumnMajor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17047         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<RowOrColumnMajor>(result__)
17048     }
17049     pub unsafe fn GetCachedRowHeaders(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17050         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17051         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17052     }
17053     pub unsafe fn GetCachedColumnHeaders(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17054         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17055         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17056     }
17057     pub unsafe fn CachedRowOrColumnMajor(&self) -> ::windows::runtime::Result<RowOrColumnMajor> {
17058         let mut result__: <RowOrColumnMajor as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17059         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<RowOrColumnMajor>(result__)
17060     }
17061 }
17062 unsafe impl ::windows::runtime::Interface for IUIAutomationTablePattern {
17063     type Vtable = IUIAutomationTablePattern_abi;
17064     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1645111580, 60054, 18192, [168, 80, 117, 75, 36, 206, 36, 23]);
17065 }
17066 impl ::std::convert::From<IUIAutomationTablePattern> for ::windows::runtime::IUnknown {
17067     fn from(value: IUIAutomationTablePattern) -> Self {
17068         unsafe { ::std::mem::transmute(value) }
17069     }
17070 }
17071 impl ::std::convert::From<&IUIAutomationTablePattern> for ::windows::runtime::IUnknown {
17072     fn from(value: &IUIAutomationTablePattern) -> Self {
17073         ::std::convert::From::from(::std::clone::Clone::clone(value))
17074     }
17075 }
17076 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTablePattern {
17077     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17078         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17079     }
17080 }
17081 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTablePattern {
17082     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17083         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17084     }
17085 }
17086 #[repr(C)]
17087 #[doc(hidden)]
17088 pub struct IUIAutomationTablePattern_abi(
17089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut RowOrColumnMajor) -> ::windows::runtime::HRESULT,
17095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut RowOrColumnMajor) -> ::windows::runtime::HRESULT,
17098 );
17099 #[repr(transparent)]
17100 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17101 pub struct IUIAutomationTextChildPattern(::windows::runtime::IUnknown);
17102 impl IUIAutomationTextChildPattern {
17103     pub unsafe fn TextContainer(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
17104         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17105         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
17106     }
17107     pub unsafe fn TextRange(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17108         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17109         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17110     }
17111 }
17112 unsafe impl ::windows::runtime::Interface for IUIAutomationTextChildPattern {
17113     type Vtable = IUIAutomationTextChildPattern_abi;
17114     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1699917880, 44549, 16584, [171, 253, 170, 8, 53, 42, 171, 134]);
17115 }
17116 impl ::std::convert::From<IUIAutomationTextChildPattern> for ::windows::runtime::IUnknown {
17117     fn from(value: IUIAutomationTextChildPattern) -> Self {
17118         unsafe { ::std::mem::transmute(value) }
17119     }
17120 }
17121 impl ::std::convert::From<&IUIAutomationTextChildPattern> for ::windows::runtime::IUnknown {
17122     fn from(value: &IUIAutomationTextChildPattern) -> Self {
17123         ::std::convert::From::from(::std::clone::Clone::clone(value))
17124     }
17125 }
17126 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextChildPattern {
17127     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17128         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17129     }
17130 }
17131 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextChildPattern {
17132     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17133         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17134     }
17135 }
17136 #[repr(C)]
17137 #[doc(hidden)]
17138 pub struct IUIAutomationTextChildPattern_abi(
17139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, container: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17144 );
17145 #[repr(transparent)]
17146 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17147 pub struct IUIAutomationTextEditPattern(::windows::runtime::IUnknown);
17148 impl IUIAutomationTextEditPattern {
17149     #[cfg(feature = "Win32_Foundation")]
17150     pub unsafe fn RangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17151         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17152         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17153     }
17154     pub unsafe fn RangeFromChild<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, child: Param0) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17155         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17156         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), child.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17157     }
17158     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<IUIAutomationTextRangeArray> {
17159         let mut result__: <IUIAutomationTextRangeArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17160         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRangeArray>(result__)
17161     }
17162     pub unsafe fn GetVisibleRanges(&self) -> ::windows::runtime::Result<IUIAutomationTextRangeArray> {
17163         let mut result__: <IUIAutomationTextRangeArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17164         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRangeArray>(result__)
17165     }
17166     pub unsafe fn DocumentRange(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17167         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17168         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17169     }
17170     pub unsafe fn SupportedTextSelection(&self) -> ::windows::runtime::Result<SupportedTextSelection> {
17171         let mut result__: <SupportedTextSelection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17172         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SupportedTextSelection>(result__)
17173     }
17174     pub unsafe fn GetActiveComposition(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17175         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17176         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17177     }
17178     pub unsafe fn GetConversionTarget(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17179         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17180         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17181     }
17182 }
17183 unsafe impl ::windows::runtime::Interface for IUIAutomationTextEditPattern {
17184     type Vtable = IUIAutomationTextEditPattern_abi;
17185     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(400692598, 39276, 18544, [153, 217, 191, 243, 35, 56, 12, 6]);
17186 }
17187 impl ::std::convert::From<IUIAutomationTextEditPattern> for ::windows::runtime::IUnknown {
17188     fn from(value: IUIAutomationTextEditPattern) -> Self {
17189         unsafe { ::std::mem::transmute(value) }
17190     }
17191 }
17192 impl ::std::convert::From<&IUIAutomationTextEditPattern> for ::windows::runtime::IUnknown {
17193     fn from(value: &IUIAutomationTextEditPattern) -> Self {
17194         ::std::convert::From::from(::std::clone::Clone::clone(value))
17195     }
17196 }
17197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextEditPattern {
17198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17199         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17200     }
17201 }
17202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextEditPattern {
17203     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17204         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17205     }
17206 }
17207 impl ::std::convert::From<IUIAutomationTextEditPattern> for IUIAutomationTextPattern {
17208     fn from(value: IUIAutomationTextEditPattern) -> Self {
17209         unsafe { ::std::mem::transmute(value) }
17210     }
17211 }
17212 impl ::std::convert::From<&IUIAutomationTextEditPattern> for IUIAutomationTextPattern {
17213     fn from(value: &IUIAutomationTextEditPattern) -> Self {
17214         ::std::convert::From::from(::std::clone::Clone::clone(value))
17215     }
17216 }
17217 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextPattern> for IUIAutomationTextEditPattern {
17218     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextPattern> {
17219         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextPattern>::into(self))
17220     }
17221 }
17222 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextPattern> for &IUIAutomationTextEditPattern {
17223     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextPattern> {
17224         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextPattern>::into(::std::clone::Clone::clone(self)))
17225     }
17226 }
17227 #[repr(C)]
17228 #[doc(hidden)]
17229 pub struct IUIAutomationTextEditPattern_abi(
17230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17233     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17234     #[cfg(not(feature = "Win32_Foundation"))] usize,
17235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, child: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ranges: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ranges: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedtextselection: *mut SupportedTextSelection) -> ::windows::runtime::HRESULT,
17240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17242 );
17243 #[repr(transparent)]
17244 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17245 pub struct IUIAutomationTextEditTextChangedEventHandler(::windows::runtime::IUnknown);
17246 impl IUIAutomationTextEditTextChangedEventHandler {
17247     #[cfg(feature = "Win32_System_Com")]
17248     pub unsafe fn HandleTextEditTextChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, sender: Param0, texteditchangetype: TextEditChangeType, eventstrings: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
17249         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), sender.into_param().abi(), ::std::mem::transmute(texteditchangetype), ::std::mem::transmute(eventstrings)).ok()
17250     }
17251 }
17252 unsafe impl ::windows::runtime::Interface for IUIAutomationTextEditTextChangedEventHandler {
17253     type Vtable = IUIAutomationTextEditTextChangedEventHandler_abi;
17254     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2465900160, 59140, 16726, [147, 26, 227, 45, 91, 179, 143, 63]);
17255 }
17256 impl ::std::convert::From<IUIAutomationTextEditTextChangedEventHandler> for ::windows::runtime::IUnknown {
17257     fn from(value: IUIAutomationTextEditTextChangedEventHandler) -> Self {
17258         unsafe { ::std::mem::transmute(value) }
17259     }
17260 }
17261 impl ::std::convert::From<&IUIAutomationTextEditTextChangedEventHandler> for ::windows::runtime::IUnknown {
17262     fn from(value: &IUIAutomationTextEditTextChangedEventHandler) -> Self {
17263         ::std::convert::From::from(::std::clone::Clone::clone(value))
17264     }
17265 }
17266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextEditTextChangedEventHandler {
17267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17268         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17269     }
17270 }
17271 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextEditTextChangedEventHandler {
17272     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17273         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17274     }
17275 }
17276 #[repr(C)]
17277 #[doc(hidden)]
17278 pub struct IUIAutomationTextEditTextChangedEventHandler_abi(
17279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17282     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, texteditchangetype: TextEditChangeType, eventstrings: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
17283     #[cfg(not(feature = "Win32_System_Com"))] usize,
17284 );
17285 #[repr(transparent)]
17286 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17287 pub struct IUIAutomationTextPattern(::windows::runtime::IUnknown);
17288 impl IUIAutomationTextPattern {
17289     #[cfg(feature = "Win32_Foundation")]
17290     pub unsafe fn RangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17291         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17292         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17293     }
17294     pub unsafe fn RangeFromChild<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, child: Param0) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17295         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17296         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), child.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17297     }
17298     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<IUIAutomationTextRangeArray> {
17299         let mut result__: <IUIAutomationTextRangeArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17300         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRangeArray>(result__)
17301     }
17302     pub unsafe fn GetVisibleRanges(&self) -> ::windows::runtime::Result<IUIAutomationTextRangeArray> {
17303         let mut result__: <IUIAutomationTextRangeArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17304         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRangeArray>(result__)
17305     }
17306     pub unsafe fn DocumentRange(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17307         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17308         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17309     }
17310     pub unsafe fn SupportedTextSelection(&self) -> ::windows::runtime::Result<SupportedTextSelection> {
17311         let mut result__: <SupportedTextSelection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17312         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SupportedTextSelection>(result__)
17313     }
17314 }
17315 unsafe impl ::windows::runtime::Interface for IUIAutomationTextPattern {
17316     type Vtable = IUIAutomationTextPattern_abi;
17317     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(854303369, 13699, 17097, [156, 89, 59, 109, 154, 30, 155, 106]);
17318 }
17319 impl ::std::convert::From<IUIAutomationTextPattern> for ::windows::runtime::IUnknown {
17320     fn from(value: IUIAutomationTextPattern) -> Self {
17321         unsafe { ::std::mem::transmute(value) }
17322     }
17323 }
17324 impl ::std::convert::From<&IUIAutomationTextPattern> for ::windows::runtime::IUnknown {
17325     fn from(value: &IUIAutomationTextPattern) -> Self {
17326         ::std::convert::From::from(::std::clone::Clone::clone(value))
17327     }
17328 }
17329 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextPattern {
17330     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17331         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17332     }
17333 }
17334 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextPattern {
17335     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17336         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17337     }
17338 }
17339 #[repr(C)]
17340 #[doc(hidden)]
17341 pub struct IUIAutomationTextPattern_abi(
17342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17345     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17346     #[cfg(not(feature = "Win32_Foundation"))] usize,
17347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, child: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ranges: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ranges: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedtextselection: *mut SupportedTextSelection) -> ::windows::runtime::HRESULT,
17352 );
17353 #[repr(transparent)]
17354 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17355 pub struct IUIAutomationTextPattern2(::windows::runtime::IUnknown);
17356 impl IUIAutomationTextPattern2 {
17357     #[cfg(feature = "Win32_Foundation")]
17358     pub unsafe fn RangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::POINT>>(&self, pt: Param0) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17359         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17360         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pt.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17361     }
17362     pub unsafe fn RangeFromChild<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, child: Param0) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17363         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17364         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), child.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17365     }
17366     pub unsafe fn GetSelection(&self) -> ::windows::runtime::Result<IUIAutomationTextRangeArray> {
17367         let mut result__: <IUIAutomationTextRangeArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17368         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRangeArray>(result__)
17369     }
17370     pub unsafe fn GetVisibleRanges(&self) -> ::windows::runtime::Result<IUIAutomationTextRangeArray> {
17371         let mut result__: <IUIAutomationTextRangeArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17372         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRangeArray>(result__)
17373     }
17374     pub unsafe fn DocumentRange(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17375         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17376         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17377     }
17378     pub unsafe fn SupportedTextSelection(&self) -> ::windows::runtime::Result<SupportedTextSelection> {
17379         let mut result__: <SupportedTextSelection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17380         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<SupportedTextSelection>(result__)
17381     }
17382     pub unsafe fn RangeFromAnnotation<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, annotation: Param0) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17383         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17384         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), annotation.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17385     }
17386     #[cfg(feature = "Win32_Foundation")]
17387     pub unsafe fn GetCaretRange(&self, isactive: *mut super::super::Foundation::BOOL, range: *mut ::std::option::Option<IUIAutomationTextRange>) -> ::windows::runtime::Result<()> {
17388         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(isactive), ::std::mem::transmute(range)).ok()
17389     }
17390 }
17391 unsafe impl ::windows::runtime::Interface for IUIAutomationTextPattern2 {
17392     type Vtable = IUIAutomationTextPattern2_abi;
17393     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1349161498, 64713, 16543, [178, 59, 55, 235, 116, 16, 104, 114]);
17394 }
17395 impl ::std::convert::From<IUIAutomationTextPattern2> for ::windows::runtime::IUnknown {
17396     fn from(value: IUIAutomationTextPattern2) -> Self {
17397         unsafe { ::std::mem::transmute(value) }
17398     }
17399 }
17400 impl ::std::convert::From<&IUIAutomationTextPattern2> for ::windows::runtime::IUnknown {
17401     fn from(value: &IUIAutomationTextPattern2) -> Self {
17402         ::std::convert::From::from(::std::clone::Clone::clone(value))
17403     }
17404 }
17405 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextPattern2 {
17406     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17407         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17408     }
17409 }
17410 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextPattern2 {
17411     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17412         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17413     }
17414 }
17415 impl ::std::convert::From<IUIAutomationTextPattern2> for IUIAutomationTextPattern {
17416     fn from(value: IUIAutomationTextPattern2) -> Self {
17417         unsafe { ::std::mem::transmute(value) }
17418     }
17419 }
17420 impl ::std::convert::From<&IUIAutomationTextPattern2> for IUIAutomationTextPattern {
17421     fn from(value: &IUIAutomationTextPattern2) -> Self {
17422         ::std::convert::From::from(::std::clone::Clone::clone(value))
17423     }
17424 }
17425 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextPattern> for IUIAutomationTextPattern2 {
17426     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextPattern> {
17427         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextPattern>::into(self))
17428     }
17429 }
17430 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextPattern> for &IUIAutomationTextPattern2 {
17431     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextPattern> {
17432         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextPattern>::into(::std::clone::Clone::clone(self)))
17433     }
17434 }
17435 #[repr(C)]
17436 #[doc(hidden)]
17437 pub struct IUIAutomationTextPattern2_abi(
17438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17441     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pt: super::super::Foundation::POINT, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17442     #[cfg(not(feature = "Win32_Foundation"))] usize,
17443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, child: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ranges: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ranges: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedtextselection: *mut SupportedTextSelection) -> ::windows::runtime::HRESULT,
17448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, annotation: ::windows::runtime::RawPtr, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17449     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, isactive: *mut super::super::Foundation::BOOL, range: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17450     #[cfg(not(feature = "Win32_Foundation"))] usize,
17451 );
17452 #[repr(transparent)]
17453 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17454 pub struct IUIAutomationTextRange(::windows::runtime::IUnknown);
17455 impl IUIAutomationTextRange {
17456     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17457         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17458         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17459     }
17460     #[cfg(feature = "Win32_Foundation")]
17461     pub unsafe fn Compare<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, range: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
17462         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17463         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), range.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
17464     }
17465     pub unsafe fn CompareEndpoints<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, srcendpoint: TextPatternRangeEndpoint, range: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<i32> {
17466         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17467         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(srcendpoint), range.into_param().abi(), ::std::mem::transmute(targetendpoint), &mut result__).from_abi::<i32>(result__)
17468     }
17469     pub unsafe fn ExpandToEnclosingUnit(&self, textunit: TextUnit) -> ::windows::runtime::Result<()> {
17470         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(textunit)).ok()
17471     }
17472     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
17473     pub unsafe fn FindAttribute<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, attr: i32, val: Param1, backward: Param2) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17474         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17475         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(attr), val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17476     }
17477     #[cfg(feature = "Win32_Foundation")]
17478     pub unsafe fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, text: Param0, backward: Param1, ignorecase: Param2) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17479         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17480         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17481     }
17482     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
17483     pub unsafe fn GetAttributeValue(&self, attr: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
17484         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17485         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(attr), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
17486     }
17487     #[cfg(feature = "Win32_System_Com")]
17488     pub unsafe fn GetBoundingRectangles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
17489         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17490         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
17491     }
17492     pub unsafe fn GetEnclosingElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
17493         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17494         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
17495     }
17496     #[cfg(feature = "Win32_Foundation")]
17497     pub unsafe fn GetText(&self, maxlength: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
17498         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17499         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlength), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
17500     }
17501     pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
17502         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17503         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
17504     }
17505     pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
17506         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17507         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
17508     }
17509     pub unsafe fn MoveEndpointByRange<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, srcendpoint: TextPatternRangeEndpoint, range: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<()> {
17510         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(srcendpoint), range.into_param().abi(), ::std::mem::transmute(targetendpoint)).ok()
17511     }
17512     pub unsafe fn Select(&self) -> ::windows::runtime::Result<()> {
17513         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
17514     }
17515     pub unsafe fn AddToSelection(&self) -> ::windows::runtime::Result<()> {
17516         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
17517     }
17518     pub unsafe fn RemoveFromSelection(&self) -> ::windows::runtime::Result<()> {
17519         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
17520     }
17521     #[cfg(feature = "Win32_Foundation")]
17522     pub unsafe fn ScrollIntoView<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, aligntotop: Param0) -> ::windows::runtime::Result<()> {
17523         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), aligntotop.into_param().abi()).ok()
17524     }
17525     pub unsafe fn GetChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17526         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17527         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17528     }
17529 }
17530 unsafe impl ::windows::runtime::Interface for IUIAutomationTextRange {
17531     type Vtable = IUIAutomationTextRange_abi;
17532     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2772683882, 62638, 18763, [130, 57, 200, 20, 72, 17, 135, 168]);
17533 }
17534 impl ::std::convert::From<IUIAutomationTextRange> for ::windows::runtime::IUnknown {
17535     fn from(value: IUIAutomationTextRange) -> Self {
17536         unsafe { ::std::mem::transmute(value) }
17537     }
17538 }
17539 impl ::std::convert::From<&IUIAutomationTextRange> for ::windows::runtime::IUnknown {
17540     fn from(value: &IUIAutomationTextRange) -> Self {
17541         ::std::convert::From::from(::std::clone::Clone::clone(value))
17542     }
17543 }
17544 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextRange {
17545     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17546         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17547     }
17548 }
17549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextRange {
17550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17551         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17552     }
17553 }
17554 #[repr(C)]
17555 #[doc(hidden)]
17556 pub struct IUIAutomationTextRange_abi(
17557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clonedrange: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17561     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17562     #[cfg(not(feature = "Win32_Foundation"))] usize,
17563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, srcendpoint: TextPatternRangeEndpoint, range: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint, compvalue: *mut i32) -> ::windows::runtime::HRESULT,
17564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, textunit: TextUnit) -> ::windows::runtime::HRESULT,
17565     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attr: i32, val: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, backward: super::super::Foundation::BOOL, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17566     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
17567     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, backward: super::super::Foundation::BOOL, ignorecase: super::super::Foundation::BOOL, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17568     #[cfg(not(feature = "Win32_Foundation"))] usize,
17569     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attr: i32, value: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
17570     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
17571     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boundingrects: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
17572     #[cfg(not(feature = "Win32_System_Com"))] usize,
17573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enclosingelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17574     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlength: i32, text: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
17575     #[cfg(not(feature = "Win32_Foundation"))] usize,
17576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextUnit, count: i32, moved: *mut i32) -> ::windows::runtime::HRESULT,
17577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32, moved: *mut i32) -> ::windows::runtime::HRESULT,
17578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, srcendpoint: TextPatternRangeEndpoint, range: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::HRESULT,
17579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17582     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, aligntotop: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17583     #[cfg(not(feature = "Win32_Foundation"))] usize,
17584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17585 );
17586 #[repr(transparent)]
17587 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17588 pub struct IUIAutomationTextRange2(::windows::runtime::IUnknown);
17589 impl IUIAutomationTextRange2 {
17590     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17591         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17592         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17593     }
17594     #[cfg(feature = "Win32_Foundation")]
17595     pub unsafe fn Compare<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, range: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
17596         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17597         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), range.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
17598     }
17599     pub unsafe fn CompareEndpoints<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, srcendpoint: TextPatternRangeEndpoint, range: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<i32> {
17600         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17601         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(srcendpoint), range.into_param().abi(), ::std::mem::transmute(targetendpoint), &mut result__).from_abi::<i32>(result__)
17602     }
17603     pub unsafe fn ExpandToEnclosingUnit(&self, textunit: TextUnit) -> ::windows::runtime::Result<()> {
17604         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(textunit)).ok()
17605     }
17606     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
17607     pub unsafe fn FindAttribute<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, attr: i32, val: Param1, backward: Param2) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17608         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17609         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(attr), val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17610     }
17611     #[cfg(feature = "Win32_Foundation")]
17612     pub unsafe fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, text: Param0, backward: Param1, ignorecase: Param2) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17613         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17614         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17615     }
17616     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
17617     pub unsafe fn GetAttributeValue(&self, attr: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
17618         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17619         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(attr), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
17620     }
17621     #[cfg(feature = "Win32_System_Com")]
17622     pub unsafe fn GetBoundingRectangles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
17623         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17624         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
17625     }
17626     pub unsafe fn GetEnclosingElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
17627         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17628         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
17629     }
17630     #[cfg(feature = "Win32_Foundation")]
17631     pub unsafe fn GetText(&self, maxlength: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
17632         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17633         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlength), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
17634     }
17635     pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
17636         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17637         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
17638     }
17639     pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
17640         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17641         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
17642     }
17643     pub unsafe fn MoveEndpointByRange<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, srcendpoint: TextPatternRangeEndpoint, range: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<()> {
17644         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(srcendpoint), range.into_param().abi(), ::std::mem::transmute(targetendpoint)).ok()
17645     }
17646     pub unsafe fn Select(&self) -> ::windows::runtime::Result<()> {
17647         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
17648     }
17649     pub unsafe fn AddToSelection(&self) -> ::windows::runtime::Result<()> {
17650         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
17651     }
17652     pub unsafe fn RemoveFromSelection(&self) -> ::windows::runtime::Result<()> {
17653         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
17654     }
17655     #[cfg(feature = "Win32_Foundation")]
17656     pub unsafe fn ScrollIntoView<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, aligntotop: Param0) -> ::windows::runtime::Result<()> {
17657         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), aligntotop.into_param().abi()).ok()
17658     }
17659     pub unsafe fn GetChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17660         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17661         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17662     }
17663     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
17664         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)).ok()
17665     }
17666 }
17667 unsafe impl ::windows::runtime::Interface for IUIAutomationTextRange2 {
17668     type Vtable = IUIAutomationTextRange2_abi;
17669     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3147514080, 24068, 18109, [155, 224, 75, 96, 27, 154, 250, 212]);
17670 }
17671 impl ::std::convert::From<IUIAutomationTextRange2> for ::windows::runtime::IUnknown {
17672     fn from(value: IUIAutomationTextRange2) -> Self {
17673         unsafe { ::std::mem::transmute(value) }
17674     }
17675 }
17676 impl ::std::convert::From<&IUIAutomationTextRange2> for ::windows::runtime::IUnknown {
17677     fn from(value: &IUIAutomationTextRange2) -> Self {
17678         ::std::convert::From::from(::std::clone::Clone::clone(value))
17679     }
17680 }
17681 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextRange2 {
17682     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17683         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17684     }
17685 }
17686 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextRange2 {
17687     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17688         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17689     }
17690 }
17691 impl ::std::convert::From<IUIAutomationTextRange2> for IUIAutomationTextRange {
17692     fn from(value: IUIAutomationTextRange2) -> Self {
17693         unsafe { ::std::mem::transmute(value) }
17694     }
17695 }
17696 impl ::std::convert::From<&IUIAutomationTextRange2> for IUIAutomationTextRange {
17697     fn from(value: &IUIAutomationTextRange2) -> Self {
17698         ::std::convert::From::from(::std::clone::Clone::clone(value))
17699     }
17700 }
17701 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextRange> for IUIAutomationTextRange2 {
17702     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextRange> {
17703         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextRange>::into(self))
17704     }
17705 }
17706 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextRange> for &IUIAutomationTextRange2 {
17707     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextRange> {
17708         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextRange>::into(::std::clone::Clone::clone(self)))
17709     }
17710 }
17711 #[repr(C)]
17712 #[doc(hidden)]
17713 pub struct IUIAutomationTextRange2_abi(
17714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clonedrange: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17718     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17719     #[cfg(not(feature = "Win32_Foundation"))] usize,
17720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, srcendpoint: TextPatternRangeEndpoint, range: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint, compvalue: *mut i32) -> ::windows::runtime::HRESULT,
17721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, textunit: TextUnit) -> ::windows::runtime::HRESULT,
17722     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attr: i32, val: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, backward: super::super::Foundation::BOOL, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17723     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
17724     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, backward: super::super::Foundation::BOOL, ignorecase: super::super::Foundation::BOOL, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17725     #[cfg(not(feature = "Win32_Foundation"))] usize,
17726     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attr: i32, value: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
17727     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
17728     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boundingrects: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
17729     #[cfg(not(feature = "Win32_System_Com"))] usize,
17730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enclosingelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17731     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlength: i32, text: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
17732     #[cfg(not(feature = "Win32_Foundation"))] usize,
17733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextUnit, count: i32, moved: *mut i32) -> ::windows::runtime::HRESULT,
17734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32, moved: *mut i32) -> ::windows::runtime::HRESULT,
17735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, srcendpoint: TextPatternRangeEndpoint, range: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::HRESULT,
17736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17739     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, aligntotop: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17740     #[cfg(not(feature = "Win32_Foundation"))] usize,
17741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17743 );
17744 #[repr(transparent)]
17745 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17746 pub struct IUIAutomationTextRange3(::windows::runtime::IUnknown);
17747 impl IUIAutomationTextRange3 {
17748     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17749         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17750         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17751     }
17752     #[cfg(feature = "Win32_Foundation")]
17753     pub unsafe fn Compare<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, range: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
17754         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17755         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), range.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
17756     }
17757     pub unsafe fn CompareEndpoints<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, srcendpoint: TextPatternRangeEndpoint, range: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<i32> {
17758         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17759         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(srcendpoint), range.into_param().abi(), ::std::mem::transmute(targetendpoint), &mut result__).from_abi::<i32>(result__)
17760     }
17761     pub unsafe fn ExpandToEnclosingUnit(&self, textunit: TextUnit) -> ::windows::runtime::Result<()> {
17762         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(textunit)).ok()
17763     }
17764     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
17765     pub unsafe fn FindAttribute<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, attr: i32, val: Param1, backward: Param2) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17766         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17767         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(attr), val.into_param().abi(), backward.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17768     }
17769     #[cfg(feature = "Win32_Foundation")]
17770     pub unsafe fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, text: Param0, backward: Param1, ignorecase: Param2) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17771         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17772         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17773     }
17774     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
17775     pub unsafe fn GetAttributeValue(&self, attr: i32) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
17776         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17777         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(attr), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
17778     }
17779     #[cfg(feature = "Win32_System_Com")]
17780     pub unsafe fn GetBoundingRectangles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
17781         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17782         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
17783     }
17784     pub unsafe fn GetEnclosingElement(&self) -> ::windows::runtime::Result<IUIAutomationElement> {
17785         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17786         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElement>(result__)
17787     }
17788     #[cfg(feature = "Win32_Foundation")]
17789     pub unsafe fn GetText(&self, maxlength: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
17790         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17791         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(maxlength), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
17792     }
17793     pub unsafe fn Move(&self, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
17794         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17795         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
17796     }
17797     pub unsafe fn MoveEndpointByUnit(&self, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32) -> ::windows::runtime::Result<i32> {
17798         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17799         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(endpoint), ::std::mem::transmute(unit), ::std::mem::transmute(count), &mut result__).from_abi::<i32>(result__)
17800     }
17801     pub unsafe fn MoveEndpointByRange<'a, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationTextRange>>(&self, srcendpoint: TextPatternRangeEndpoint, range: Param1, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<()> {
17802         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(srcendpoint), range.into_param().abi(), ::std::mem::transmute(targetendpoint)).ok()
17803     }
17804     pub unsafe fn Select(&self) -> ::windows::runtime::Result<()> {
17805         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
17806     }
17807     pub unsafe fn AddToSelection(&self) -> ::windows::runtime::Result<()> {
17808         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
17809     }
17810     pub unsafe fn RemoveFromSelection(&self) -> ::windows::runtime::Result<()> {
17811         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self)).ok()
17812     }
17813     #[cfg(feature = "Win32_Foundation")]
17814     pub unsafe fn ScrollIntoView<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, aligntotop: Param0) -> ::windows::runtime::Result<()> {
17815         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), aligntotop.into_param().abi()).ok()
17816     }
17817     pub unsafe fn GetChildren(&self) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17818         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17819         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17820     }
17821     pub unsafe fn ShowContextMenu(&self) -> ::windows::runtime::Result<()> {
17822         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)).ok()
17823     }
17824     pub unsafe fn GetEnclosingElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
17825         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17826         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
17827     }
17828     pub unsafe fn GetChildrenBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, cacherequest: Param0) -> ::windows::runtime::Result<IUIAutomationElementArray> {
17829         let mut result__: <IUIAutomationElementArray as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17830         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElementArray>(result__)
17831     }
17832     #[cfg(feature = "Win32_System_Com")]
17833     pub unsafe fn GetAttributeValues(&self, attributeids: *const i32, attributeidcount: i32) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
17834         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17835         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(attributeids), ::std::mem::transmute(attributeidcount), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
17836     }
17837 }
17838 unsafe impl ::windows::runtime::Interface for IUIAutomationTextRange3 {
17839     type Vtable = IUIAutomationTextRange3_abi;
17840     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1781620073, 21778, 19502, [133, 240, 83, 252, 230, 221, 75, 194]);
17841 }
17842 impl ::std::convert::From<IUIAutomationTextRange3> for ::windows::runtime::IUnknown {
17843     fn from(value: IUIAutomationTextRange3) -> Self {
17844         unsafe { ::std::mem::transmute(value) }
17845     }
17846 }
17847 impl ::std::convert::From<&IUIAutomationTextRange3> for ::windows::runtime::IUnknown {
17848     fn from(value: &IUIAutomationTextRange3) -> Self {
17849         ::std::convert::From::from(::std::clone::Clone::clone(value))
17850     }
17851 }
17852 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextRange3 {
17853     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17854         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17855     }
17856 }
17857 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextRange3 {
17858     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17859         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17860     }
17861 }
17862 impl ::std::convert::From<IUIAutomationTextRange3> for IUIAutomationTextRange2 {
17863     fn from(value: IUIAutomationTextRange3) -> Self {
17864         unsafe { ::std::mem::transmute(value) }
17865     }
17866 }
17867 impl ::std::convert::From<&IUIAutomationTextRange3> for IUIAutomationTextRange2 {
17868     fn from(value: &IUIAutomationTextRange3) -> Self {
17869         ::std::convert::From::from(::std::clone::Clone::clone(value))
17870     }
17871 }
17872 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextRange2> for IUIAutomationTextRange3 {
17873     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextRange2> {
17874         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextRange2>::into(self))
17875     }
17876 }
17877 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextRange2> for &IUIAutomationTextRange3 {
17878     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextRange2> {
17879         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextRange2>::into(::std::clone::Clone::clone(self)))
17880     }
17881 }
17882 impl ::std::convert::From<IUIAutomationTextRange3> for IUIAutomationTextRange {
17883     fn from(value: IUIAutomationTextRange3) -> Self {
17884         unsafe { ::std::mem::transmute(value) }
17885     }
17886 }
17887 impl ::std::convert::From<&IUIAutomationTextRange3> for IUIAutomationTextRange {
17888     fn from(value: &IUIAutomationTextRange3) -> Self {
17889         ::std::convert::From::from(::std::clone::Clone::clone(value))
17890     }
17891 }
17892 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextRange> for IUIAutomationTextRange3 {
17893     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextRange> {
17894         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextRange>::into(self))
17895     }
17896 }
17897 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTextRange> for &IUIAutomationTextRange3 {
17898     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTextRange> {
17899         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTextRange>::into(::std::clone::Clone::clone(self)))
17900     }
17901 }
17902 #[repr(C)]
17903 #[doc(hidden)]
17904 pub struct IUIAutomationTextRange3_abi(
17905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clonedrange: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17909     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, aresame: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17910     #[cfg(not(feature = "Win32_Foundation"))] usize,
17911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, srcendpoint: TextPatternRangeEndpoint, range: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint, compvalue: *mut i32) -> ::windows::runtime::HRESULT,
17912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, textunit: TextUnit) -> ::windows::runtime::HRESULT,
17913     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attr: i32, val: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, backward: super::super::Foundation::BOOL, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17914     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
17915     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, backward: super::super::Foundation::BOOL, ignorecase: super::super::Foundation::BOOL, found: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17916     #[cfg(not(feature = "Win32_Foundation"))] usize,
17917     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attr: i32, value: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
17918     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
17919     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boundingrects: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
17920     #[cfg(not(feature = "Win32_System_Com"))] usize,
17921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, enclosingelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17922     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxlength: i32, text: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
17923     #[cfg(not(feature = "Win32_Foundation"))] usize,
17924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextUnit, count: i32, moved: *mut i32) -> ::windows::runtime::HRESULT,
17925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32, moved: *mut i32) -> ::windows::runtime::HRESULT,
17926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, srcendpoint: TextPatternRangeEndpoint, range: ::windows::runtime::RawPtr, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::HRESULT,
17927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17930     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, aligntotop: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
17931     #[cfg(not(feature = "Win32_Foundation"))] usize,
17932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, enclosingelement: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, children: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17936     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributeids: *const i32, attributeidcount: i32, attributevalues: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
17937     #[cfg(not(feature = "Win32_System_Com"))] usize,
17938 );
17939 #[repr(transparent)]
17940 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17941 pub struct IUIAutomationTextRangeArray(::windows::runtime::IUnknown);
17942 impl IUIAutomationTextRangeArray {
17943     pub unsafe fn Length(&self) -> ::windows::runtime::Result<i32> {
17944         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17945         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
17946     }
17947     pub unsafe fn GetElement(&self, index: i32) -> ::windows::runtime::Result<IUIAutomationTextRange> {
17948         let mut result__: <IUIAutomationTextRange as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17949         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IUIAutomationTextRange>(result__)
17950     }
17951 }
17952 unsafe impl ::windows::runtime::Interface for IUIAutomationTextRangeArray {
17953     type Vtable = IUIAutomationTextRangeArray_abi;
17954     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3461015402, 59159, 19608, [129, 234, 71, 55, 29, 2, 142, 182]);
17955 }
17956 impl ::std::convert::From<IUIAutomationTextRangeArray> for ::windows::runtime::IUnknown {
17957     fn from(value: IUIAutomationTextRangeArray) -> Self {
17958         unsafe { ::std::mem::transmute(value) }
17959     }
17960 }
17961 impl ::std::convert::From<&IUIAutomationTextRangeArray> for ::windows::runtime::IUnknown {
17962     fn from(value: &IUIAutomationTextRangeArray) -> Self {
17963         ::std::convert::From::from(::std::clone::Clone::clone(value))
17964     }
17965 }
17966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTextRangeArray {
17967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17968         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17969     }
17970 }
17971 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTextRangeArray {
17972     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17973         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17974     }
17975 }
17976 #[repr(C)]
17977 #[doc(hidden)]
17978 pub struct IUIAutomationTextRangeArray_abi(
17979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
17982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, length: *mut i32) -> ::windows::runtime::HRESULT,
17983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, element: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
17984 );
17985 #[repr(transparent)]
17986 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17987 pub struct IUIAutomationTogglePattern(::windows::runtime::IUnknown);
17988 impl IUIAutomationTogglePattern {
17989     pub unsafe fn Toggle(&self) -> ::windows::runtime::Result<()> {
17990         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
17991     }
17992     pub unsafe fn CurrentToggleState(&self) -> ::windows::runtime::Result<ToggleState> {
17993         let mut result__: <ToggleState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17994         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ToggleState>(result__)
17995     }
17996     pub unsafe fn CachedToggleState(&self) -> ::windows::runtime::Result<ToggleState> {
17997         let mut result__: <ToggleState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
17998         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<ToggleState>(result__)
17999     }
18000 }
18001 unsafe impl ::windows::runtime::Interface for IUIAutomationTogglePattern {
18002     type Vtable = IUIAutomationTogglePattern_abi;
18003     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2496626776, 39821, 19129, [139, 253, 76, 208, 163, 60, 140, 112]);
18004 }
18005 impl ::std::convert::From<IUIAutomationTogglePattern> for ::windows::runtime::IUnknown {
18006     fn from(value: IUIAutomationTogglePattern) -> Self {
18007         unsafe { ::std::mem::transmute(value) }
18008     }
18009 }
18010 impl ::std::convert::From<&IUIAutomationTogglePattern> for ::windows::runtime::IUnknown {
18011     fn from(value: &IUIAutomationTogglePattern) -> Self {
18012         ::std::convert::From::from(::std::clone::Clone::clone(value))
18013     }
18014 }
18015 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTogglePattern {
18016     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18017         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18018     }
18019 }
18020 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTogglePattern {
18021     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18022         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18023     }
18024 }
18025 #[repr(C)]
18026 #[doc(hidden)]
18027 pub struct IUIAutomationTogglePattern_abi(
18028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ToggleState) -> ::windows::runtime::HRESULT,
18033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ToggleState) -> ::windows::runtime::HRESULT,
18034 );
18035 #[repr(transparent)]
18036 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18037 pub struct IUIAutomationTransformPattern(::windows::runtime::IUnknown);
18038 impl IUIAutomationTransformPattern {
18039     pub unsafe fn Move(&self, x: f64, y: f64) -> ::windows::runtime::Result<()> {
18040         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
18041     }
18042     pub unsafe fn Resize(&self, width: f64, height: f64) -> ::windows::runtime::Result<()> {
18043         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
18044     }
18045     pub unsafe fn Rotate(&self, degrees: f64) -> ::windows::runtime::Result<()> {
18046         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(degrees)).ok()
18047     }
18048     #[cfg(feature = "Win32_Foundation")]
18049     pub unsafe fn CurrentCanMove(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18050         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18051         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18052     }
18053     #[cfg(feature = "Win32_Foundation")]
18054     pub unsafe fn CurrentCanResize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18055         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18056         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18057     }
18058     #[cfg(feature = "Win32_Foundation")]
18059     pub unsafe fn CurrentCanRotate(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18060         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18061         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18062     }
18063     #[cfg(feature = "Win32_Foundation")]
18064     pub unsafe fn CachedCanMove(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18065         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18066         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18067     }
18068     #[cfg(feature = "Win32_Foundation")]
18069     pub unsafe fn CachedCanResize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18070         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18071         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18072     }
18073     #[cfg(feature = "Win32_Foundation")]
18074     pub unsafe fn CachedCanRotate(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18075         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18076         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18077     }
18078 }
18079 unsafe impl ::windows::runtime::Interface for IUIAutomationTransformPattern {
18080     type Vtable = IUIAutomationTransformPattern_abi;
18081     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2847234116, 42333, 20208, [146, 109, 86, 156, 22, 255, 137, 187]);
18082 }
18083 impl ::std::convert::From<IUIAutomationTransformPattern> for ::windows::runtime::IUnknown {
18084     fn from(value: IUIAutomationTransformPattern) -> Self {
18085         unsafe { ::std::mem::transmute(value) }
18086     }
18087 }
18088 impl ::std::convert::From<&IUIAutomationTransformPattern> for ::windows::runtime::IUnknown {
18089     fn from(value: &IUIAutomationTransformPattern) -> Self {
18090         ::std::convert::From::from(::std::clone::Clone::clone(value))
18091     }
18092 }
18093 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTransformPattern {
18094     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18095         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18096     }
18097 }
18098 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTransformPattern {
18099     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18100         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18101     }
18102 }
18103 #[repr(C)]
18104 #[doc(hidden)]
18105 pub struct IUIAutomationTransformPattern_abi(
18106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f64, y: f64) -> ::windows::runtime::HRESULT,
18110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: f64, height: f64) -> ::windows::runtime::HRESULT,
18111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, degrees: f64) -> ::windows::runtime::HRESULT,
18112     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18113     #[cfg(not(feature = "Win32_Foundation"))] usize,
18114     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18115     #[cfg(not(feature = "Win32_Foundation"))] usize,
18116     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18117     #[cfg(not(feature = "Win32_Foundation"))] usize,
18118     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18119     #[cfg(not(feature = "Win32_Foundation"))] usize,
18120     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18121     #[cfg(not(feature = "Win32_Foundation"))] usize,
18122     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18123     #[cfg(not(feature = "Win32_Foundation"))] usize,
18124 );
18125 #[repr(transparent)]
18126 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18127 pub struct IUIAutomationTransformPattern2(::windows::runtime::IUnknown);
18128 impl IUIAutomationTransformPattern2 {
18129     pub unsafe fn Move(&self, x: f64, y: f64) -> ::windows::runtime::Result<()> {
18130         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
18131     }
18132     pub unsafe fn Resize(&self, width: f64, height: f64) -> ::windows::runtime::Result<()> {
18133         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
18134     }
18135     pub unsafe fn Rotate(&self, degrees: f64) -> ::windows::runtime::Result<()> {
18136         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(degrees)).ok()
18137     }
18138     #[cfg(feature = "Win32_Foundation")]
18139     pub unsafe fn CurrentCanMove(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18140         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18141         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18142     }
18143     #[cfg(feature = "Win32_Foundation")]
18144     pub unsafe fn CurrentCanResize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18145         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18146         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18147     }
18148     #[cfg(feature = "Win32_Foundation")]
18149     pub unsafe fn CurrentCanRotate(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18150         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18151         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18152     }
18153     #[cfg(feature = "Win32_Foundation")]
18154     pub unsafe fn CachedCanMove(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18155         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18156         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18157     }
18158     #[cfg(feature = "Win32_Foundation")]
18159     pub unsafe fn CachedCanResize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18160         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18161         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18162     }
18163     #[cfg(feature = "Win32_Foundation")]
18164     pub unsafe fn CachedCanRotate(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18165         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18166         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18167     }
18168     pub unsafe fn Zoom(&self, zoomvalue: f64) -> ::windows::runtime::Result<()> {
18169         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(zoomvalue)).ok()
18170     }
18171     pub unsafe fn ZoomByUnit(&self, zoomunit: ZoomUnit) -> ::windows::runtime::Result<()> {
18172         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(zoomunit)).ok()
18173     }
18174     #[cfg(feature = "Win32_Foundation")]
18175     pub unsafe fn CurrentCanZoom(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18176         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18177         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18178     }
18179     #[cfg(feature = "Win32_Foundation")]
18180     pub unsafe fn CachedCanZoom(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18181         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18182         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18183     }
18184     pub unsafe fn CurrentZoomLevel(&self) -> ::windows::runtime::Result<f64> {
18185         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18186         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
18187     }
18188     pub unsafe fn CachedZoomLevel(&self) -> ::windows::runtime::Result<f64> {
18189         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18190         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
18191     }
18192     pub unsafe fn CurrentZoomMinimum(&self) -> ::windows::runtime::Result<f64> {
18193         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18194         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
18195     }
18196     pub unsafe fn CachedZoomMinimum(&self) -> ::windows::runtime::Result<f64> {
18197         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18198         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
18199     }
18200     pub unsafe fn CurrentZoomMaximum(&self) -> ::windows::runtime::Result<f64> {
18201         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18202         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
18203     }
18204     pub unsafe fn CachedZoomMaximum(&self) -> ::windows::runtime::Result<f64> {
18205         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18206         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
18207     }
18208 }
18209 unsafe impl ::windows::runtime::Interface for IUIAutomationTransformPattern2 {
18210     type Vtable = IUIAutomationTransformPattern2_abi;
18211     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1836371991, 28363, 17281, [179, 139, 60, 23, 164, 143, 241, 194]);
18212 }
18213 impl ::std::convert::From<IUIAutomationTransformPattern2> for ::windows::runtime::IUnknown {
18214     fn from(value: IUIAutomationTransformPattern2) -> Self {
18215         unsafe { ::std::mem::transmute(value) }
18216     }
18217 }
18218 impl ::std::convert::From<&IUIAutomationTransformPattern2> for ::windows::runtime::IUnknown {
18219     fn from(value: &IUIAutomationTransformPattern2) -> Self {
18220         ::std::convert::From::from(::std::clone::Clone::clone(value))
18221     }
18222 }
18223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTransformPattern2 {
18224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18226     }
18227 }
18228 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTransformPattern2 {
18229     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18230         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18231     }
18232 }
18233 impl ::std::convert::From<IUIAutomationTransformPattern2> for IUIAutomationTransformPattern {
18234     fn from(value: IUIAutomationTransformPattern2) -> Self {
18235         unsafe { ::std::mem::transmute(value) }
18236     }
18237 }
18238 impl ::std::convert::From<&IUIAutomationTransformPattern2> for IUIAutomationTransformPattern {
18239     fn from(value: &IUIAutomationTransformPattern2) -> Self {
18240         ::std::convert::From::from(::std::clone::Clone::clone(value))
18241     }
18242 }
18243 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTransformPattern> for IUIAutomationTransformPattern2 {
18244     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTransformPattern> {
18245         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTransformPattern>::into(self))
18246     }
18247 }
18248 impl<'a> ::windows::runtime::IntoParam<'a, IUIAutomationTransformPattern> for &IUIAutomationTransformPattern2 {
18249     fn into_param(self) -> ::windows::runtime::Param<'a, IUIAutomationTransformPattern> {
18250         ::windows::runtime::Param::Owned(::std::convert::Into::<IUIAutomationTransformPattern>::into(::std::clone::Clone::clone(self)))
18251     }
18252 }
18253 #[repr(C)]
18254 #[doc(hidden)]
18255 pub struct IUIAutomationTransformPattern2_abi(
18256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f64, y: f64) -> ::windows::runtime::HRESULT,
18260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: f64, height: f64) -> ::windows::runtime::HRESULT,
18261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, degrees: f64) -> ::windows::runtime::HRESULT,
18262     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18263     #[cfg(not(feature = "Win32_Foundation"))] usize,
18264     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18265     #[cfg(not(feature = "Win32_Foundation"))] usize,
18266     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18267     #[cfg(not(feature = "Win32_Foundation"))] usize,
18268     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18269     #[cfg(not(feature = "Win32_Foundation"))] usize,
18270     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18271     #[cfg(not(feature = "Win32_Foundation"))] usize,
18272     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18273     #[cfg(not(feature = "Win32_Foundation"))] usize,
18274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, zoomvalue: f64) -> ::windows::runtime::HRESULT,
18275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, zoomunit: ZoomUnit) -> ::windows::runtime::HRESULT,
18276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18277     #[cfg(not(feature = "Win32_Foundation"))] usize,
18278     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18279     #[cfg(not(feature = "Win32_Foundation"))] usize,
18280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
18281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
18282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
18283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
18284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
18285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut f64) -> ::windows::runtime::HRESULT,
18286 );
18287 #[repr(transparent)]
18288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18289 pub struct IUIAutomationTreeWalker(::windows::runtime::IUnknown);
18290 impl IUIAutomationTreeWalker {
18291     pub unsafe fn GetParentElement<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, element: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
18292         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18293         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), element.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18294     }
18295     pub unsafe fn GetFirstChildElement<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, element: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
18296         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18297         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), element.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18298     }
18299     pub unsafe fn GetLastChildElement<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, element: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
18300         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18301         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), element.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18302     }
18303     pub unsafe fn GetNextSiblingElement<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, element: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
18304         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18305         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), element.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18306     }
18307     pub unsafe fn GetPreviousSiblingElement<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, element: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
18308         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18309         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), element.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18310     }
18311     pub unsafe fn NormalizeElement<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>>(&self, element: Param0) -> ::windows::runtime::Result<IUIAutomationElement> {
18312         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18313         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), element.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18314     }
18315     pub unsafe fn GetParentElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, element: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
18316         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18317         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18318     }
18319     pub unsafe fn GetFirstChildElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, element: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
18320         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18321         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18322     }
18323     pub unsafe fn GetLastChildElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, element: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
18324         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18325         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18326     }
18327     pub unsafe fn GetNextSiblingElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, element: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
18328         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18329         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18330     }
18331     pub unsafe fn GetPreviousSiblingElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, element: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
18332         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18333         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18334     }
18335     pub unsafe fn NormalizeElementBuildCache<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAutomationElement>, Param1: ::windows::runtime::IntoParam<'a, IUIAutomationCacheRequest>>(&self, element: Param0, cacherequest: Param1) -> ::windows::runtime::Result<IUIAutomationElement> {
18336         let mut result__: <IUIAutomationElement as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18337         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), element.into_param().abi(), cacherequest.into_param().abi(), &mut result__).from_abi::<IUIAutomationElement>(result__)
18338     }
18339     pub unsafe fn Condition(&self) -> ::windows::runtime::Result<IUIAutomationCondition> {
18340         let mut result__: <IUIAutomationCondition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18341         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAutomationCondition>(result__)
18342     }
18343 }
18344 unsafe impl ::windows::runtime::Interface for IUIAutomationTreeWalker {
18345     type Vtable = IUIAutomationTreeWalker_abi;
18346     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1078117924, 14492, 19196, [166, 48, 157, 248, 84, 165, 65, 252]);
18347 }
18348 impl ::std::convert::From<IUIAutomationTreeWalker> for ::windows::runtime::IUnknown {
18349     fn from(value: IUIAutomationTreeWalker) -> Self {
18350         unsafe { ::std::mem::transmute(value) }
18351     }
18352 }
18353 impl ::std::convert::From<&IUIAutomationTreeWalker> for ::windows::runtime::IUnknown {
18354     fn from(value: &IUIAutomationTreeWalker) -> Self {
18355         ::std::convert::From::from(::std::clone::Clone::clone(value))
18356     }
18357 }
18358 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationTreeWalker {
18359     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18360         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18361     }
18362 }
18363 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationTreeWalker {
18364     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18365         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18366     }
18367 }
18368 #[repr(C)]
18369 #[doc(hidden)]
18370 pub struct IUIAutomationTreeWalker_abi(
18371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, first: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, last: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, next: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, previous: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, normalized: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, parent: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, first: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, last: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, next: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, previous: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: ::windows::runtime::RawPtr, cacherequest: ::windows::runtime::RawPtr, normalized: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, condition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18387 );
18388 #[repr(transparent)]
18389 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18390 pub struct IUIAutomationValuePattern(::windows::runtime::IUnknown);
18391 impl IUIAutomationValuePattern {
18392     #[cfg(feature = "Win32_Foundation")]
18393     pub unsafe fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
18394         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
18395     }
18396     #[cfg(feature = "Win32_Foundation")]
18397     pub unsafe fn CurrentValue(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
18398         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18399         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
18400     }
18401     #[cfg(feature = "Win32_Foundation")]
18402     pub unsafe fn CurrentIsReadOnly(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18403         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18404         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18405     }
18406     #[cfg(feature = "Win32_Foundation")]
18407     pub unsafe fn CachedValue(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
18408         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18409         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
18410     }
18411     #[cfg(feature = "Win32_Foundation")]
18412     pub unsafe fn CachedIsReadOnly(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18413         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18414         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18415     }
18416 }
18417 unsafe impl ::windows::runtime::Interface for IUIAutomationValuePattern {
18418     type Vtable = IUIAutomationValuePattern_abi;
18419     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2840385713, 2116, 19670, [157, 45, 100, 5, 55, 171, 57, 233]);
18420 }
18421 impl ::std::convert::From<IUIAutomationValuePattern> for ::windows::runtime::IUnknown {
18422     fn from(value: IUIAutomationValuePattern) -> Self {
18423         unsafe { ::std::mem::transmute(value) }
18424     }
18425 }
18426 impl ::std::convert::From<&IUIAutomationValuePattern> for ::windows::runtime::IUnknown {
18427     fn from(value: &IUIAutomationValuePattern) -> Self {
18428         ::std::convert::From::from(::std::clone::Clone::clone(value))
18429     }
18430 }
18431 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationValuePattern {
18432     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18433         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18434     }
18435 }
18436 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationValuePattern {
18437     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18438         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18439     }
18440 }
18441 #[repr(C)]
18442 #[doc(hidden)]
18443 pub struct IUIAutomationValuePattern_abi(
18444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18447     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
18448     #[cfg(not(feature = "Win32_Foundation"))] usize,
18449     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
18450     #[cfg(not(feature = "Win32_Foundation"))] usize,
18451     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18452     #[cfg(not(feature = "Win32_Foundation"))] usize,
18453     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
18454     #[cfg(not(feature = "Win32_Foundation"))] usize,
18455     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18456     #[cfg(not(feature = "Win32_Foundation"))] usize,
18457 );
18458 #[repr(transparent)]
18459 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18460 pub struct IUIAutomationVirtualizedItemPattern(::windows::runtime::IUnknown);
18461 impl IUIAutomationVirtualizedItemPattern {
18462     pub unsafe fn Realize(&self) -> ::windows::runtime::Result<()> {
18463         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
18464     }
18465 }
18466 unsafe impl ::windows::runtime::Interface for IUIAutomationVirtualizedItemPattern {
18467     type Vtable = IUIAutomationVirtualizedItemPattern_abi;
18468     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1805899686, 1231, 20241, [135, 147, 168, 209, 205, 233, 150, 159]);
18469 }
18470 impl ::std::convert::From<IUIAutomationVirtualizedItemPattern> for ::windows::runtime::IUnknown {
18471     fn from(value: IUIAutomationVirtualizedItemPattern) -> Self {
18472         unsafe { ::std::mem::transmute(value) }
18473     }
18474 }
18475 impl ::std::convert::From<&IUIAutomationVirtualizedItemPattern> for ::windows::runtime::IUnknown {
18476     fn from(value: &IUIAutomationVirtualizedItemPattern) -> Self {
18477         ::std::convert::From::from(::std::clone::Clone::clone(value))
18478     }
18479 }
18480 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationVirtualizedItemPattern {
18481     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18482         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18483     }
18484 }
18485 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationVirtualizedItemPattern {
18486     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18487         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18488     }
18489 }
18490 #[repr(C)]
18491 #[doc(hidden)]
18492 pub struct IUIAutomationVirtualizedItemPattern_abi(
18493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18497 );
18498 #[repr(transparent)]
18499 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18500 pub struct IUIAutomationWindowPattern(::windows::runtime::IUnknown);
18501 impl IUIAutomationWindowPattern {
18502     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
18503         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
18504     }
18505     #[cfg(feature = "Win32_Foundation")]
18506     pub unsafe fn WaitForInputIdle(&self, milliseconds: i32) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18507         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18508         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(milliseconds), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18509     }
18510     pub unsafe fn SetWindowVisualState(&self, state: WindowVisualState) -> ::windows::runtime::Result<()> {
18511         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
18512     }
18513     #[cfg(feature = "Win32_Foundation")]
18514     pub unsafe fn CurrentCanMaximize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18515         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18516         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18517     }
18518     #[cfg(feature = "Win32_Foundation")]
18519     pub unsafe fn CurrentCanMinimize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18520         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18521         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18522     }
18523     #[cfg(feature = "Win32_Foundation")]
18524     pub unsafe fn CurrentIsModal(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18525         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18526         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18527     }
18528     #[cfg(feature = "Win32_Foundation")]
18529     pub unsafe fn CurrentIsTopmost(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18530         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18531         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18532     }
18533     pub unsafe fn CurrentWindowVisualState(&self) -> ::windows::runtime::Result<WindowVisualState> {
18534         let mut result__: <WindowVisualState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18535         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WindowVisualState>(result__)
18536     }
18537     pub unsafe fn CurrentWindowInteractionState(&self) -> ::windows::runtime::Result<WindowInteractionState> {
18538         let mut result__: <WindowInteractionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18539         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WindowInteractionState>(result__)
18540     }
18541     #[cfg(feature = "Win32_Foundation")]
18542     pub unsafe fn CachedCanMaximize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18543         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18544         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18545     }
18546     #[cfg(feature = "Win32_Foundation")]
18547     pub unsafe fn CachedCanMinimize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18548         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18549         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18550     }
18551     #[cfg(feature = "Win32_Foundation")]
18552     pub unsafe fn CachedIsModal(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18553         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18554         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18555     }
18556     #[cfg(feature = "Win32_Foundation")]
18557     pub unsafe fn CachedIsTopmost(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18558         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18559         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18560     }
18561     pub unsafe fn CachedWindowVisualState(&self) -> ::windows::runtime::Result<WindowVisualState> {
18562         let mut result__: <WindowVisualState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18563         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WindowVisualState>(result__)
18564     }
18565     pub unsafe fn CachedWindowInteractionState(&self) -> ::windows::runtime::Result<WindowInteractionState> {
18566         let mut result__: <WindowInteractionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18567         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WindowInteractionState>(result__)
18568     }
18569 }
18570 unsafe impl ::windows::runtime::Interface for IUIAutomationWindowPattern {
18571     type Vtable = IUIAutomationWindowPattern_abi;
18572     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(263124051, 37384, 17391, [187, 178, 59, 72, 81, 119, 134, 79]);
18573 }
18574 impl ::std::convert::From<IUIAutomationWindowPattern> for ::windows::runtime::IUnknown {
18575     fn from(value: IUIAutomationWindowPattern) -> Self {
18576         unsafe { ::std::mem::transmute(value) }
18577     }
18578 }
18579 impl ::std::convert::From<&IUIAutomationWindowPattern> for ::windows::runtime::IUnknown {
18580     fn from(value: &IUIAutomationWindowPattern) -> Self {
18581         ::std::convert::From::from(::std::clone::Clone::clone(value))
18582     }
18583 }
18584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAutomationWindowPattern {
18585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18586         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18587     }
18588 }
18589 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAutomationWindowPattern {
18590     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18591         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18592     }
18593 }
18594 #[repr(C)]
18595 #[doc(hidden)]
18596 pub struct IUIAutomationWindowPattern_abi(
18597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18601     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, milliseconds: i32, success: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18602     #[cfg(not(feature = "Win32_Foundation"))] usize,
18603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: WindowVisualState) -> ::windows::runtime::HRESULT,
18604     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18605     #[cfg(not(feature = "Win32_Foundation"))] usize,
18606     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18607     #[cfg(not(feature = "Win32_Foundation"))] usize,
18608     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18609     #[cfg(not(feature = "Win32_Foundation"))] usize,
18610     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18611     #[cfg(not(feature = "Win32_Foundation"))] usize,
18612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut WindowVisualState) -> ::windows::runtime::HRESULT,
18613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut WindowInteractionState) -> ::windows::runtime::HRESULT,
18614     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18615     #[cfg(not(feature = "Win32_Foundation"))] usize,
18616     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18617     #[cfg(not(feature = "Win32_Foundation"))] usize,
18618     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18619     #[cfg(not(feature = "Win32_Foundation"))] usize,
18620     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18621     #[cfg(not(feature = "Win32_Foundation"))] usize,
18622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut WindowVisualState) -> ::windows::runtime::HRESULT,
18623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, retval: *mut WindowInteractionState) -> ::windows::runtime::HRESULT,
18624 );
18625 #[repr(transparent)]
18626 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18627 pub struct IValueProvider(::windows::runtime::IUnknown);
18628 impl IValueProvider {
18629     #[cfg(feature = "Win32_Foundation")]
18630     pub unsafe fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
18631         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
18632     }
18633     #[cfg(feature = "Win32_Foundation")]
18634     pub unsafe fn Value(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
18635         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18636         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
18637     }
18638     #[cfg(feature = "Win32_Foundation")]
18639     pub unsafe fn IsReadOnly(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18640         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18641         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18642     }
18643 }
18644 unsafe impl ::windows::runtime::Interface for IValueProvider {
18645     type Vtable = IValueProvider_abi;
18646     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3348320640, 28595, 16897, [177, 116, 125, 247, 58, 219, 246, 74]);
18647 }
18648 impl ::std::convert::From<IValueProvider> for ::windows::runtime::IUnknown {
18649     fn from(value: IValueProvider) -> Self {
18650         unsafe { ::std::mem::transmute(value) }
18651     }
18652 }
18653 impl ::std::convert::From<&IValueProvider> for ::windows::runtime::IUnknown {
18654     fn from(value: &IValueProvider) -> Self {
18655         ::std::convert::From::from(::std::clone::Clone::clone(value))
18656     }
18657 }
18658 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IValueProvider {
18659     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18660         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18661     }
18662 }
18663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IValueProvider {
18664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18665         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18666     }
18667 }
18668 #[repr(C)]
18669 #[doc(hidden)]
18670 pub struct IValueProvider_abi(
18671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18674     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
18675     #[cfg(not(feature = "Win32_Foundation"))] usize,
18676     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
18677     #[cfg(not(feature = "Win32_Foundation"))] usize,
18678     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18679     #[cfg(not(feature = "Win32_Foundation"))] usize,
18680 );
18681 #[repr(transparent)]
18682 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18683 pub struct IVirtualizedItemProvider(::windows::runtime::IUnknown);
18684 impl IVirtualizedItemProvider {
18685     pub unsafe fn Realize(&self) -> ::windows::runtime::Result<()> {
18686         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
18687     }
18688 }
18689 unsafe impl ::windows::runtime::Interface for IVirtualizedItemProvider {
18690     type Vtable = IVirtualizedItemProvider_abi;
18691     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3415783013, 11573, 20396, [173, 53, 243, 198, 13, 12, 11, 139]);
18692 }
18693 impl ::std::convert::From<IVirtualizedItemProvider> for ::windows::runtime::IUnknown {
18694     fn from(value: IVirtualizedItemProvider) -> Self {
18695         unsafe { ::std::mem::transmute(value) }
18696     }
18697 }
18698 impl ::std::convert::From<&IVirtualizedItemProvider> for ::windows::runtime::IUnknown {
18699     fn from(value: &IVirtualizedItemProvider) -> Self {
18700         ::std::convert::From::from(::std::clone::Clone::clone(value))
18701     }
18702 }
18703 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVirtualizedItemProvider {
18704     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18705         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18706     }
18707 }
18708 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVirtualizedItemProvider {
18709     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18710         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18711     }
18712 }
18713 #[repr(C)]
18714 #[doc(hidden)]
18715 pub struct IVirtualizedItemProvider_abi(
18716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18720 );
18721 #[repr(transparent)]
18722 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18723 pub struct IWindowProvider(::windows::runtime::IUnknown);
18724 impl IWindowProvider {
18725     pub unsafe fn SetVisualState(&self, state: WindowVisualState) -> ::windows::runtime::Result<()> {
18726         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(state)).ok()
18727     }
18728     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
18729         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
18730     }
18731     #[cfg(feature = "Win32_Foundation")]
18732     pub unsafe fn WaitForInputIdle(&self, milliseconds: i32) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18733         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18734         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(milliseconds), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18735     }
18736     #[cfg(feature = "Win32_Foundation")]
18737     pub unsafe fn CanMaximize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18738         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18739         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18740     }
18741     #[cfg(feature = "Win32_Foundation")]
18742     pub unsafe fn CanMinimize(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18743         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18744         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18745     }
18746     #[cfg(feature = "Win32_Foundation")]
18747     pub unsafe fn IsModal(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18748         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18749         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18750     }
18751     pub unsafe fn WindowVisualState(&self) -> ::windows::runtime::Result<WindowVisualState> {
18752         let mut result__: <WindowVisualState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18753         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WindowVisualState>(result__)
18754     }
18755     pub unsafe fn WindowInteractionState(&self) -> ::windows::runtime::Result<WindowInteractionState> {
18756         let mut result__: <WindowInteractionState as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18757         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WindowInteractionState>(result__)
18758     }
18759     #[cfg(feature = "Win32_Foundation")]
18760     pub unsafe fn IsTopmost(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
18761         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18762         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
18763     }
18764 }
18765 unsafe impl ::windows::runtime::Interface for IWindowProvider {
18766     type Vtable = IWindowProvider_abi;
18767     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2558392187, 56070, 19831, [143, 138, 134, 169, 195, 187, 144, 185]);
18768 }
18769 impl ::std::convert::From<IWindowProvider> for ::windows::runtime::IUnknown {
18770     fn from(value: IWindowProvider) -> Self {
18771         unsafe { ::std::mem::transmute(value) }
18772     }
18773 }
18774 impl ::std::convert::From<&IWindowProvider> for ::windows::runtime::IUnknown {
18775     fn from(value: &IWindowProvider) -> Self {
18776         ::std::convert::From::from(::std::clone::Clone::clone(value))
18777     }
18778 }
18779 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWindowProvider {
18780     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18781         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18782     }
18783 }
18784 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWindowProvider {
18785     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18786         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18787     }
18788 }
18789 #[repr(C)]
18790 #[doc(hidden)]
18791 pub struct IWindowProvider_abi(
18792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
18795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: WindowVisualState) -> ::windows::runtime::HRESULT,
18796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18797     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, milliseconds: i32, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18798     #[cfg(not(feature = "Win32_Foundation"))] usize,
18799     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18800     #[cfg(not(feature = "Win32_Foundation"))] usize,
18801     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18802     #[cfg(not(feature = "Win32_Foundation"))] usize,
18803     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18804     #[cfg(not(feature = "Win32_Foundation"))] usize,
18805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut WindowVisualState) -> ::windows::runtime::HRESULT,
18806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut WindowInteractionState) -> ::windows::runtime::HRESULT,
18807     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
18808     #[cfg(not(feature = "Win32_Foundation"))] usize,
18809 );
18810 pub const Image_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(758593252, 27414, 19543, [169, 98, 249, 50, 96, 167, 82, 67]);
18811 pub const InputDiscarded_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2134295399, 31512, 16764, [151, 227, 157, 88, 221, 201, 68, 171]);
18812 pub const InputReachedOtherElement_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3978304906, 20076, 16734, [168, 116, 36, 96, 201, 182, 107, 168]);
18813 pub const InputReachedTarget_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2481804442, 1353, 16624, [190, 219, 40, 228, 79, 125, 226, 163]);
18814 #[inline]
18815 pub unsafe fn InvokePattern_Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
18816     #[cfg(windows)]
18817     {
18818         #[link(name = "windows")]
18819         extern "system" {
18820             fn InvokePattern_Invoke(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
18821         }
18822         InvokePattern_Invoke(hobj.into_param().abi()).ok()
18823     }
18824     #[cfg(not(windows))]
18825     unimplemented!("Unsupported target OS");
18826 }
18827 pub const Invoke_Invoked_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3755383280, 51477, 18909, [180, 34, 221, 231, 133, 195, 210, 75]);
18828 pub const Invoke_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3648439036, 26346, 19054, [178, 143, 194, 76, 117, 70, 173, 55]);
18829 pub const IsAnnotationPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(190526008, 27996, 16822, [188, 196, 94, 128, 127, 101, 81, 196]);
18830 pub const IsContentElement_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1272603816, 62936, 18443, [129, 85, 239, 46, 137, 173, 182, 114]);
18831 pub const IsControlElement_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2515751045, 43980, 19197, [165, 244, 219, 180, 108, 35, 15, 219]);
18832 pub const IsCustomNavigationPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2408480980, 9041, 18656, [135, 74, 84, 170, 115, 19, 136, 154]);
18833 pub const IsDataValidForForm_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1146799748, 50172, 19929, [172, 248, 132, 90, 87, 146, 150, 186]);
18834 pub const IsDialog_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2634939291, 33846, 17665, [187, 187, 229, 52, 164, 251, 59, 63]);
18835 pub const IsDockPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(637576388, 12280, 19606, [174, 49, 143, 230, 25, 161, 60, 108]);
18836 pub const IsDragPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3919030199, 7481, 19623, [190, 15, 39, 127, 207, 86, 5, 204]);
18837 pub const IsDropTargetPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(109491758, 36377, 19119, [135, 61, 56, 79, 109, 59, 146, 190]);
18838 pub const IsEnabled_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(554254975, 55904, 20461, [191, 27, 38, 75, 220, 230, 235, 58]);
18839 pub const IsExpandCollapsePatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2459777030, 21127, 18213, [170, 22, 34, 42, 252, 99, 213, 149]);
18840 pub const IsGridItemPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1514399012, 63906, 19218, [132, 200, 180, 138, 62, 254, 221, 52]);
18841 pub const IsGridPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1445118572, 61679, 20283, [151, 203, 113, 76, 8, 104, 88, 139]);
18842 pub const IsInvokePatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1316116280, 33636, 18041, [170, 108, 243, 244, 25, 49, 247, 80]);
18843 pub const IsItemContainerPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1649106087, 65088, 18775, [160, 25, 32, 196, 207, 17, 146, 15]);
18844 pub const IsKeyboardFocusable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4156052778, 2137, 19255, [185, 203, 81, 231, 32, 146, 242, 159]);
18845 pub const IsLegacyIAccessiblePatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3639333063, 37530, 20199, [141, 58, 211, 217, 68, 19, 2, 123]);
18846 pub const IsMultipleViewPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4278858219, 36389, 18077, [141, 110, 231, 113, 162, 124, 27, 144]);
18847 pub const IsObjectModelPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1797380251, 10305, 16687, [142, 242, 21, 202, 149, 35, 24, 186]);
18848 pub const IsOffscreen_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(63164768, 56185, 17115, [162, 239, 28, 35, 30, 237, 229, 7]);
18849 pub const IsPassword_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3897044657, 26748, 18811, [190, 188, 3, 190, 83, 236, 20, 84]);
18850 pub const IsPeripheral_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3665134198, 32469, 18900, [142, 104, 236, 201, 162, 211, 0, 221]);
18851 pub const IsRangeValuePatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4255392842, 60237, 17407, [181, 173, 237, 54, 211, 115, 236, 76]);
18852 pub const IsRequiredForForm_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1331643343, 23035, 19422, [162, 112, 96, 46, 94, 17, 65, 233]);
18853 pub const IsScrollItemPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(481106437, 2343, 19318, [151, 225, 15, 205, 178, 9, 185, 138]);
18854 pub const IsScrollPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1052474186, 33418, 19287, [157, 34, 47, 234, 22, 50, 237, 13]);
18855 pub const IsSelectionItemPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2347554349, 3011, 16649, [190, 226, 142, 103, 21, 41, 14, 104]);
18856 pub const IsSelectionPattern2Available_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1225262843, 28297, 19015, [131, 25, 210, 102, 229, 17, 240, 33]);
18857 pub const IsSelectionPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4119375038, 51049, 18488, [154, 96, 38, 134, 220, 17, 136, 196]);
18858 pub const IsSpreadsheetItemPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2682755882, 12180, 17405, [153, 107, 84, 158, 49, 111, 74, 205]);
18859 pub const IsSpreadsheetPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1878275890, 58548, 17749, [151, 188, 236, 219, 188, 77, 24, 136]);
18860 pub const IsStructuredMarkupPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2966733206, 11275, 18588, [177, 101, 164, 5, 146, 140, 111, 61]);
18861 pub const IsStylesPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(670258131, 17820, 19289, [164, 144, 80, 97, 29, 172, 175, 181]);
18862 pub const IsSynchronizedInputPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1976999109, 53951, 18755, [135, 110, 180, 91, 98, 166, 204, 102]);
18863 pub const IsTableItemPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3946230797, 36516, 18587, [160, 19, 230, 13, 89, 81, 254, 52]);
18864 pub const IsTablePatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3414382431, 17858, 16456, [156, 118, 21, 151, 21, 161, 57, 223]);
18865 pub const IsTextChildPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1436444127, 12543, 17333, [181, 237, 91, 40, 59, 128, 199, 233]);
18866 pub const IsTextEditPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2017673820, 35634, 18508, [154, 181, 227, 32, 5, 113, 255, 218]);
18867 pub const IsTextPattern2Available_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1104122397, 58353, 19234, [156, 129, 225, 195, 237, 51, 28, 34]);
18868 pub const IsTextPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4225947293, 45046, 19013, [130, 226, 252, 146, 168, 47, 89, 23]);
18869 pub const IsTogglePatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2020109651, 64720, 19331, [155, 120, 88, 50, 206, 99, 187, 91]);
18870 pub const IsTransformPattern2Available_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(630721355, 48644, 18192, [171, 74, 253, 163, 29, 189, 40, 149]);
18871 pub const IsTransformPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2818017284, 54923, 16503, [165, 198, 122, 94, 161, 172, 49, 197]);
18872 pub const IsValuePatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(189800615, 8473, 18235, [190, 55, 92, 235, 152, 187, 251, 34]);
18873 pub const IsVirtualizedItemPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(808235345, 10952, 17878, [151, 123, 210, 179, 165, 165, 63, 32]);
18874 #[cfg(feature = "Win32_Foundation")]
18875 #[inline]
18876 pub unsafe fn IsWinEventHookInstalled(event: u32) -> super::super::Foundation::BOOL {
18877     #[cfg(windows)]
18878     {
18879         #[link(name = "windows")]
18880         extern "system" {
18881             fn IsWinEventHookInstalled(event: u32) -> super::super::Foundation::BOOL;
18882         }
18883         ::std::mem::transmute(IsWinEventHookInstalled(::std::mem::transmute(event)))
18884     }
18885     #[cfg(not(windows))]
18886     unimplemented!("Unsupported target OS");
18887 }
18888 pub const IsWindowPatternAvailable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3886382001, 22664, 16725, [152, 220, 180, 34, 253, 87, 242, 188]);
18889 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
18890 #[inline]
18891 pub unsafe fn ItemContainerPattern_FindItemByProperty<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>, Param1: ::windows::runtime::IntoParam<'a, HUIANODE>, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(hobj: Param0, hnodestartafter: Param1, propertyid: i32, value: Param3, pfound: *mut HUIANODE) -> ::windows::runtime::Result<()> {
18892     #[cfg(windows)]
18893     {
18894         #[link(name = "windows")]
18895         extern "system" {
18896             fn ItemContainerPattern_FindItemByProperty(hobj: HUIAPATTERNOBJECT, hnodestartafter: HUIANODE, propertyid: i32, value: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pfound: *mut HUIANODE) -> ::windows::runtime::HRESULT;
18897         }
18898         ItemContainerPattern_FindItemByProperty(hobj.into_param().abi(), hnodestartafter.into_param().abi(), ::std::mem::transmute(propertyid), value.into_param().abi(), ::std::mem::transmute(pfound)).ok()
18899     }
18900     #[cfg(not(windows))]
18901     unimplemented!("Unsupported target OS");
18902 }
18903 pub const ItemContainer_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1024711183, 35738, 19097, [133, 250, 197, 201, 166, 159, 30, 212]);
18904 pub const ItemStatus_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1373504289, 14707, 17383, [137, 19, 11, 8, 232, 19, 195, 127]);
18905 pub const ItemType_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3453633357, 25122, 16699, [166, 138, 50, 93, 209, 212, 15, 57]);
18906 pub const LIBID_Accessibility: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(514120688, 15419, 4559, [129, 12, 0, 170, 0, 56, 155, 113]);
18907 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
18908 pub type LPFNACCESSIBLECHILDREN = unsafe extern "system" fn(pacccontainer: ::windows::runtime::RawPtr, ichildstart: i32, cchildren: i32, rgvarchildren: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pcobtained: *mut i32) -> ::windows::runtime::HRESULT;
18909 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
18910 pub type LPFNACCESSIBLEOBJECTFROMPOINT = unsafe extern "system" fn(ptscreen: super::super::Foundation::POINT, ppacc: *mut ::windows::runtime::RawPtr, pvarchild: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT;
18911 #[cfg(feature = "Win32_Foundation")]
18912 pub type LPFNACCESSIBLEOBJECTFROMWINDOW = unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, dwid: u32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
18913 #[cfg(feature = "Win32_Foundation")]
18914 pub type LPFNCREATESTDACCESSIBLEOBJECT = unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, idobject: i32, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
18915 #[cfg(feature = "Win32_Foundation")]
18916 pub type LPFNLRESULTFROMOBJECT = unsafe extern "system" fn(riid: *const ::windows::runtime::GUID, wparam: super::super::Foundation::WPARAM, punk: ::windows::runtime::RawPtr) -> super::super::Foundation::LRESULT;
18917 #[cfg(feature = "Win32_Foundation")]
18918 pub type LPFNOBJECTFROMLRESULT = unsafe extern "system" fn(lresult: super::super::Foundation::LRESULT, riid: *const ::windows::runtime::GUID, wparam: super::super::Foundation::WPARAM, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
18919 pub const LabeledBy_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3854078539, 64650, 18997, [128, 49, 207, 120, 172, 67, 229, 94]);
18920 pub const LandmarkType_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1161840114, 28513, 18935, [164, 248, 181, 240, 207, 130, 218, 30]);
18921 pub const LayoutInvalidated_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3984418116, 42685, 17813, [155, 174, 61, 40, 148, 108, 199, 21]);
18922 #[inline]
18923 pub unsafe fn LegacyIAccessiblePattern_DoDefaultAction<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
18924     #[cfg(windows)]
18925     {
18926         #[link(name = "windows")]
18927         extern "system" {
18928             fn LegacyIAccessiblePattern_DoDefaultAction(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
18929         }
18930         LegacyIAccessiblePattern_DoDefaultAction(hobj.into_param().abi()).ok()
18931     }
18932     #[cfg(not(windows))]
18933     unimplemented!("Unsupported target OS");
18934 }
18935 #[inline]
18936 pub unsafe fn LegacyIAccessiblePattern_GetIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<IAccessible> {
18937     #[cfg(windows)]
18938     {
18939         #[link(name = "windows")]
18940         extern "system" {
18941             fn LegacyIAccessiblePattern_GetIAccessible(hobj: HUIAPATTERNOBJECT, paccessible: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
18942         }
18943         let mut result__: <IAccessible as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18944         LegacyIAccessiblePattern_GetIAccessible(hobj.into_param().abi(), &mut result__).from_abi::<IAccessible>(result__)
18945     }
18946     #[cfg(not(windows))]
18947     unimplemented!("Unsupported target OS");
18948 }
18949 #[inline]
18950 pub unsafe fn LegacyIAccessiblePattern_Select<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, flagsselect: i32) -> ::windows::runtime::Result<()> {
18951     #[cfg(windows)]
18952     {
18953         #[link(name = "windows")]
18954         extern "system" {
18955             fn LegacyIAccessiblePattern_Select(hobj: HUIAPATTERNOBJECT, flagsselect: i32) -> ::windows::runtime::HRESULT;
18956         }
18957         LegacyIAccessiblePattern_Select(hobj.into_param().abi(), ::std::mem::transmute(flagsselect)).ok()
18958     }
18959     #[cfg(not(windows))]
18960     unimplemented!("Unsupported target OS");
18961 }
18962 #[cfg(feature = "Win32_Foundation")]
18963 #[inline]
18964 pub unsafe fn LegacyIAccessiblePattern_SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hobj: Param0, szvalue: Param1) -> ::windows::runtime::Result<()> {
18965     #[cfg(windows)]
18966     {
18967         #[link(name = "windows")]
18968         extern "system" {
18969             fn LegacyIAccessiblePattern_SetValue(hobj: HUIAPATTERNOBJECT, szvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
18970         }
18971         LegacyIAccessiblePattern_SetValue(hobj.into_param().abi(), szvalue.into_param().abi()).ok()
18972     }
18973     #[cfg(not(windows))]
18974     unimplemented!("Unsupported target OS");
18975 }
18976 pub const LegacyIAccessible_ChildId_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2585336669, 40690, 18311, [164, 89, 220, 222, 136, 93, 212, 232]);
18977 pub const LegacyIAccessible_DefaultAction_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(993204009, 60077, 17666, [184, 95, 146, 97, 86, 34, 145, 60]);
18978 pub const LegacyIAccessible_Description_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1178895384, 32112, 20137, [157, 39, 183, 231, 117, 207, 42, 215]);
18979 pub const LegacyIAccessible_Help_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2487231314, 5660, 19319, [169, 141, 168, 114, 204, 51, 148, 122]);
18980 pub const LegacyIAccessible_KeyboardShortcut_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2406025644, 184, 16985, [164, 28, 150, 98, 102, 212, 58, 138]);
18981 pub const LegacyIAccessible_Name_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3404400189, 16558, 18537, [170, 90, 27, 142, 93, 102, 103, 57]);
18982 pub const LegacyIAccessible_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1422658207, 13205, 18607, [186, 141, 115, 248, 86, 144, 243, 224]);
18983 pub const LegacyIAccessible_Role_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1750525343, 52143, 20017, [147, 232, 188, 191, 111, 126, 73, 28]);
18984 pub const LegacyIAccessible_Selection_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2326311392, 2193, 16588, [139, 6, 144, 215, 212, 22, 98, 25]);
18985 pub const LegacyIAccessible_State_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3751303252, 8833, 17216, [171, 156, 198, 14, 44, 88, 3, 246]);
18986 pub const LegacyIAccessible_Value_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3049631926, 33303, 19063, [151, 165, 25, 10, 133, 237, 1, 86]);
18987 pub const Level_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(606782761, 52534, 16399, [170, 217, 120, 118, 239, 58, 246, 39]);
18988 pub const ListItem_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2067208178, 17617, 19032, [152, 168, 241, 42, 155, 143, 120, 226]);
18989 pub const List_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2601819873, 31946, 19708, [154, 241, 202, 199, 189, 221, 48, 49]);
18990 pub const LiveRegionChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(271408784, 59049, 16822, [177, 197, 169, 177, 146, 157, 149, 16]);
18991 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
18992 #[repr(transparent)]
18993 pub struct LiveSetting(pub i32);
18994 pub const Off: LiveSetting = LiveSetting(0i32);
18995 pub const Polite: LiveSetting = LiveSetting(1i32);
18996 pub const Assertive: LiveSetting = LiveSetting(2i32);
18997 impl ::std::convert::From<i32> for LiveSetting {
18998     fn from(value: i32) -> Self {
18999         Self(value)
19000     }
19001 }
19002 unsafe impl ::windows::runtime::Abi for LiveSetting {
19003     type Abi = Self;
19004     type DefaultType = Self;
19005 }
19006 pub const LiveSetting_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3240873358, 10894, 18768, [138, 231, 54, 37, 17, 29, 88, 235]);
19007 pub const LocalizedControlType_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2271428687, 41405, 17706, [137, 196, 63, 1, 211, 131, 56, 6]);
19008 pub const LocalizedLandmarkType_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2059934080, 60155, 20402, [191, 145, 244, 133, 190, 245, 232, 225]);
19009 #[cfg(feature = "Win32_Foundation")]
19010 #[inline]
19011 pub unsafe fn LresultFromObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(riid: *const ::windows::runtime::GUID, wparam: Param1, punk: Param2) -> super::super::Foundation::LRESULT {
19012     #[cfg(windows)]
19013     {
19014         #[link(name = "windows")]
19015         extern "system" {
19016             fn LresultFromObject(riid: *const ::windows::runtime::GUID, wparam: super::super::Foundation::WPARAM, punk: ::windows::runtime::RawPtr) -> super::super::Foundation::LRESULT;
19017         }
19018         ::std::mem::transmute(LresultFromObject(::std::mem::transmute(riid), wparam.into_param().abi(), punk.into_param().abi()))
19019     }
19020     #[cfg(not(windows))]
19021     unimplemented!("Unsupported target OS");
19022 }
19023 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19024 #[repr(C)]
19025 pub struct MOUSEKEYS {
19026     pub cbSize: u32,
19027     pub dwFlags: u32,
19028     pub iMaxSpeed: u32,
19029     pub iTimeToMaxSpeed: u32,
19030     pub iCtrlSpeed: u32,
19031     pub dwReserved1: u32,
19032     pub dwReserved2: u32,
19033 }
19034 impl MOUSEKEYS {}
19035 impl ::std::default::Default for MOUSEKEYS {
19036     fn default() -> Self {
19037         unsafe { ::std::mem::zeroed() }
19038     }
19039 }
19040 impl ::std::fmt::Debug for MOUSEKEYS {
19041     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19042         fmt.debug_struct("MOUSEKEYS")
19043             .field("cbSize", &self.cbSize)
19044             .field("dwFlags", &self.dwFlags)
19045             .field("iMaxSpeed", &self.iMaxSpeed)
19046             .field("iTimeToMaxSpeed", &self.iTimeToMaxSpeed)
19047             .field("iCtrlSpeed", &self.iCtrlSpeed)
19048             .field("dwReserved1", &self.dwReserved1)
19049             .field("dwReserved2", &self.dwReserved2)
19050             .finish()
19051     }
19052 }
19053 impl ::std::cmp::PartialEq for MOUSEKEYS {
19054     fn eq(&self, other: &Self) -> bool {
19055         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.iMaxSpeed == other.iMaxSpeed && self.iTimeToMaxSpeed == other.iTimeToMaxSpeed && self.iCtrlSpeed == other.iCtrlSpeed && self.dwReserved1 == other.dwReserved1 && self.dwReserved2 == other.dwReserved2
19056     }
19057 }
19058 impl ::std::cmp::Eq for MOUSEKEYS {}
19059 unsafe impl ::windows::runtime::Abi for MOUSEKEYS {
19060     type Abi = Self;
19061     type DefaultType = Self;
19062 }
19063 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19064 #[repr(C)]
19065 #[cfg(feature = "Win32_Foundation")]
19066 pub struct MSAAMENUINFO {
19067     pub dwMSAASignature: u32,
19068     pub cchWText: u32,
19069     pub pszWText: super::super::Foundation::PWSTR,
19070 }
19071 #[cfg(feature = "Win32_Foundation")]
19072 impl MSAAMENUINFO {}
19073 #[cfg(feature = "Win32_Foundation")]
19074 impl ::std::default::Default for MSAAMENUINFO {
19075     fn default() -> Self {
19076         unsafe { ::std::mem::zeroed() }
19077     }
19078 }
19079 #[cfg(feature = "Win32_Foundation")]
19080 impl ::std::fmt::Debug for MSAAMENUINFO {
19081     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19082         fmt.debug_struct("MSAAMENUINFO").field("dwMSAASignature", &self.dwMSAASignature).field("cchWText", &self.cchWText).field("pszWText", &self.pszWText).finish()
19083     }
19084 }
19085 #[cfg(feature = "Win32_Foundation")]
19086 impl ::std::cmp::PartialEq for MSAAMENUINFO {
19087     fn eq(&self, other: &Self) -> bool {
19088         self.dwMSAASignature == other.dwMSAASignature && self.cchWText == other.cchWText && self.pszWText == other.pszWText
19089     }
19090 }
19091 #[cfg(feature = "Win32_Foundation")]
19092 impl ::std::cmp::Eq for MSAAMENUINFO {}
19093 #[cfg(feature = "Win32_Foundation")]
19094 unsafe impl ::windows::runtime::Abi for MSAAMENUINFO {
19095     type Abi = Self;
19096     type DefaultType = Self;
19097 }
19098 pub const MSAA_MENU_SIG: i32 = -1441927155i32;
19099 pub const MenuBar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3426239056, 3707, 19176, [149, 174, 160, 143, 38, 27, 82, 238]);
19100 pub const MenuClosed_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1022436974, 5506, 16449, [172, 215, 136, 163, 90, 150, 82, 151]);
19101 pub const MenuItem_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4099024339, 53408, 18904, [152, 52, 154, 0, 13, 42, 237, 220]);
19102 pub const MenuModeEnd_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2664254623, 32989, 18360, [130, 103, 90, 236, 6, 187, 44, 255]);
19103 pub const MenuModeStart_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(416794161, 5738, 19145, [174, 59, 239, 75, 84, 32, 230, 129]);
19104 pub const MenuOpened_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3957516613, 26314, 20177, [159, 248, 42, 215, 223, 10, 27, 8]);
19105 pub const Menu_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(781915200, 3752, 16893, [179, 116, 193, 234, 111, 80, 60, 209]);
19106 #[cfg(feature = "Win32_Foundation")]
19107 #[inline]
19108 pub unsafe fn MultipleViewPattern_GetViewName<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, viewid: i32, ppstr: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
19109     #[cfg(windows)]
19110     {
19111         #[link(name = "windows")]
19112         extern "system" {
19113             fn MultipleViewPattern_GetViewName(hobj: HUIAPATTERNOBJECT, viewid: i32, ppstr: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT;
19114         }
19115         MultipleViewPattern_GetViewName(hobj.into_param().abi(), ::std::mem::transmute(viewid), ::std::mem::transmute(ppstr)).ok()
19116     }
19117     #[cfg(not(windows))]
19118     unimplemented!("Unsupported target OS");
19119 }
19120 #[inline]
19121 pub unsafe fn MultipleViewPattern_SetCurrentView<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, viewid: i32) -> ::windows::runtime::Result<()> {
19122     #[cfg(windows)]
19123     {
19124         #[link(name = "windows")]
19125         extern "system" {
19126             fn MultipleViewPattern_SetCurrentView(hobj: HUIAPATTERNOBJECT, viewid: i32) -> ::windows::runtime::HRESULT;
19127         }
19128         MultipleViewPattern_SetCurrentView(hobj.into_param().abi(), ::std::mem::transmute(viewid)).ok()
19129     }
19130     #[cfg(not(windows))]
19131     unimplemented!("Unsupported target OS");
19132 }
19133 pub const MultipleView_CurrentView_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2055317114, 47439, 18549, [145, 139, 101, 200, 210, 249, 152, 229]);
19134 pub const MultipleView_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1417308900, 4415, 18372, [133, 15, 219, 77, 250, 70, 107, 29]);
19135 pub const MultipleView_SupportedViews_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2371729917, 52796, 19175, [183, 136, 64, 10, 60, 100, 85, 71]);
19136 pub const NAVDIR_DOWN: u32 = 2u32;
19137 pub const NAVDIR_FIRSTCHILD: u32 = 7u32;
19138 pub const NAVDIR_LASTCHILD: u32 = 8u32;
19139 pub const NAVDIR_LEFT: u32 = 3u32;
19140 pub const NAVDIR_MAX: u32 = 9u32;
19141 pub const NAVDIR_MIN: u32 = 0u32;
19142 pub const NAVDIR_NEXT: u32 = 5u32;
19143 pub const NAVDIR_PREVIOUS: u32 = 6u32;
19144 pub const NAVDIR_RIGHT: u32 = 4u32;
19145 pub const NAVDIR_UP: u32 = 1u32;
19146 pub const Name_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3282473499, 19097, 17649, [188, 166, 97, 24, 112, 82, 196, 49]);
19147 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19148 #[repr(transparent)]
19149 pub struct NavigateDirection(pub i32);
19150 pub const NavigateDirection_Parent: NavigateDirection = NavigateDirection(0i32);
19151 pub const NavigateDirection_NextSibling: NavigateDirection = NavigateDirection(1i32);
19152 pub const NavigateDirection_PreviousSibling: NavigateDirection = NavigateDirection(2i32);
19153 pub const NavigateDirection_FirstChild: NavigateDirection = NavigateDirection(3i32);
19154 pub const NavigateDirection_LastChild: NavigateDirection = NavigateDirection(4i32);
19155 impl ::std::convert::From<i32> for NavigateDirection {
19156     fn from(value: i32) -> Self {
19157         Self(value)
19158     }
19159 }
19160 unsafe impl ::windows::runtime::Abi for NavigateDirection {
19161     type Abi = Self;
19162     type DefaultType = Self;
19163 }
19164 pub const NewNativeWindowHandle_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1368830779, 14346, 18818, [149, 225, 145, 243, 239, 96, 224, 36]);
19165 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19166 #[repr(transparent)]
19167 pub struct NormalizeState(pub i32);
19168 pub const NormalizeState_None: NormalizeState = NormalizeState(0i32);
19169 pub const NormalizeState_View: NormalizeState = NormalizeState(1i32);
19170 pub const NormalizeState_Custom: NormalizeState = NormalizeState(2i32);
19171 impl ::std::convert::From<i32> for NormalizeState {
19172     fn from(value: i32) -> Self {
19173         Self(value)
19174     }
19175 }
19176 unsafe impl ::windows::runtime::Abi for NormalizeState {
19177     type Abi = Self;
19178     type DefaultType = Self;
19179 }
19180 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19181 #[repr(transparent)]
19182 pub struct NotificationKind(pub i32);
19183 pub const NotificationKind_ItemAdded: NotificationKind = NotificationKind(0i32);
19184 pub const NotificationKind_ItemRemoved: NotificationKind = NotificationKind(1i32);
19185 pub const NotificationKind_ActionCompleted: NotificationKind = NotificationKind(2i32);
19186 pub const NotificationKind_ActionAborted: NotificationKind = NotificationKind(3i32);
19187 pub const NotificationKind_Other: NotificationKind = NotificationKind(4i32);
19188 impl ::std::convert::From<i32> for NotificationKind {
19189     fn from(value: i32) -> Self {
19190         Self(value)
19191     }
19192 }
19193 unsafe impl ::windows::runtime::Abi for NotificationKind {
19194     type Abi = Self;
19195     type DefaultType = Self;
19196 }
19197 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19198 #[repr(transparent)]
19199 pub struct NotificationProcessing(pub i32);
19200 pub const NotificationProcessing_ImportantAll: NotificationProcessing = NotificationProcessing(0i32);
19201 pub const NotificationProcessing_ImportantMostRecent: NotificationProcessing = NotificationProcessing(1i32);
19202 pub const NotificationProcessing_All: NotificationProcessing = NotificationProcessing(2i32);
19203 pub const NotificationProcessing_MostRecent: NotificationProcessing = NotificationProcessing(3i32);
19204 pub const NotificationProcessing_CurrentThenMostRecent: NotificationProcessing = NotificationProcessing(4i32);
19205 impl ::std::convert::From<i32> for NotificationProcessing {
19206     fn from(value: i32) -> Self {
19207         Self(value)
19208     }
19209 }
19210 unsafe impl ::windows::runtime::Abi for NotificationProcessing {
19211     type Abi = Self;
19212     type DefaultType = Self;
19213 }
19214 pub const Notification_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1925554935, 38792, 18447, [184, 235, 77, 238, 0, 246, 24, 111]);
19215 #[cfg(feature = "Win32_Foundation")]
19216 #[inline]
19217 pub unsafe fn NotifyWinEvent<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(event: u32, hwnd: Param1, idobject: i32, idchild: i32) {
19218     #[cfg(windows)]
19219     {
19220         #[link(name = "windows")]
19221         extern "system" {
19222             fn NotifyWinEvent(event: u32, hwnd: super::super::Foundation::HWND, idobject: i32, idchild: i32);
19223         }
19224         ::std::mem::transmute(NotifyWinEvent(::std::mem::transmute(event), hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild)))
19225     }
19226     #[cfg(not(windows))]
19227     unimplemented!("Unsupported target OS");
19228 }
19229 #[cfg(feature = "Win32_Foundation")]
19230 #[inline]
19231 pub unsafe fn ObjectFromLresult<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::LRESULT>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>>(lresult: Param0, riid: *const ::windows::runtime::GUID, wparam: Param2, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
19232     #[cfg(windows)]
19233     {
19234         #[link(name = "windows")]
19235         extern "system" {
19236             fn ObjectFromLresult(lresult: super::super::Foundation::LRESULT, riid: *const ::windows::runtime::GUID, wparam: super::super::Foundation::WPARAM, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
19237         }
19238         ObjectFromLresult(lresult.into_param().abi(), ::std::mem::transmute(riid), wparam.into_param().abi(), ::std::mem::transmute(ppvobject)).ok()
19239     }
19240     #[cfg(not(windows))]
19241     unimplemented!("Unsupported target OS");
19242 }
19243 pub const ObjectModel_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1040493822, 2300, 18412, [150, 188, 53, 63, 163, 179, 74, 167]);
19244 pub const OptimizeForVisualContent_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1787109968, 51034, 20061, [184, 88, 227, 129, 176, 247, 136, 97]);
19245 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19246 #[repr(transparent)]
19247 pub struct OrientationType(pub i32);
19248 pub const OrientationType_None: OrientationType = OrientationType(0i32);
19249 pub const OrientationType_Horizontal: OrientationType = OrientationType(1i32);
19250 pub const OrientationType_Vertical: OrientationType = OrientationType(2i32);
19251 impl ::std::convert::From<i32> for OrientationType {
19252     fn from(value: i32) -> Self {
19253         Self(value)
19254     }
19255 }
19256 unsafe impl ::windows::runtime::Abi for OrientationType {
19257     type Abi = Self;
19258     type DefaultType = Self;
19259 }
19260 pub const Orientation_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2686381666, 14468, 17429, [136, 126, 103, 142, 194, 30, 57, 186]);
19261 pub const OutlineColor_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3281376960, 19285, 18274, [160, 115, 253, 48, 58, 99, 79, 82]);
19262 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19263 #[repr(transparent)]
19264 pub struct OutlineStyles(pub i32);
19265 pub const OutlineStyles_None: OutlineStyles = OutlineStyles(0i32);
19266 pub const OutlineStyles_Outline: OutlineStyles = OutlineStyles(1i32);
19267 pub const OutlineStyles_Shadow: OutlineStyles = OutlineStyles(2i32);
19268 pub const OutlineStyles_Engraved: OutlineStyles = OutlineStyles(4i32);
19269 pub const OutlineStyles_Embossed: OutlineStyles = OutlineStyles(8i32);
19270 impl ::std::convert::From<i32> for OutlineStyles {
19271     fn from(value: i32) -> Self {
19272         Self(value)
19273     }
19274 }
19275 unsafe impl ::windows::runtime::Abi for OutlineStyles {
19276     type Abi = Self;
19277     type DefaultType = Self;
19278 }
19279 pub const OutlineThickness_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(333872327, 56002, 18568, [189, 211, 55, 92, 98, 250, 150, 24]);
19280 pub const PROPID_ACC_DEFAULTACTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(403441451, 49791, 17351, [153, 34, 246, 53, 98, 164, 99, 43]);
19281 pub const PROPID_ACC_DESCRIPTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1296621540, 48447, 18719, [166, 72, 73, 45, 111, 32, 197, 136]);
19282 pub const PROPID_ACC_DESCRIPTIONMAP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(535905119, 35348, 18299, [178, 38, 160, 171, 226, 121, 151, 93]);
19283 pub const PROPID_ACC_DODEFAULTACTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(463508771, 11835, 18854, [160, 89, 89, 104, 42, 60, 72, 253]);
19284 pub const PROPID_ACC_FOCUS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1857238495, 7209, 16679, [177, 44, 222, 233, 253, 21, 127, 43]);
19285 pub const PROPID_ACC_HELP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3358712095, 17627, 19097, [151, 104, 203, 143, 151, 139, 114, 49]);
19286 pub const PROPID_ACC_HELPTOPIC: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2021462905, 36574, 17419, [138, 236, 17, 247, 191, 144, 48, 179]);
19287 pub const PROPID_ACC_KEYBOARDSHORTCUT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2107363054, 32030, 18809, [147, 130, 81, 128, 244, 23, 44, 52]);
19288 pub const PROPID_ACC_NAME: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1619869176, 33064, 19111, [164, 40, 245, 94, 73, 38, 114, 145]);
19289 pub const PROPID_ACC_NAV_DOWN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(51802349, 15583, 18642, [150, 19, 19, 143, 45, 216, 166, 104]);
19290 pub const PROPID_ACC_NAV_FIRSTCHILD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3486524760, 21883, 19559, [132, 249, 42, 9, 252, 228, 7, 73]);
19291 pub const PROPID_ACC_NAV_LASTCHILD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(808372901, 18645, 20365, [182, 113, 26, 141, 32, 167, 120, 50]);
19292 pub const PROPID_ACC_NAV_LEFT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(578848459, 33521, 19001, [135, 5, 220, 220, 15, 255, 146, 245]);
19293 pub const PROPID_ACC_NAV_NEXT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(484201557, 36057, 19602, [163, 113, 57, 57, 162, 254, 62, 238]);
19294 pub const PROPID_ACC_NAV_PREV: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2003646609, 51003, 17536, [179, 246, 7, 106, 22, 161, 90, 246]);
19295 pub const PROPID_ACC_NAV_RIGHT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3441499551, 57803, 20453, [167, 124, 146, 11, 136, 77, 9, 91]);
19296 pub const PROPID_ACC_NAV_UP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(23992875, 6734, 18279, [134, 18, 51, 134, 246, 105, 53, 236]);
19297 pub const PROPID_ACC_PARENT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1196171958, 65474, 18042, [177, 181, 233, 88, 180, 101, 115, 48]);
19298 pub const PROPID_ACC_ROLE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3415236594, 31697, 19461, [179, 200, 230, 194, 65, 54, 77, 112]);
19299 pub const PROPID_ACC_ROLEMAP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4154117538, 5133, 20454, [137, 20, 32, 132, 118, 50, 130, 105]);
19300 pub const PROPID_ACC_SELECTION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3114075964, 55089, 16475, [144, 97, 217, 94, 143, 132, 41, 132]);
19301 pub const PROPID_ACC_STATE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2832520624, 2593, 17104, [165, 192, 81, 78, 152, 79, 69, 123]);
19302 pub const PROPID_ACC_STATEMAP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1133800542, 2752, 16450, [181, 37, 7, 187, 219, 225, 127, 167]);
19303 pub const PROPID_ACC_VALUE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(306177091, 8474, 17941, [149, 39, 196, 90, 126, 147, 113, 122]);
19304 pub const PROPID_ACC_VALUEMAP: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3659283833, 64604, 16910, [179, 153, 157, 21, 51, 84, 158, 117]);
19305 pub const Pane_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1546338139, 37250, 17059, [141, 236, 140, 4, 193, 238, 99, 77]);
19306 pub const PositionInSet_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(869391444, 25630, 19830, [166, 177, 19, 243, 65, 193, 248, 150]);
19307 pub const ProcessId_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1078565272, 39985, 16965, [164, 3, 135, 50, 14, 89, 234, 246]);
19308 pub const ProgressBar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(579641222, 50028, 18363, [159, 182, 165, 131, 75, 252, 83, 164]);
19309 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19310 #[repr(transparent)]
19311 pub struct PropertyConditionFlags(pub i32);
19312 pub const PropertyConditionFlags_None: PropertyConditionFlags = PropertyConditionFlags(0i32);
19313 pub const PropertyConditionFlags_IgnoreCase: PropertyConditionFlags = PropertyConditionFlags(1i32);
19314 pub const PropertyConditionFlags_MatchSubstring: PropertyConditionFlags = PropertyConditionFlags(2i32);
19315 impl ::std::convert::From<i32> for PropertyConditionFlags {
19316     fn from(value: i32) -> Self {
19317         Self(value)
19318     }
19319 }
19320 unsafe impl ::windows::runtime::Abi for PropertyConditionFlags {
19321     type Abi = Self;
19322     type DefaultType = Self;
19323 }
19324 pub const ProviderDescription_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3701829770, 49515, 19673, [184, 137, 190, 177, 106, 128, 73, 4]);
19325 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19326 #[repr(transparent)]
19327 pub struct ProviderOptions(pub i32);
19328 pub const ProviderOptions_ClientSideProvider: ProviderOptions = ProviderOptions(1i32);
19329 pub const ProviderOptions_ServerSideProvider: ProviderOptions = ProviderOptions(2i32);
19330 pub const ProviderOptions_NonClientAreaProvider: ProviderOptions = ProviderOptions(4i32);
19331 pub const ProviderOptions_OverrideProvider: ProviderOptions = ProviderOptions(8i32);
19332 pub const ProviderOptions_ProviderOwnsSetFocus: ProviderOptions = ProviderOptions(16i32);
19333 pub const ProviderOptions_UseComThreading: ProviderOptions = ProviderOptions(32i32);
19334 pub const ProviderOptions_RefuseNonClientSupport: ProviderOptions = ProviderOptions(64i32);
19335 pub const ProviderOptions_HasNativeIAccessible: ProviderOptions = ProviderOptions(128i32);
19336 pub const ProviderOptions_UseClientCoordinates: ProviderOptions = ProviderOptions(256i32);
19337 impl ::std::convert::From<i32> for ProviderOptions {
19338     fn from(value: i32) -> Self {
19339         Self(value)
19340     }
19341 }
19342 unsafe impl ::windows::runtime::Abi for ProviderOptions {
19343     type Abi = Self;
19344     type DefaultType = Self;
19345 }
19346 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19347 #[repr(transparent)]
19348 pub struct ProviderType(pub i32);
19349 pub const ProviderType_BaseHwnd: ProviderType = ProviderType(0i32);
19350 pub const ProviderType_Proxy: ProviderType = ProviderType(1i32);
19351 pub const ProviderType_NonClientArea: ProviderType = ProviderType(2i32);
19352 impl ::std::convert::From<i32> for ProviderType {
19353     fn from(value: i32) -> Self {
19354         Self(value)
19355     }
19356 }
19357 unsafe impl ::windows::runtime::Abi for ProviderType {
19358     type Abi = Self;
19359     type DefaultType = Self;
19360 }
19361 pub const ROLE_SYSTEM_ALERT: u32 = 8u32;
19362 pub const ROLE_SYSTEM_ANIMATION: u32 = 54u32;
19363 pub const ROLE_SYSTEM_APPLICATION: u32 = 14u32;
19364 pub const ROLE_SYSTEM_BORDER: u32 = 19u32;
19365 pub const ROLE_SYSTEM_BUTTONDROPDOWN: u32 = 56u32;
19366 pub const ROLE_SYSTEM_BUTTONDROPDOWNGRID: u32 = 58u32;
19367 pub const ROLE_SYSTEM_BUTTONMENU: u32 = 57u32;
19368 pub const ROLE_SYSTEM_CARET: u32 = 7u32;
19369 pub const ROLE_SYSTEM_CELL: u32 = 29u32;
19370 pub const ROLE_SYSTEM_CHARACTER: u32 = 32u32;
19371 pub const ROLE_SYSTEM_CHART: u32 = 17u32;
19372 pub const ROLE_SYSTEM_CHECKBUTTON: u32 = 44u32;
19373 pub const ROLE_SYSTEM_CLIENT: u32 = 10u32;
19374 pub const ROLE_SYSTEM_CLOCK: u32 = 61u32;
19375 pub const ROLE_SYSTEM_COLUMN: u32 = 27u32;
19376 pub const ROLE_SYSTEM_COLUMNHEADER: u32 = 25u32;
19377 pub const ROLE_SYSTEM_COMBOBOX: u32 = 46u32;
19378 pub const ROLE_SYSTEM_CURSOR: u32 = 6u32;
19379 pub const ROLE_SYSTEM_DIAGRAM: u32 = 53u32;
19380 pub const ROLE_SYSTEM_DIAL: u32 = 49u32;
19381 pub const ROLE_SYSTEM_DIALOG: u32 = 18u32;
19382 pub const ROLE_SYSTEM_DOCUMENT: u32 = 15u32;
19383 pub const ROLE_SYSTEM_DROPLIST: u32 = 47u32;
19384 pub const ROLE_SYSTEM_EQUATION: u32 = 55u32;
19385 pub const ROLE_SYSTEM_GRAPHIC: u32 = 40u32;
19386 pub const ROLE_SYSTEM_GRIP: u32 = 4u32;
19387 pub const ROLE_SYSTEM_GROUPING: u32 = 20u32;
19388 pub const ROLE_SYSTEM_HELPBALLOON: u32 = 31u32;
19389 pub const ROLE_SYSTEM_HOTKEYFIELD: u32 = 50u32;
19390 pub const ROLE_SYSTEM_INDICATOR: u32 = 39u32;
19391 pub const ROLE_SYSTEM_IPADDRESS: u32 = 63u32;
19392 pub const ROLE_SYSTEM_LINK: u32 = 30u32;
19393 pub const ROLE_SYSTEM_LIST: u32 = 33u32;
19394 pub const ROLE_SYSTEM_LISTITEM: u32 = 34u32;
19395 pub const ROLE_SYSTEM_MENUBAR: u32 = 2u32;
19396 pub const ROLE_SYSTEM_MENUITEM: u32 = 12u32;
19397 pub const ROLE_SYSTEM_MENUPOPUP: u32 = 11u32;
19398 pub const ROLE_SYSTEM_OUTLINE: u32 = 35u32;
19399 pub const ROLE_SYSTEM_OUTLINEBUTTON: u32 = 64u32;
19400 pub const ROLE_SYSTEM_OUTLINEITEM: u32 = 36u32;
19401 pub const ROLE_SYSTEM_PAGETAB: u32 = 37u32;
19402 pub const ROLE_SYSTEM_PAGETABLIST: u32 = 60u32;
19403 pub const ROLE_SYSTEM_PANE: u32 = 16u32;
19404 pub const ROLE_SYSTEM_PROGRESSBAR: u32 = 48u32;
19405 pub const ROLE_SYSTEM_PROPERTYPAGE: u32 = 38u32;
19406 pub const ROLE_SYSTEM_PUSHBUTTON: u32 = 43u32;
19407 pub const ROLE_SYSTEM_RADIOBUTTON: u32 = 45u32;
19408 pub const ROLE_SYSTEM_ROW: u32 = 28u32;
19409 pub const ROLE_SYSTEM_ROWHEADER: u32 = 26u32;
19410 pub const ROLE_SYSTEM_SCROLLBAR: u32 = 3u32;
19411 pub const ROLE_SYSTEM_SEPARATOR: u32 = 21u32;
19412 pub const ROLE_SYSTEM_SLIDER: u32 = 51u32;
19413 pub const ROLE_SYSTEM_SOUND: u32 = 5u32;
19414 pub const ROLE_SYSTEM_SPINBUTTON: u32 = 52u32;
19415 pub const ROLE_SYSTEM_SPLITBUTTON: u32 = 62u32;
19416 pub const ROLE_SYSTEM_STATICTEXT: u32 = 41u32;
19417 pub const ROLE_SYSTEM_STATUSBAR: u32 = 23u32;
19418 pub const ROLE_SYSTEM_TABLE: u32 = 24u32;
19419 pub const ROLE_SYSTEM_TEXT: u32 = 42u32;
19420 pub const ROLE_SYSTEM_TITLEBAR: u32 = 1u32;
19421 pub const ROLE_SYSTEM_TOOLBAR: u32 = 22u32;
19422 pub const ROLE_SYSTEM_TOOLTIP: u32 = 13u32;
19423 pub const ROLE_SYSTEM_WHITESPACE: u32 = 59u32;
19424 pub const ROLE_SYSTEM_WINDOW: u32 = 9u32;
19425 pub const RadioButton_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1004227035, 65068, 17539, [179, 225, 229, 127, 33, 148, 64, 198]);
19426 #[inline]
19427 pub unsafe fn RangeValuePattern_SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, val: f64) -> ::windows::runtime::Result<()> {
19428     #[cfg(windows)]
19429     {
19430         #[link(name = "windows")]
19431         extern "system" {
19432             fn RangeValuePattern_SetValue(hobj: HUIAPATTERNOBJECT, val: f64) -> ::windows::runtime::HRESULT;
19433         }
19434         RangeValuePattern_SetValue(hobj.into_param().abi(), ::std::mem::transmute(val)).ok()
19435     }
19436     #[cfg(not(windows))]
19437     unimplemented!("Unsupported target OS");
19438 }
19439 pub const RangeValue_IsReadOnly_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(637145173, 57023, 17267, [167, 158, 31, 26, 25, 8, 211, 196]);
19440 pub const RangeValue_LargeChange_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2717475621, 14909, 19268, [142, 31, 74, 70, 217, 132, 64, 25]);
19441 pub const RangeValue_Maximum_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(422680852, 63865, 19253, [161, 166, 211, 126, 5, 67, 52, 115]);
19442 pub const RangeValue_Minimum_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2026623922, 26701, 18528, [175, 147, 209, 249, 92, 176, 34, 253]);
19443 pub const RangeValue_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(414190983, 45513, 18282, [191, 189, 95, 11, 219, 146, 111, 99]);
19444 pub const RangeValue_SmallChange_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2177025111, 14657, 16647, [153, 117, 19, 151, 96, 247, 192, 114]);
19445 pub const RangeValue_Value_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(320822680, 50444, 18589, [171, 229, 174, 34, 8, 152, 197, 247]);
19446 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
19447 #[inline]
19448 pub unsafe fn RegisterPointerInputTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE) -> super::super::Foundation::BOOL {
19449     #[cfg(windows)]
19450     {
19451         #[link(name = "windows")]
19452         extern "system" {
19453             fn RegisterPointerInputTarget(hwnd: super::super::Foundation::HWND, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE) -> super::super::Foundation::BOOL;
19454         }
19455         ::std::mem::transmute(RegisterPointerInputTarget(hwnd.into_param().abi(), ::std::mem::transmute(pointertype)))
19456     }
19457     #[cfg(not(windows))]
19458     unimplemented!("Unsupported target OS");
19459 }
19460 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
19461 #[inline]
19462 pub unsafe fn RegisterPointerInputTargetEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hwnd: Param0, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE, fobserve: Param2) -> super::super::Foundation::BOOL {
19463     #[cfg(windows)]
19464     {
19465         #[link(name = "windows")]
19466         extern "system" {
19467             fn RegisterPointerInputTargetEx(hwnd: super::super::Foundation::HWND, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE, fobserve: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
19468         }
19469         ::std::mem::transmute(RegisterPointerInputTargetEx(hwnd.into_param().abi(), ::std::mem::transmute(pointertype), fobserve.into_param().abi()))
19470     }
19471     #[cfg(not(windows))]
19472     unimplemented!("Unsupported target OS");
19473 }
19474 pub const Rotation_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1987894397, 44736, 16656, [173, 50, 48, 237, 212, 3, 73, 46]);
19475 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19476 #[repr(transparent)]
19477 pub struct RowOrColumnMajor(pub i32);
19478 pub const RowOrColumnMajor_RowMajor: RowOrColumnMajor = RowOrColumnMajor(0i32);
19479 pub const RowOrColumnMajor_ColumnMajor: RowOrColumnMajor = RowOrColumnMajor(1i32);
19480 pub const RowOrColumnMajor_Indeterminate: RowOrColumnMajor = RowOrColumnMajor(2i32);
19481 impl ::std::convert::From<i32> for RowOrColumnMajor {
19482     fn from(value: i32) -> Self {
19483         Self(value)
19484     }
19485 }
19486 unsafe impl ::windows::runtime::Abi for RowOrColumnMajor {
19487     type Abi = Self;
19488     type DefaultType = Self;
19489 }
19490 pub const RuntimeId_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2745101306, 32698, 19593, [180, 212, 185, 158, 45, 231, 209, 96]);
19491 pub const SELFLAG_ADDSELECTION: u32 = 8u32;
19492 pub const SELFLAG_EXTENDSELECTION: u32 = 4u32;
19493 pub const SELFLAG_NONE: u32 = 0u32;
19494 pub const SELFLAG_REMOVESELECTION: u32 = 16u32;
19495 pub const SELFLAG_TAKEFOCUS: u32 = 1u32;
19496 pub const SELFLAG_TAKESELECTION: u32 = 2u32;
19497 pub const SELFLAG_VALID: u32 = 31u32;
19498 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19499 #[repr(C)]
19500 #[cfg(feature = "Win32_Foundation")]
19501 pub struct SERIALKEYSA {
19502     pub cbSize: u32,
19503     pub dwFlags: SERIALKEYS_FLAGS,
19504     pub lpszActivePort: super::super::Foundation::PSTR,
19505     pub lpszPort: super::super::Foundation::PSTR,
19506     pub iBaudRate: u32,
19507     pub iPortState: u32,
19508     pub iActive: u32,
19509 }
19510 #[cfg(feature = "Win32_Foundation")]
19511 impl SERIALKEYSA {}
19512 #[cfg(feature = "Win32_Foundation")]
19513 impl ::std::default::Default for SERIALKEYSA {
19514     fn default() -> Self {
19515         unsafe { ::std::mem::zeroed() }
19516     }
19517 }
19518 #[cfg(feature = "Win32_Foundation")]
19519 impl ::std::fmt::Debug for SERIALKEYSA {
19520     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19521         fmt.debug_struct("SERIALKEYSA").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).field("lpszActivePort", &self.lpszActivePort).field("lpszPort", &self.lpszPort).field("iBaudRate", &self.iBaudRate).field("iPortState", &self.iPortState).field("iActive", &self.iActive).finish()
19522     }
19523 }
19524 #[cfg(feature = "Win32_Foundation")]
19525 impl ::std::cmp::PartialEq for SERIALKEYSA {
19526     fn eq(&self, other: &Self) -> bool {
19527         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.lpszActivePort == other.lpszActivePort && self.lpszPort == other.lpszPort && self.iBaudRate == other.iBaudRate && self.iPortState == other.iPortState && self.iActive == other.iActive
19528     }
19529 }
19530 #[cfg(feature = "Win32_Foundation")]
19531 impl ::std::cmp::Eq for SERIALKEYSA {}
19532 #[cfg(feature = "Win32_Foundation")]
19533 unsafe impl ::windows::runtime::Abi for SERIALKEYSA {
19534     type Abi = Self;
19535     type DefaultType = Self;
19536 }
19537 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19538 #[repr(C)]
19539 #[cfg(feature = "Win32_Foundation")]
19540 pub struct SERIALKEYSW {
19541     pub cbSize: u32,
19542     pub dwFlags: SERIALKEYS_FLAGS,
19543     pub lpszActivePort: super::super::Foundation::PWSTR,
19544     pub lpszPort: super::super::Foundation::PWSTR,
19545     pub iBaudRate: u32,
19546     pub iPortState: u32,
19547     pub iActive: u32,
19548 }
19549 #[cfg(feature = "Win32_Foundation")]
19550 impl SERIALKEYSW {}
19551 #[cfg(feature = "Win32_Foundation")]
19552 impl ::std::default::Default for SERIALKEYSW {
19553     fn default() -> Self {
19554         unsafe { ::std::mem::zeroed() }
19555     }
19556 }
19557 #[cfg(feature = "Win32_Foundation")]
19558 impl ::std::fmt::Debug for SERIALKEYSW {
19559     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19560         fmt.debug_struct("SERIALKEYSW").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).field("lpszActivePort", &self.lpszActivePort).field("lpszPort", &self.lpszPort).field("iBaudRate", &self.iBaudRate).field("iPortState", &self.iPortState).field("iActive", &self.iActive).finish()
19561     }
19562 }
19563 #[cfg(feature = "Win32_Foundation")]
19564 impl ::std::cmp::PartialEq for SERIALKEYSW {
19565     fn eq(&self, other: &Self) -> bool {
19566         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.lpszActivePort == other.lpszActivePort && self.lpszPort == other.lpszPort && self.iBaudRate == other.iBaudRate && self.iPortState == other.iPortState && self.iActive == other.iActive
19567     }
19568 }
19569 #[cfg(feature = "Win32_Foundation")]
19570 impl ::std::cmp::Eq for SERIALKEYSW {}
19571 #[cfg(feature = "Win32_Foundation")]
19572 unsafe impl ::windows::runtime::Abi for SERIALKEYSW {
19573     type Abi = Self;
19574     type DefaultType = Self;
19575 }
19576 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19577 #[repr(transparent)]
19578 pub struct SERIALKEYS_FLAGS(pub u32);
19579 pub const SERKF_AVAILABLE: SERIALKEYS_FLAGS = SERIALKEYS_FLAGS(2u32);
19580 pub const SERKF_INDICATOR: SERIALKEYS_FLAGS = SERIALKEYS_FLAGS(4u32);
19581 pub const SERKF_SERIALKEYSON: SERIALKEYS_FLAGS = SERIALKEYS_FLAGS(1u32);
19582 impl ::std::convert::From<u32> for SERIALKEYS_FLAGS {
19583     fn from(value: u32) -> Self {
19584         Self(value)
19585     }
19586 }
19587 unsafe impl ::windows::runtime::Abi for SERIALKEYS_FLAGS {
19588     type Abi = Self;
19589     type DefaultType = Self;
19590 }
19591 impl ::std::ops::BitOr for SERIALKEYS_FLAGS {
19592     type Output = Self;
19593     fn bitor(self, rhs: Self) -> Self {
19594         Self(self.0 | rhs.0)
19595     }
19596 }
19597 impl ::std::ops::BitAnd for SERIALKEYS_FLAGS {
19598     type Output = Self;
19599     fn bitand(self, rhs: Self) -> Self {
19600         Self(self.0 & rhs.0)
19601     }
19602 }
19603 impl ::std::ops::BitOrAssign for SERIALKEYS_FLAGS {
19604     fn bitor_assign(&mut self, rhs: Self) {
19605         self.0.bitor_assign(rhs.0)
19606     }
19607 }
19608 impl ::std::ops::BitAndAssign for SERIALKEYS_FLAGS {
19609     fn bitand_assign(&mut self, rhs: Self) {
19610         self.0.bitand_assign(rhs.0)
19611     }
19612 }
19613 impl ::std::ops::Not for SERIALKEYS_FLAGS {
19614     type Output = Self;
19615     fn not(self) -> Self {
19616         Self(self.0.not())
19617     }
19618 }
19619 pub const SID_ControlElementProvider: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4101578088, 57940, 19363, [154, 83, 38, 165, 197, 73, 121, 70]);
19620 pub const SID_IsUIAutomationObject: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3111115653, 29188, 18212, [132, 43, 199, 5, 157, 237, 185, 208]);
19621 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19622 #[repr(C)]
19623 #[cfg(feature = "Win32_Foundation")]
19624 pub struct SOUNDSENTRYA {
19625     pub cbSize: u32,
19626     pub dwFlags: SOUNDSENTRY_FLAGS,
19627     pub iFSTextEffect: SOUNDSENTRY_TEXT_EFFECT,
19628     pub iFSTextEffectMSec: u32,
19629     pub iFSTextEffectColorBits: u32,
19630     pub iFSGrafEffect: SOUND_SENTRY_GRAPHICS_EFFECT,
19631     pub iFSGrafEffectMSec: u32,
19632     pub iFSGrafEffectColor: u32,
19633     pub iWindowsEffect: SOUNDSENTRY_WINDOWS_EFFECT,
19634     pub iWindowsEffectMSec: u32,
19635     pub lpszWindowsEffectDLL: super::super::Foundation::PSTR,
19636     pub iWindowsEffectOrdinal: u32,
19637 }
19638 #[cfg(feature = "Win32_Foundation")]
19639 impl SOUNDSENTRYA {}
19640 #[cfg(feature = "Win32_Foundation")]
19641 impl ::std::default::Default for SOUNDSENTRYA {
19642     fn default() -> Self {
19643         unsafe { ::std::mem::zeroed() }
19644     }
19645 }
19646 #[cfg(feature = "Win32_Foundation")]
19647 impl ::std::fmt::Debug for SOUNDSENTRYA {
19648     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19649         fmt.debug_struct("SOUNDSENTRYA")
19650             .field("cbSize", &self.cbSize)
19651             .field("dwFlags", &self.dwFlags)
19652             .field("iFSTextEffect", &self.iFSTextEffect)
19653             .field("iFSTextEffectMSec", &self.iFSTextEffectMSec)
19654             .field("iFSTextEffectColorBits", &self.iFSTextEffectColorBits)
19655             .field("iFSGrafEffect", &self.iFSGrafEffect)
19656             .field("iFSGrafEffectMSec", &self.iFSGrafEffectMSec)
19657             .field("iFSGrafEffectColor", &self.iFSGrafEffectColor)
19658             .field("iWindowsEffect", &self.iWindowsEffect)
19659             .field("iWindowsEffectMSec", &self.iWindowsEffectMSec)
19660             .field("lpszWindowsEffectDLL", &self.lpszWindowsEffectDLL)
19661             .field("iWindowsEffectOrdinal", &self.iWindowsEffectOrdinal)
19662             .finish()
19663     }
19664 }
19665 #[cfg(feature = "Win32_Foundation")]
19666 impl ::std::cmp::PartialEq for SOUNDSENTRYA {
19667     fn eq(&self, other: &Self) -> bool {
19668         self.cbSize == other.cbSize
19669             && self.dwFlags == other.dwFlags
19670             && self.iFSTextEffect == other.iFSTextEffect
19671             && self.iFSTextEffectMSec == other.iFSTextEffectMSec
19672             && self.iFSTextEffectColorBits == other.iFSTextEffectColorBits
19673             && self.iFSGrafEffect == other.iFSGrafEffect
19674             && self.iFSGrafEffectMSec == other.iFSGrafEffectMSec
19675             && self.iFSGrafEffectColor == other.iFSGrafEffectColor
19676             && self.iWindowsEffect == other.iWindowsEffect
19677             && self.iWindowsEffectMSec == other.iWindowsEffectMSec
19678             && self.lpszWindowsEffectDLL == other.lpszWindowsEffectDLL
19679             && self.iWindowsEffectOrdinal == other.iWindowsEffectOrdinal
19680     }
19681 }
19682 #[cfg(feature = "Win32_Foundation")]
19683 impl ::std::cmp::Eq for SOUNDSENTRYA {}
19684 #[cfg(feature = "Win32_Foundation")]
19685 unsafe impl ::windows::runtime::Abi for SOUNDSENTRYA {
19686     type Abi = Self;
19687     type DefaultType = Self;
19688 }
19689 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19690 #[repr(C)]
19691 #[cfg(feature = "Win32_Foundation")]
19692 pub struct SOUNDSENTRYW {
19693     pub cbSize: u32,
19694     pub dwFlags: SOUNDSENTRY_FLAGS,
19695     pub iFSTextEffect: SOUNDSENTRY_TEXT_EFFECT,
19696     pub iFSTextEffectMSec: u32,
19697     pub iFSTextEffectColorBits: u32,
19698     pub iFSGrafEffect: SOUND_SENTRY_GRAPHICS_EFFECT,
19699     pub iFSGrafEffectMSec: u32,
19700     pub iFSGrafEffectColor: u32,
19701     pub iWindowsEffect: SOUNDSENTRY_WINDOWS_EFFECT,
19702     pub iWindowsEffectMSec: u32,
19703     pub lpszWindowsEffectDLL: super::super::Foundation::PWSTR,
19704     pub iWindowsEffectOrdinal: u32,
19705 }
19706 #[cfg(feature = "Win32_Foundation")]
19707 impl SOUNDSENTRYW {}
19708 #[cfg(feature = "Win32_Foundation")]
19709 impl ::std::default::Default for SOUNDSENTRYW {
19710     fn default() -> Self {
19711         unsafe { ::std::mem::zeroed() }
19712     }
19713 }
19714 #[cfg(feature = "Win32_Foundation")]
19715 impl ::std::fmt::Debug for SOUNDSENTRYW {
19716     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19717         fmt.debug_struct("SOUNDSENTRYW")
19718             .field("cbSize", &self.cbSize)
19719             .field("dwFlags", &self.dwFlags)
19720             .field("iFSTextEffect", &self.iFSTextEffect)
19721             .field("iFSTextEffectMSec", &self.iFSTextEffectMSec)
19722             .field("iFSTextEffectColorBits", &self.iFSTextEffectColorBits)
19723             .field("iFSGrafEffect", &self.iFSGrafEffect)
19724             .field("iFSGrafEffectMSec", &self.iFSGrafEffectMSec)
19725             .field("iFSGrafEffectColor", &self.iFSGrafEffectColor)
19726             .field("iWindowsEffect", &self.iWindowsEffect)
19727             .field("iWindowsEffectMSec", &self.iWindowsEffectMSec)
19728             .field("lpszWindowsEffectDLL", &self.lpszWindowsEffectDLL)
19729             .field("iWindowsEffectOrdinal", &self.iWindowsEffectOrdinal)
19730             .finish()
19731     }
19732 }
19733 #[cfg(feature = "Win32_Foundation")]
19734 impl ::std::cmp::PartialEq for SOUNDSENTRYW {
19735     fn eq(&self, other: &Self) -> bool {
19736         self.cbSize == other.cbSize
19737             && self.dwFlags == other.dwFlags
19738             && self.iFSTextEffect == other.iFSTextEffect
19739             && self.iFSTextEffectMSec == other.iFSTextEffectMSec
19740             && self.iFSTextEffectColorBits == other.iFSTextEffectColorBits
19741             && self.iFSGrafEffect == other.iFSGrafEffect
19742             && self.iFSGrafEffectMSec == other.iFSGrafEffectMSec
19743             && self.iFSGrafEffectColor == other.iFSGrafEffectColor
19744             && self.iWindowsEffect == other.iWindowsEffect
19745             && self.iWindowsEffectMSec == other.iWindowsEffectMSec
19746             && self.lpszWindowsEffectDLL == other.lpszWindowsEffectDLL
19747             && self.iWindowsEffectOrdinal == other.iWindowsEffectOrdinal
19748     }
19749 }
19750 #[cfg(feature = "Win32_Foundation")]
19751 impl ::std::cmp::Eq for SOUNDSENTRYW {}
19752 #[cfg(feature = "Win32_Foundation")]
19753 unsafe impl ::windows::runtime::Abi for SOUNDSENTRYW {
19754     type Abi = Self;
19755     type DefaultType = Self;
19756 }
19757 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19758 #[repr(transparent)]
19759 pub struct SOUNDSENTRY_FLAGS(pub u32);
19760 pub const SSF_SOUNDSENTRYON: SOUNDSENTRY_FLAGS = SOUNDSENTRY_FLAGS(1u32);
19761 pub const SSF_AVAILABLE: SOUNDSENTRY_FLAGS = SOUNDSENTRY_FLAGS(2u32);
19762 pub const SSF_INDICATOR: SOUNDSENTRY_FLAGS = SOUNDSENTRY_FLAGS(4u32);
19763 impl ::std::convert::From<u32> for SOUNDSENTRY_FLAGS {
19764     fn from(value: u32) -> Self {
19765         Self(value)
19766     }
19767 }
19768 unsafe impl ::windows::runtime::Abi for SOUNDSENTRY_FLAGS {
19769     type Abi = Self;
19770     type DefaultType = Self;
19771 }
19772 impl ::std::ops::BitOr for SOUNDSENTRY_FLAGS {
19773     type Output = Self;
19774     fn bitor(self, rhs: Self) -> Self {
19775         Self(self.0 | rhs.0)
19776     }
19777 }
19778 impl ::std::ops::BitAnd for SOUNDSENTRY_FLAGS {
19779     type Output = Self;
19780     fn bitand(self, rhs: Self) -> Self {
19781         Self(self.0 & rhs.0)
19782     }
19783 }
19784 impl ::std::ops::BitOrAssign for SOUNDSENTRY_FLAGS {
19785     fn bitor_assign(&mut self, rhs: Self) {
19786         self.0.bitor_assign(rhs.0)
19787     }
19788 }
19789 impl ::std::ops::BitAndAssign for SOUNDSENTRY_FLAGS {
19790     fn bitand_assign(&mut self, rhs: Self) {
19791         self.0.bitand_assign(rhs.0)
19792     }
19793 }
19794 impl ::std::ops::Not for SOUNDSENTRY_FLAGS {
19795     type Output = Self;
19796     fn not(self) -> Self {
19797         Self(self.0.not())
19798     }
19799 }
19800 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19801 #[repr(transparent)]
19802 pub struct SOUNDSENTRY_TEXT_EFFECT(pub u32);
19803 pub const SSTF_BORDER: SOUNDSENTRY_TEXT_EFFECT = SOUNDSENTRY_TEXT_EFFECT(2u32);
19804 pub const SSTF_CHARS: SOUNDSENTRY_TEXT_EFFECT = SOUNDSENTRY_TEXT_EFFECT(1u32);
19805 pub const SSTF_DISPLAY: SOUNDSENTRY_TEXT_EFFECT = SOUNDSENTRY_TEXT_EFFECT(3u32);
19806 pub const SSTF_NONE: SOUNDSENTRY_TEXT_EFFECT = SOUNDSENTRY_TEXT_EFFECT(0u32);
19807 impl ::std::convert::From<u32> for SOUNDSENTRY_TEXT_EFFECT {
19808     fn from(value: u32) -> Self {
19809         Self(value)
19810     }
19811 }
19812 unsafe impl ::windows::runtime::Abi for SOUNDSENTRY_TEXT_EFFECT {
19813     type Abi = Self;
19814     type DefaultType = Self;
19815 }
19816 impl ::std::ops::BitOr for SOUNDSENTRY_TEXT_EFFECT {
19817     type Output = Self;
19818     fn bitor(self, rhs: Self) -> Self {
19819         Self(self.0 | rhs.0)
19820     }
19821 }
19822 impl ::std::ops::BitAnd for SOUNDSENTRY_TEXT_EFFECT {
19823     type Output = Self;
19824     fn bitand(self, rhs: Self) -> Self {
19825         Self(self.0 & rhs.0)
19826     }
19827 }
19828 impl ::std::ops::BitOrAssign for SOUNDSENTRY_TEXT_EFFECT {
19829     fn bitor_assign(&mut self, rhs: Self) {
19830         self.0.bitor_assign(rhs.0)
19831     }
19832 }
19833 impl ::std::ops::BitAndAssign for SOUNDSENTRY_TEXT_EFFECT {
19834     fn bitand_assign(&mut self, rhs: Self) {
19835         self.0.bitand_assign(rhs.0)
19836     }
19837 }
19838 impl ::std::ops::Not for SOUNDSENTRY_TEXT_EFFECT {
19839     type Output = Self;
19840     fn not(self) -> Self {
19841         Self(self.0.not())
19842     }
19843 }
19844 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19845 #[repr(transparent)]
19846 pub struct SOUNDSENTRY_WINDOWS_EFFECT(pub u32);
19847 pub const SSWF_CUSTOM: SOUNDSENTRY_WINDOWS_EFFECT = SOUNDSENTRY_WINDOWS_EFFECT(4u32);
19848 pub const SSWF_DISPLAY: SOUNDSENTRY_WINDOWS_EFFECT = SOUNDSENTRY_WINDOWS_EFFECT(3u32);
19849 pub const SSWF_NONE: SOUNDSENTRY_WINDOWS_EFFECT = SOUNDSENTRY_WINDOWS_EFFECT(0u32);
19850 pub const SSWF_TITLE: SOUNDSENTRY_WINDOWS_EFFECT = SOUNDSENTRY_WINDOWS_EFFECT(1u32);
19851 pub const SSWF_WINDOW: SOUNDSENTRY_WINDOWS_EFFECT = SOUNDSENTRY_WINDOWS_EFFECT(2u32);
19852 impl ::std::convert::From<u32> for SOUNDSENTRY_WINDOWS_EFFECT {
19853     fn from(value: u32) -> Self {
19854         Self(value)
19855     }
19856 }
19857 unsafe impl ::windows::runtime::Abi for SOUNDSENTRY_WINDOWS_EFFECT {
19858     type Abi = Self;
19859     type DefaultType = Self;
19860 }
19861 impl ::std::ops::BitOr for SOUNDSENTRY_WINDOWS_EFFECT {
19862     type Output = Self;
19863     fn bitor(self, rhs: Self) -> Self {
19864         Self(self.0 | rhs.0)
19865     }
19866 }
19867 impl ::std::ops::BitAnd for SOUNDSENTRY_WINDOWS_EFFECT {
19868     type Output = Self;
19869     fn bitand(self, rhs: Self) -> Self {
19870         Self(self.0 & rhs.0)
19871     }
19872 }
19873 impl ::std::ops::BitOrAssign for SOUNDSENTRY_WINDOWS_EFFECT {
19874     fn bitor_assign(&mut self, rhs: Self) {
19875         self.0.bitor_assign(rhs.0)
19876     }
19877 }
19878 impl ::std::ops::BitAndAssign for SOUNDSENTRY_WINDOWS_EFFECT {
19879     fn bitand_assign(&mut self, rhs: Self) {
19880         self.0.bitand_assign(rhs.0)
19881     }
19882 }
19883 impl ::std::ops::Not for SOUNDSENTRY_WINDOWS_EFFECT {
19884     type Output = Self;
19885     fn not(self) -> Self {
19886         Self(self.0.not())
19887     }
19888 }
19889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19890 #[repr(transparent)]
19891 pub struct SOUND_SENTRY_GRAPHICS_EFFECT(pub u32);
19892 pub const SSGF_DISPLAY: SOUND_SENTRY_GRAPHICS_EFFECT = SOUND_SENTRY_GRAPHICS_EFFECT(3u32);
19893 pub const SSGF_NONE: SOUND_SENTRY_GRAPHICS_EFFECT = SOUND_SENTRY_GRAPHICS_EFFECT(0u32);
19894 impl ::std::convert::From<u32> for SOUND_SENTRY_GRAPHICS_EFFECT {
19895     fn from(value: u32) -> Self {
19896         Self(value)
19897     }
19898 }
19899 unsafe impl ::windows::runtime::Abi for SOUND_SENTRY_GRAPHICS_EFFECT {
19900     type Abi = Self;
19901     type DefaultType = Self;
19902 }
19903 impl ::std::ops::BitOr for SOUND_SENTRY_GRAPHICS_EFFECT {
19904     type Output = Self;
19905     fn bitor(self, rhs: Self) -> Self {
19906         Self(self.0 | rhs.0)
19907     }
19908 }
19909 impl ::std::ops::BitAnd for SOUND_SENTRY_GRAPHICS_EFFECT {
19910     type Output = Self;
19911     fn bitand(self, rhs: Self) -> Self {
19912         Self(self.0 & rhs.0)
19913     }
19914 }
19915 impl ::std::ops::BitOrAssign for SOUND_SENTRY_GRAPHICS_EFFECT {
19916     fn bitor_assign(&mut self, rhs: Self) {
19917         self.0.bitor_assign(rhs.0)
19918     }
19919 }
19920 impl ::std::ops::BitAndAssign for SOUND_SENTRY_GRAPHICS_EFFECT {
19921     fn bitand_assign(&mut self, rhs: Self) {
19922         self.0.bitand_assign(rhs.0)
19923     }
19924 }
19925 impl ::std::ops::Not for SOUND_SENTRY_GRAPHICS_EFFECT {
19926     type Output = Self;
19927     fn not(self) -> Self {
19928         Self(self.0.not())
19929     }
19930 }
19931 pub const STATE_SYSTEM_HASPOPUP: u32 = 1073741824u32;
19932 pub const STATE_SYSTEM_NORMAL: u32 = 0u32;
19933 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
19934 #[repr(C)]
19935 pub struct STICKYKEYS {
19936     pub cbSize: u32,
19937     pub dwFlags: STICKYKEYS_FLAGS,
19938 }
19939 impl STICKYKEYS {}
19940 impl ::std::default::Default for STICKYKEYS {
19941     fn default() -> Self {
19942         unsafe { ::std::mem::zeroed() }
19943     }
19944 }
19945 impl ::std::fmt::Debug for STICKYKEYS {
19946     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
19947         fmt.debug_struct("STICKYKEYS").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).finish()
19948     }
19949 }
19950 impl ::std::cmp::PartialEq for STICKYKEYS {
19951     fn eq(&self, other: &Self) -> bool {
19952         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags
19953     }
19954 }
19955 impl ::std::cmp::Eq for STICKYKEYS {}
19956 unsafe impl ::windows::runtime::Abi for STICKYKEYS {
19957     type Abi = Self;
19958     type DefaultType = Self;
19959 }
19960 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
19961 #[repr(transparent)]
19962 pub struct STICKYKEYS_FLAGS(pub u32);
19963 pub const SKF_STICKYKEYSON: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(1u32);
19964 pub const SKF_AVAILABLE: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(2u32);
19965 pub const SKF_HOTKEYACTIVE: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(4u32);
19966 pub const SKF_CONFIRMHOTKEY: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(8u32);
19967 pub const SKF_HOTKEYSOUND: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(16u32);
19968 pub const SKF_INDICATOR: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(32u32);
19969 pub const SKF_AUDIBLEFEEDBACK: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(64u32);
19970 pub const SKF_TRISTATE: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(128u32);
19971 pub const SKF_TWOKEYSOFF: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(256u32);
19972 pub const SKF_LALTLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(268435456u32);
19973 pub const SKF_LCTLLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(67108864u32);
19974 pub const SKF_LSHIFTLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(16777216u32);
19975 pub const SKF_RALTLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(536870912u32);
19976 pub const SKF_RCTLLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(134217728u32);
19977 pub const SKF_RSHIFTLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(33554432u32);
19978 pub const SKF_LWINLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(1073741824u32);
19979 pub const SKF_RWINLATCHED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(2147483648u32);
19980 pub const SKF_LALTLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(1048576u32);
19981 pub const SKF_LCTLLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(262144u32);
19982 pub const SKF_LSHIFTLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(65536u32);
19983 pub const SKF_RALTLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(2097152u32);
19984 pub const SKF_RCTLLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(524288u32);
19985 pub const SKF_RSHIFTLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(131072u32);
19986 pub const SKF_LWINLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(4194304u32);
19987 pub const SKF_RWINLOCKED: STICKYKEYS_FLAGS = STICKYKEYS_FLAGS(8388608u32);
19988 impl ::std::convert::From<u32> for STICKYKEYS_FLAGS {
19989     fn from(value: u32) -> Self {
19990         Self(value)
19991     }
19992 }
19993 unsafe impl ::windows::runtime::Abi for STICKYKEYS_FLAGS {
19994     type Abi = Self;
19995     type DefaultType = Self;
19996 }
19997 impl ::std::ops::BitOr for STICKYKEYS_FLAGS {
19998     type Output = Self;
19999     fn bitor(self, rhs: Self) -> Self {
20000         Self(self.0 | rhs.0)
20001     }
20002 }
20003 impl ::std::ops::BitAnd for STICKYKEYS_FLAGS {
20004     type Output = Self;
20005     fn bitand(self, rhs: Self) -> Self {
20006         Self(self.0 & rhs.0)
20007     }
20008 }
20009 impl ::std::ops::BitOrAssign for STICKYKEYS_FLAGS {
20010     fn bitor_assign(&mut self, rhs: Self) {
20011         self.0.bitor_assign(rhs.0)
20012     }
20013 }
20014 impl ::std::ops::BitAndAssign for STICKYKEYS_FLAGS {
20015     fn bitand_assign(&mut self, rhs: Self) {
20016         self.0.bitand_assign(rhs.0)
20017     }
20018 }
20019 impl ::std::ops::Not for STICKYKEYS_FLAGS {
20020     type Output = Self;
20021     fn not(self) -> Self {
20022         Self(self.0.not())
20023     }
20024 }
20025 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20026 #[repr(transparent)]
20027 pub struct SayAsInterpretAs(pub i32);
20028 pub const SayAsInterpretAs_None: SayAsInterpretAs = SayAsInterpretAs(0i32);
20029 pub const SayAsInterpretAs_Spell: SayAsInterpretAs = SayAsInterpretAs(1i32);
20030 pub const SayAsInterpretAs_Cardinal: SayAsInterpretAs = SayAsInterpretAs(2i32);
20031 pub const SayAsInterpretAs_Ordinal: SayAsInterpretAs = SayAsInterpretAs(3i32);
20032 pub const SayAsInterpretAs_Number: SayAsInterpretAs = SayAsInterpretAs(4i32);
20033 pub const SayAsInterpretAs_Date: SayAsInterpretAs = SayAsInterpretAs(5i32);
20034 pub const SayAsInterpretAs_Time: SayAsInterpretAs = SayAsInterpretAs(6i32);
20035 pub const SayAsInterpretAs_Telephone: SayAsInterpretAs = SayAsInterpretAs(7i32);
20036 pub const SayAsInterpretAs_Currency: SayAsInterpretAs = SayAsInterpretAs(8i32);
20037 pub const SayAsInterpretAs_Net: SayAsInterpretAs = SayAsInterpretAs(9i32);
20038 pub const SayAsInterpretAs_Url: SayAsInterpretAs = SayAsInterpretAs(10i32);
20039 pub const SayAsInterpretAs_Address: SayAsInterpretAs = SayAsInterpretAs(11i32);
20040 pub const SayAsInterpretAs_Alphanumeric: SayAsInterpretAs = SayAsInterpretAs(12i32);
20041 pub const SayAsInterpretAs_Name: SayAsInterpretAs = SayAsInterpretAs(13i32);
20042 pub const SayAsInterpretAs_Media: SayAsInterpretAs = SayAsInterpretAs(14i32);
20043 pub const SayAsInterpretAs_Date_MonthDayYear: SayAsInterpretAs = SayAsInterpretAs(15i32);
20044 pub const SayAsInterpretAs_Date_DayMonthYear: SayAsInterpretAs = SayAsInterpretAs(16i32);
20045 pub const SayAsInterpretAs_Date_YearMonthDay: SayAsInterpretAs = SayAsInterpretAs(17i32);
20046 pub const SayAsInterpretAs_Date_YearMonth: SayAsInterpretAs = SayAsInterpretAs(18i32);
20047 pub const SayAsInterpretAs_Date_MonthYear: SayAsInterpretAs = SayAsInterpretAs(19i32);
20048 pub const SayAsInterpretAs_Date_DayMonth: SayAsInterpretAs = SayAsInterpretAs(20i32);
20049 pub const SayAsInterpretAs_Date_MonthDay: SayAsInterpretAs = SayAsInterpretAs(21i32);
20050 pub const SayAsInterpretAs_Date_Year: SayAsInterpretAs = SayAsInterpretAs(22i32);
20051 pub const SayAsInterpretAs_Time_HoursMinutesSeconds12: SayAsInterpretAs = SayAsInterpretAs(23i32);
20052 pub const SayAsInterpretAs_Time_HoursMinutes12: SayAsInterpretAs = SayAsInterpretAs(24i32);
20053 pub const SayAsInterpretAs_Time_HoursMinutesSeconds24: SayAsInterpretAs = SayAsInterpretAs(25i32);
20054 pub const SayAsInterpretAs_Time_HoursMinutes24: SayAsInterpretAs = SayAsInterpretAs(26i32);
20055 impl ::std::convert::From<i32> for SayAsInterpretAs {
20056     fn from(value: i32) -> Self {
20057         Self(value)
20058     }
20059 }
20060 unsafe impl ::windows::runtime::Abi for SayAsInterpretAs {
20061     type Abi = Self;
20062     type DefaultType = Self;
20063 }
20064 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20065 #[repr(transparent)]
20066 pub struct ScrollAmount(pub i32);
20067 pub const ScrollAmount_LargeDecrement: ScrollAmount = ScrollAmount(0i32);
20068 pub const ScrollAmount_SmallDecrement: ScrollAmount = ScrollAmount(1i32);
20069 pub const ScrollAmount_NoAmount: ScrollAmount = ScrollAmount(2i32);
20070 pub const ScrollAmount_LargeIncrement: ScrollAmount = ScrollAmount(3i32);
20071 pub const ScrollAmount_SmallIncrement: ScrollAmount = ScrollAmount(4i32);
20072 impl ::std::convert::From<i32> for ScrollAmount {
20073     fn from(value: i32) -> Self {
20074         Self(value)
20075     }
20076 }
20077 unsafe impl ::windows::runtime::Abi for ScrollAmount {
20078     type Abi = Self;
20079     type DefaultType = Self;
20080 }
20081 pub const ScrollBar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3673377590, 20581, 18758, [178, 47, 146, 89, 95, 192, 117, 26]);
20082 #[inline]
20083 pub unsafe fn ScrollItemPattern_ScrollIntoView<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20084     #[cfg(windows)]
20085     {
20086         #[link(name = "windows")]
20087         extern "system" {
20088             fn ScrollItemPattern_ScrollIntoView(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
20089         }
20090         ScrollItemPattern_ScrollIntoView(hobj.into_param().abi()).ok()
20091     }
20092     #[cfg(not(windows))]
20093     unimplemented!("Unsupported target OS");
20094 }
20095 pub const ScrollItem_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1167183877, 43011, 19804, [180, 213, 141, 40, 0, 249, 6, 167]);
20096 #[inline]
20097 pub unsafe fn ScrollPattern_Scroll<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, horizontalamount: ScrollAmount, verticalamount: ScrollAmount) -> ::windows::runtime::Result<()> {
20098     #[cfg(windows)]
20099     {
20100         #[link(name = "windows")]
20101         extern "system" {
20102             fn ScrollPattern_Scroll(hobj: HUIAPATTERNOBJECT, horizontalamount: ScrollAmount, verticalamount: ScrollAmount) -> ::windows::runtime::HRESULT;
20103         }
20104         ScrollPattern_Scroll(hobj.into_param().abi(), ::std::mem::transmute(horizontalamount), ::std::mem::transmute(verticalamount)).ok()
20105     }
20106     #[cfg(not(windows))]
20107     unimplemented!("Unsupported target OS");
20108 }
20109 #[inline]
20110 pub unsafe fn ScrollPattern_SetScrollPercent<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, horizontalpercent: f64, verticalpercent: f64) -> ::windows::runtime::Result<()> {
20111     #[cfg(windows)]
20112     {
20113         #[link(name = "windows")]
20114         extern "system" {
20115             fn ScrollPattern_SetScrollPercent(hobj: HUIAPATTERNOBJECT, horizontalpercent: f64, verticalpercent: f64) -> ::windows::runtime::HRESULT;
20116         }
20117         ScrollPattern_SetScrollPercent(hobj.into_param().abi(), ::std::mem::transmute(horizontalpercent), ::std::mem::transmute(verticalpercent)).ok()
20118     }
20119     #[cfg(not(windows))]
20120     unimplemented!("Unsupported target OS");
20121 }
20122 pub const Scroll_HorizontalScrollPercent_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3351329806, 60193, 18431, [172, 196, 181, 163, 53, 15, 81, 145]);
20123 pub const Scroll_HorizontalViewSize_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1891821012, 64688, 18195, [169, 170, 175, 146, 255, 121, 228, 205]);
20124 pub const Scroll_HorizontallyScrollable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2341622087, 10445, 18862, [189, 99, 244, 65, 24, 210, 231, 25]);
20125 pub const Scroll_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2304746676, 30109, 19536, [142, 21, 3, 70, 6, 114, 0, 60]);
20126 pub const Scroll_VerticalScrollPercent_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1821208729, 45736, 18760, [191, 247, 60, 249, 5, 139, 254, 251]);
20127 pub const Scroll_VerticalViewSize_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3731500578, 55495, 16581, [131, 186, 229, 246, 129, 213, 49, 8]);
20128 pub const Scroll_VerticallyScrollable_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2299938712, 104, 17173, [184, 154, 30, 124, 251, 188, 61, 252]);
20129 pub const Selection2_CurrentSelectedItem_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(874871846, 33717, 16806, [147, 156, 174, 132, 28, 19, 98, 54]);
20130 pub const Selection2_FirstSelectedItem_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3424971367, 13980, 20053, [159, 247, 56, 218, 105, 84, 12, 41]);
20131 pub const Selection2_ItemCount_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3142183839, 17773, 16456, [181, 145, 156, 32, 38, 184, 70, 54]);
20132 pub const Selection2_LastSelectedItem_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3481000592, 11651, 18936, [134, 12, 156, 227, 148, 207, 137, 180]);
20133 #[inline]
20134 pub unsafe fn SelectionItemPattern_AddToSelection<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20135     #[cfg(windows)]
20136     {
20137         #[link(name = "windows")]
20138         extern "system" {
20139             fn SelectionItemPattern_AddToSelection(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
20140         }
20141         SelectionItemPattern_AddToSelection(hobj.into_param().abi()).ok()
20142     }
20143     #[cfg(not(windows))]
20144     unimplemented!("Unsupported target OS");
20145 }
20146 #[inline]
20147 pub unsafe fn SelectionItemPattern_RemoveFromSelection<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20148     #[cfg(windows)]
20149     {
20150         #[link(name = "windows")]
20151         extern "system" {
20152             fn SelectionItemPattern_RemoveFromSelection(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
20153         }
20154         SelectionItemPattern_RemoveFromSelection(hobj.into_param().abi()).ok()
20155     }
20156     #[cfg(not(windows))]
20157     unimplemented!("Unsupported target OS");
20158 }
20159 #[inline]
20160 pub unsafe fn SelectionItemPattern_Select<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20161     #[cfg(windows)]
20162     {
20163         #[link(name = "windows")]
20164         extern "system" {
20165             fn SelectionItemPattern_Select(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
20166         }
20167         SelectionItemPattern_Select(hobj.into_param().abi()).ok()
20168     }
20169     #[cfg(not(windows))]
20170     unimplemented!("Unsupported target OS");
20171 }
20172 pub const SelectionItem_ElementAddedToSelectionEvent_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1015164369, 50183, 19898, [145, 221, 121, 212, 174, 208, 174, 198]);
20173 pub const SelectionItem_ElementRemovedFromSelectionEvent_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(159361193, 28793, 16815, [139, 156, 9, 52, 216, 48, 94, 92]);
20174 pub const SelectionItem_ElementSelectedEvent_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3116882939, 20158, 17714, [170, 244, 0, 140, 246, 71, 35, 60]);
20175 pub const SelectionItem_IsSelected_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4045570911, 52575, 17375, [183, 157, 75, 132, 158, 158, 96, 32]);
20176 pub const SelectionItem_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2613464811, 34759, 19240, [148, 187, 77, 159, 164, 55, 182, 239]);
20177 pub const SelectionItem_SelectionContainer_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2755025774, 39966, 19299, [139, 83, 194, 66, 29, 209, 232, 251]);
20178 pub const Selection_CanSelectMultiple_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1238842789, 51331, 17664, [136, 61, 143, 207, 141, 175, 108, 190]);
20179 pub const Selection_InvalidatedEvent_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3401664772, 5812, 19283, [142, 71, 76, 177, 223, 38, 123, 183]);
20180 pub const Selection_IsSelectionRequired_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2980987938, 25598, 17639, [165, 165, 167, 56, 200, 41, 177, 154]);
20181 pub const Selection_Pattern2_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4221721771, 43928, 18935, [167, 220, 254, 83, 157, 193, 91, 231]);
20182 pub const Selection_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1726199784, 55329, 19749, [135, 97, 67, 93, 44, 139, 37, 63]);
20183 pub const Selection_Selection_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2859319970, 3627, 19768, [150, 213, 52, 228, 112, 184, 24, 83]);
20184 pub const SemanticZoom_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1607682627, 1566, 17096, [181, 137, 157, 204, 247, 75, 196, 58]);
20185 pub const Separator_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2271734691, 10851, 19120, [172, 141, 170, 80, 226, 61, 233, 120]);
20186 #[cfg(feature = "Win32_Foundation")]
20187 #[inline]
20188 pub unsafe fn SetWinEventHook<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(eventmin: u32, eventmax: u32, hmodwineventproc: Param2, pfnwineventproc: ::std::option::Option<WINEVENTPROC>, idprocess: u32, idthread: u32, dwflags: u32) -> HWINEVENTHOOK {
20189     #[cfg(windows)]
20190     {
20191         #[link(name = "windows")]
20192         extern "system" {
20193             fn SetWinEventHook(eventmin: u32, eventmax: u32, hmodwineventproc: super::super::Foundation::HINSTANCE, pfnwineventproc: ::windows::runtime::RawPtr, idprocess: u32, idthread: u32, dwflags: u32) -> HWINEVENTHOOK;
20194         }
20195         ::std::mem::transmute(SetWinEventHook(::std::mem::transmute(eventmin), ::std::mem::transmute(eventmax), hmodwineventproc.into_param().abi(), ::std::mem::transmute(pfnwineventproc), ::std::mem::transmute(idprocess), ::std::mem::transmute(idthread), ::std::mem::transmute(dwflags)))
20196     }
20197     #[cfg(not(windows))]
20198     unimplemented!("Unsupported target OS");
20199 }
20200 pub const SizeOfSet_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(369152828, 15263, 17257, [148, 49, 170, 41, 63, 52, 76, 241]);
20201 pub const Size_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(727676445, 63621, 17412, [151, 63, 155, 29, 152, 227, 109, 143]);
20202 pub const Slider_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2956182091, 15157, 19690, [182, 9, 118, 54, 130, 250, 102, 11]);
20203 pub const Spinner_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1624001336, 15537, 16737, [180, 66, 198, 183, 38, 193, 120, 37]);
20204 pub const SplitButton_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1880223775, 19150, 18689, [180, 97, 146, 10, 111, 28, 166, 80]);
20205 pub const SpreadsheetItem_AnnotationObjects_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2736344120, 51644, 17924, [147, 150, 174, 63, 159, 69, 127, 123]);
20206 pub const SpreadsheetItem_AnnotationTypes_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3339473360, 54786, 19269, [175, 188, 180, 113, 43, 150, 215, 43]);
20207 pub const SpreadsheetItem_Formula_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3858949245, 6983, 19434, [135, 207, 59, 11, 11, 92, 21, 182]);
20208 pub const SpreadsheetItem_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(852460543, 61864, 19084, [134, 88, 212, 123, 167, 78, 32, 186]);
20209 pub const Spreadsheet_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1784358089, 40222, 19333, [158, 68, 192, 46, 49, 105, 177, 11]);
20210 pub const StatusBar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3562962203, 22643, 18271, [149, 164, 4, 51, 225, 241, 176, 10]);
20211 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20212 #[repr(transparent)]
20213 pub struct StructureChangeType(pub i32);
20214 pub const StructureChangeType_ChildAdded: StructureChangeType = StructureChangeType(0i32);
20215 pub const StructureChangeType_ChildRemoved: StructureChangeType = StructureChangeType(1i32);
20216 pub const StructureChangeType_ChildrenInvalidated: StructureChangeType = StructureChangeType(2i32);
20217 pub const StructureChangeType_ChildrenBulkAdded: StructureChangeType = StructureChangeType(3i32);
20218 pub const StructureChangeType_ChildrenBulkRemoved: StructureChangeType = StructureChangeType(4i32);
20219 pub const StructureChangeType_ChildrenReordered: StructureChangeType = StructureChangeType(5i32);
20220 impl ::std::convert::From<i32> for StructureChangeType {
20221     fn from(value: i32) -> Self {
20222         Self(value)
20223     }
20224 }
20225 unsafe impl ::windows::runtime::Abi for StructureChangeType {
20226     type Abi = Self;
20227     type DefaultType = Self;
20228 }
20229 pub const StructureChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1503099233, 16093, 19217, [177, 59, 103, 107, 42, 42, 108, 169]);
20230 pub const StructuredMarkup_CompositionComplete_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3297393687, 26490, 16455, [166, 141, 252, 18, 87, 82, 138, 239]);
20231 pub const StructuredMarkup_Deleted_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4191199264, 57793, 20175, [185, 170, 82, 239, 222, 126, 65, 225]);
20232 pub const StructuredMarkup_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2881292408, 34405, 20316, [148, 252, 54, 231, 216, 187, 112, 107]);
20233 pub const StructuredMarkup_SelectionChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2814907895, 65439, 16839, [163, 167, 171, 108, 191, 219, 73, 3]);
20234 pub const StyleId_BulletedList: i32 = 70015i32;
20235 pub const StyleId_BulletedList_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1499721060, 25638, 17970, [140, 175, 163, 42, 212, 2, 217, 26]);
20236 pub const StyleId_Custom: i32 = 70000i32;
20237 pub const StyleId_Custom_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4012825918, 43417, 19324, [163, 120, 9, 187, 213, 42, 53, 22]);
20238 pub const StyleId_Emphasis: i32 = 70013i32;
20239 pub const StyleId_Emphasis_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3396238782, 13662, 18464, [149, 160, 146, 95, 4, 29, 52, 112]);
20240 pub const StyleId_Heading1: i32 = 70001i32;
20241 pub const StyleId_Heading1_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2139000681, 26726, 17953, [147, 12, 154, 93, 12, 165, 150, 28]);
20242 pub const StyleId_Heading2: i32 = 70002i32;
20243 pub const StyleId_Heading2_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3131683393, 23657, 18077, [133, 173, 71, 71, 55, 181, 43, 20]);
20244 pub const StyleId_Heading3: i32 = 70003i32;
20245 pub const StyleId_Heading3_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3213617618, 55480, 20165, [140, 82, 156, 251, 13, 3, 89, 112]);
20246 pub const StyleId_Heading4: i32 = 70004i32;
20247 pub const StyleId_Heading4_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2218196928, 38264, 17916, [131, 164, 255, 64, 5, 51, 21, 221]);
20248 pub const StyleId_Heading5: i32 = 70005i32;
20249 pub const StyleId_Heading5_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2426356301, 3519, 16494, [151, 187, 78, 119, 61, 151, 152, 247]);
20250 pub const StyleId_Heading6: i32 = 70006i32;
20251 pub const StyleId_Heading6_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2312254553, 23899, 18468, [164, 32, 17, 211, 237, 130, 228, 15]);
20252 pub const StyleId_Heading7: i32 = 70007i32;
20253 pub const StyleId_Heading7_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2742617203, 59822, 16941, [184, 227, 59, 103, 92, 97, 129, 164]);
20254 pub const StyleId_Heading8: i32 = 70008i32;
20255 pub const StyleId_Heading8_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(734085445, 41996, 18561, [132, 174, 242, 35, 86, 133, 56, 12]);
20256 pub const StyleId_Heading9: i32 = 70009i32;
20257 pub const StyleId_Heading9_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3339555123, 47914, 17363, [138, 198, 51, 101, 120, 132, 176, 240]);
20258 pub const StyleId_Normal: i32 = 70012i32;
20259 pub const StyleId_Normal_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3440694313, 58462, 17525, [161, 197, 127, 158, 107, 233, 110, 186]);
20260 pub const StyleId_NumberedList: i32 = 70016i32;
20261 pub const StyleId_NumberedList_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(513203157, 25795, 17360, [177, 238, 181, 59, 6, 227, 237, 223]);
20262 pub const StyleId_Quote: i32 = 70014i32;
20263 pub const StyleId_Quote_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1562124778, 33173, 20332, [135, 234, 93, 171, 236, 230, 76, 29]);
20264 pub const StyleId_Subtitle: i32 = 70011i32;
20265 pub const StyleId_Subtitle_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3050961943, 23919, 17440, [180, 57, 124, 177, 154, 212, 52, 226]);
20266 pub const StyleId_Title: i32 = 70010i32;
20267 pub const StyleId_Title_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(366485530, 65487, 18463, [176, 161, 48, 182, 59, 233, 143, 7]);
20268 pub const Styles_ExtendedProperties_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4099001760, 47626, 18049, [176, 176, 13, 189, 181, 62, 88, 243]);
20269 pub const Styles_FillColor_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1676671354, 41413, 19229, [132, 235, 183, 101, 242, 237, 214, 50]);
20270 pub const Styles_FillPatternColor_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2476366334, 36797, 20085, [162, 113, 172, 69, 149, 25, 81, 99]);
20271 pub const Styles_FillPatternStyle_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2177852703, 18475, 17489, [163, 10, 225, 84, 94, 85, 79, 184]);
20272 pub const Styles_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(451290709, 55922, 19808, [161, 83, 229, 170, 105, 136, 227, 191]);
20273 pub const Styles_Shape_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3340379128, 30604, 16397, [132, 88, 59, 84, 62, 82, 105, 132]);
20274 pub const Styles_StyleId_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3665986863, 14359, 16947, [130, 175, 2, 39, 158, 114, 204, 119]);
20275 pub const Styles_StyleName_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(470986805, 1489, 20309, [158, 142, 20, 137, 243, 255, 85, 13]);
20276 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20277 #[repr(transparent)]
20278 pub struct SupportedTextSelection(pub i32);
20279 pub const SupportedTextSelection_None: SupportedTextSelection = SupportedTextSelection(0i32);
20280 pub const SupportedTextSelection_Single: SupportedTextSelection = SupportedTextSelection(1i32);
20281 pub const SupportedTextSelection_Multiple: SupportedTextSelection = SupportedTextSelection(2i32);
20282 impl ::std::convert::From<i32> for SupportedTextSelection {
20283     fn from(value: i32) -> Self {
20284         Self(value)
20285     }
20286 }
20287 unsafe impl ::windows::runtime::Abi for SupportedTextSelection {
20288     type Abi = Self;
20289     type DefaultType = Self;
20290 }
20291 #[inline]
20292 pub unsafe fn SynchronizedInputPattern_Cancel<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20293     #[cfg(windows)]
20294     {
20295         #[link(name = "windows")]
20296         extern "system" {
20297             fn SynchronizedInputPattern_Cancel(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
20298         }
20299         SynchronizedInputPattern_Cancel(hobj.into_param().abi()).ok()
20300     }
20301     #[cfg(not(windows))]
20302     unimplemented!("Unsupported target OS");
20303 }
20304 #[inline]
20305 pub unsafe fn SynchronizedInputPattern_StartListening<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, inputtype: SynchronizedInputType) -> ::windows::runtime::Result<()> {
20306     #[cfg(windows)]
20307     {
20308         #[link(name = "windows")]
20309         extern "system" {
20310             fn SynchronizedInputPattern_StartListening(hobj: HUIAPATTERNOBJECT, inputtype: SynchronizedInputType) -> ::windows::runtime::HRESULT;
20311         }
20312         SynchronizedInputPattern_StartListening(hobj.into_param().abi(), ::std::mem::transmute(inputtype)).ok()
20313     }
20314     #[cfg(not(windows))]
20315     unimplemented!("Unsupported target OS");
20316 }
20317 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20318 #[repr(transparent)]
20319 pub struct SynchronizedInputType(pub i32);
20320 pub const SynchronizedInputType_KeyUp: SynchronizedInputType = SynchronizedInputType(1i32);
20321 pub const SynchronizedInputType_KeyDown: SynchronizedInputType = SynchronizedInputType(2i32);
20322 pub const SynchronizedInputType_LeftMouseUp: SynchronizedInputType = SynchronizedInputType(4i32);
20323 pub const SynchronizedInputType_LeftMouseDown: SynchronizedInputType = SynchronizedInputType(8i32);
20324 pub const SynchronizedInputType_RightMouseUp: SynchronizedInputType = SynchronizedInputType(16i32);
20325 pub const SynchronizedInputType_RightMouseDown: SynchronizedInputType = SynchronizedInputType(32i32);
20326 impl ::std::convert::From<i32> for SynchronizedInputType {
20327     fn from(value: i32) -> Self {
20328         Self(value)
20329     }
20330 }
20331 unsafe impl ::windows::runtime::Abi for SynchronizedInputType {
20332     type Abi = Self;
20333     type DefaultType = Self;
20334 }
20335 pub const SynchronizedInput_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(96635046, 50299, 18571, [182, 83, 51, 151, 122, 85, 27, 139]);
20336 pub const SystemAlert_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3530642525, 31290, 18343, [132, 116, 129, 210, 154, 36, 81, 201]);
20337 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
20338 #[repr(C)]
20339 pub struct TOGGLEKEYS {
20340     pub cbSize: u32,
20341     pub dwFlags: u32,
20342 }
20343 impl TOGGLEKEYS {}
20344 impl ::std::default::Default for TOGGLEKEYS {
20345     fn default() -> Self {
20346         unsafe { ::std::mem::zeroed() }
20347     }
20348 }
20349 impl ::std::fmt::Debug for TOGGLEKEYS {
20350     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
20351         fmt.debug_struct("TOGGLEKEYS").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).finish()
20352     }
20353 }
20354 impl ::std::cmp::PartialEq for TOGGLEKEYS {
20355     fn eq(&self, other: &Self) -> bool {
20356         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags
20357     }
20358 }
20359 impl ::std::cmp::Eq for TOGGLEKEYS {}
20360 unsafe impl ::windows::runtime::Abi for TOGGLEKEYS {
20361     type Abi = Self;
20362     type DefaultType = Self;
20363 }
20364 pub const TabItem_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(745169743, 37403, 20078, [178, 110, 8, 252, 176, 121, 143, 76]);
20365 pub const Tab_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(952966957, 13178, 19410, [165, 227, 173, 180, 105, 227, 11, 211]);
20366 pub const TableItem_ColumnHeaderItems_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2524599971, 29878, 17182, [141, 230, 153, 196, 17, 3, 28, 88]);
20367 pub const TableItem_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742581693, 6280, 18985, [165, 12, 185, 46, 109, 227, 127, 111]);
20368 pub const TableItem_RowHeaderItems_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3019396000, 1396, 19672, [188, 215, 237, 89, 35, 87, 45, 151]);
20369 pub const Table_ColumnHeaders_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2951862059, 38541, 17073, [180, 89, 21, 11, 41, 157, 166, 100]);
20370 pub const Table_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2000419342, 23492, 19947, [146, 27, 222, 123, 50, 6, 34, 158]);
20371 pub const Table_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3289719182, 41000, 17950, [170, 146, 143, 146, 92, 247, 147, 81]);
20372 pub const Table_RowHeaders_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3655555975, 28344, 17762, [170, 198, 168, 169, 7, 82, 54, 168]);
20373 pub const Table_RowOrColumnMajor_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2210297283, 10750, 18992, [133, 225, 42, 98, 119, 253, 16, 110]);
20374 pub const TextChild_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1966328503, 15358, 16879, [158, 133, 226, 99, 140, 190, 22, 158]);
20375 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20376 #[repr(transparent)]
20377 pub struct TextDecorationLineStyle(pub i32);
20378 pub const TextDecorationLineStyle_None: TextDecorationLineStyle = TextDecorationLineStyle(0i32);
20379 pub const TextDecorationLineStyle_Single: TextDecorationLineStyle = TextDecorationLineStyle(1i32);
20380 pub const TextDecorationLineStyle_WordsOnly: TextDecorationLineStyle = TextDecorationLineStyle(2i32);
20381 pub const TextDecorationLineStyle_Double: TextDecorationLineStyle = TextDecorationLineStyle(3i32);
20382 pub const TextDecorationLineStyle_Dot: TextDecorationLineStyle = TextDecorationLineStyle(4i32);
20383 pub const TextDecorationLineStyle_Dash: TextDecorationLineStyle = TextDecorationLineStyle(5i32);
20384 pub const TextDecorationLineStyle_DashDot: TextDecorationLineStyle = TextDecorationLineStyle(6i32);
20385 pub const TextDecorationLineStyle_DashDotDot: TextDecorationLineStyle = TextDecorationLineStyle(7i32);
20386 pub const TextDecorationLineStyle_Wavy: TextDecorationLineStyle = TextDecorationLineStyle(8i32);
20387 pub const TextDecorationLineStyle_ThickSingle: TextDecorationLineStyle = TextDecorationLineStyle(9i32);
20388 pub const TextDecorationLineStyle_DoubleWavy: TextDecorationLineStyle = TextDecorationLineStyle(11i32);
20389 pub const TextDecorationLineStyle_ThickWavy: TextDecorationLineStyle = TextDecorationLineStyle(12i32);
20390 pub const TextDecorationLineStyle_LongDash: TextDecorationLineStyle = TextDecorationLineStyle(13i32);
20391 pub const TextDecorationLineStyle_ThickDash: TextDecorationLineStyle = TextDecorationLineStyle(14i32);
20392 pub const TextDecorationLineStyle_ThickDashDot: TextDecorationLineStyle = TextDecorationLineStyle(15i32);
20393 pub const TextDecorationLineStyle_ThickDashDotDot: TextDecorationLineStyle = TextDecorationLineStyle(16i32);
20394 pub const TextDecorationLineStyle_ThickDot: TextDecorationLineStyle = TextDecorationLineStyle(17i32);
20395 pub const TextDecorationLineStyle_ThickLongDash: TextDecorationLineStyle = TextDecorationLineStyle(18i32);
20396 pub const TextDecorationLineStyle_Other: TextDecorationLineStyle = TextDecorationLineStyle(-1i32);
20397 impl ::std::convert::From<i32> for TextDecorationLineStyle {
20398     fn from(value: i32) -> Self {
20399         Self(value)
20400     }
20401 }
20402 unsafe impl ::windows::runtime::Abi for TextDecorationLineStyle {
20403     type Abi = Self;
20404     type DefaultType = Self;
20405 }
20406 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20407 #[repr(transparent)]
20408 pub struct TextEditChangeType(pub i32);
20409 pub const TextEditChangeType_None: TextEditChangeType = TextEditChangeType(0i32);
20410 pub const TextEditChangeType_AutoCorrect: TextEditChangeType = TextEditChangeType(1i32);
20411 pub const TextEditChangeType_Composition: TextEditChangeType = TextEditChangeType(2i32);
20412 pub const TextEditChangeType_CompositionFinalized: TextEditChangeType = TextEditChangeType(3i32);
20413 pub const TextEditChangeType_AutoComplete: TextEditChangeType = TextEditChangeType(4i32);
20414 impl ::std::convert::From<i32> for TextEditChangeType {
20415     fn from(value: i32) -> Self {
20416         Self(value)
20417     }
20418 }
20419 unsafe impl ::windows::runtime::Abi for TextEditChangeType {
20420     type Abi = Self;
20421     type DefaultType = Self;
20422 }
20423 pub const TextEdit_ConversionTargetChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(864600451, 60751, 19595, [155, 170, 54, 77, 81, 216, 132, 127]);
20424 pub const TextEdit_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1777598345, 23289, 19573, [147, 64, 242, 222, 41, 46, 69, 145]);
20425 pub const TextEdit_TextChanged_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(302711560, 60450, 20152, [156, 152, 152, 103, 205, 161, 177, 101]);
20426 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20427 #[repr(transparent)]
20428 pub struct TextPatternRangeEndpoint(pub i32);
20429 pub const TextPatternRangeEndpoint_Start: TextPatternRangeEndpoint = TextPatternRangeEndpoint(0i32);
20430 pub const TextPatternRangeEndpoint_End: TextPatternRangeEndpoint = TextPatternRangeEndpoint(1i32);
20431 impl ::std::convert::From<i32> for TextPatternRangeEndpoint {
20432     fn from(value: i32) -> Self {
20433         Self(value)
20434     }
20435 }
20436 unsafe impl ::windows::runtime::Abi for TextPatternRangeEndpoint {
20437     type Abi = Self;
20438     type DefaultType = Self;
20439 }
20440 #[cfg(feature = "Win32_System_Com")]
20441 #[inline]
20442 pub unsafe fn TextPattern_GetSelection<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
20443     #[cfg(windows)]
20444     {
20445         #[link(name = "windows")]
20446         extern "system" {
20447             fn TextPattern_GetSelection(hobj: HUIAPATTERNOBJECT, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT;
20448         }
20449         TextPattern_GetSelection(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20450     }
20451     #[cfg(not(windows))]
20452     unimplemented!("Unsupported target OS");
20453 }
20454 #[cfg(feature = "Win32_System_Com")]
20455 #[inline]
20456 pub unsafe fn TextPattern_GetVisibleRanges<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
20457     #[cfg(windows)]
20458     {
20459         #[link(name = "windows")]
20460         extern "system" {
20461             fn TextPattern_GetVisibleRanges(hobj: HUIAPATTERNOBJECT, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT;
20462         }
20463         TextPattern_GetVisibleRanges(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20464     }
20465     #[cfg(not(windows))]
20466     unimplemented!("Unsupported target OS");
20467 }
20468 #[inline]
20469 pub unsafe fn TextPattern_RangeFromChild<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>, Param1: ::windows::runtime::IntoParam<'a, HUIANODE>>(hobj: Param0, hnodechild: Param1, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::Result<()> {
20470     #[cfg(windows)]
20471     {
20472         #[link(name = "windows")]
20473         extern "system" {
20474             fn TextPattern_RangeFromChild(hobj: HUIAPATTERNOBJECT, hnodechild: HUIANODE, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20475         }
20476         TextPattern_RangeFromChild(hobj.into_param().abi(), hnodechild.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20477     }
20478     #[cfg(not(windows))]
20479     unimplemented!("Unsupported target OS");
20480 }
20481 #[inline]
20482 pub unsafe fn TextPattern_RangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>, Param1: ::windows::runtime::IntoParam<'a, UiaPoint>>(hobj: Param0, point: Param1, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::Result<()> {
20483     #[cfg(windows)]
20484     {
20485         #[link(name = "windows")]
20486         extern "system" {
20487             fn TextPattern_RangeFromPoint(hobj: HUIAPATTERNOBJECT, point: UiaPoint, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20488         }
20489         TextPattern_RangeFromPoint(hobj.into_param().abi(), point.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20490     }
20491     #[cfg(not(windows))]
20492     unimplemented!("Unsupported target OS");
20493 }
20494 #[inline]
20495 pub unsafe fn TextPattern_get_DocumentRange<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::Result<()> {
20496     #[cfg(windows)]
20497     {
20498         #[link(name = "windows")]
20499         extern "system" {
20500             fn TextPattern_get_DocumentRange(hobj: HUIAPATTERNOBJECT, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20501         }
20502         TextPattern_get_DocumentRange(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20503     }
20504     #[cfg(not(windows))]
20505     unimplemented!("Unsupported target OS");
20506 }
20507 #[inline]
20508 pub unsafe fn TextPattern_get_SupportedTextSelection<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, pretval: *mut SupportedTextSelection) -> ::windows::runtime::Result<()> {
20509     #[cfg(windows)]
20510     {
20511         #[link(name = "windows")]
20512         extern "system" {
20513             fn TextPattern_get_SupportedTextSelection(hobj: HUIAPATTERNOBJECT, pretval: *mut SupportedTextSelection) -> ::windows::runtime::HRESULT;
20514         }
20515         TextPattern_get_SupportedTextSelection(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20516     }
20517     #[cfg(not(windows))]
20518     unimplemented!("Unsupported target OS");
20519 }
20520 #[inline]
20521 pub unsafe fn TextRange_AddToSelection<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20522     #[cfg(windows)]
20523     {
20524         #[link(name = "windows")]
20525         extern "system" {
20526             fn TextRange_AddToSelection(hobj: HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20527         }
20528         TextRange_AddToSelection(hobj.into_param().abi()).ok()
20529     }
20530     #[cfg(not(windows))]
20531     unimplemented!("Unsupported target OS");
20532 }
20533 #[inline]
20534 pub unsafe fn TextRange_Clone<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::Result<()> {
20535     #[cfg(windows)]
20536     {
20537         #[link(name = "windows")]
20538         extern "system" {
20539             fn TextRange_Clone(hobj: HUIATEXTRANGE, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20540         }
20541         TextRange_Clone(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20542     }
20543     #[cfg(not(windows))]
20544     unimplemented!("Unsupported target OS");
20545 }
20546 #[cfg(feature = "Win32_Foundation")]
20547 #[inline]
20548 pub unsafe fn TextRange_Compare<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>, Param1: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, range: Param1, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
20549     #[cfg(windows)]
20550     {
20551         #[link(name = "windows")]
20552         extern "system" {
20553             fn TextRange_Compare(hobj: HUIATEXTRANGE, range: HUIATEXTRANGE, pretval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT;
20554         }
20555         TextRange_Compare(hobj.into_param().abi(), range.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20556     }
20557     #[cfg(not(windows))]
20558     unimplemented!("Unsupported target OS");
20559 }
20560 #[inline]
20561 pub unsafe fn TextRange_CompareEndpoints<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>, Param2: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, endpoint: TextPatternRangeEndpoint, targetrange: Param2, targetendpoint: TextPatternRangeEndpoint, pretval: *mut i32) -> ::windows::runtime::Result<()> {
20562     #[cfg(windows)]
20563     {
20564         #[link(name = "windows")]
20565         extern "system" {
20566             fn TextRange_CompareEndpoints(hobj: HUIATEXTRANGE, endpoint: TextPatternRangeEndpoint, targetrange: HUIATEXTRANGE, targetendpoint: TextPatternRangeEndpoint, pretval: *mut i32) -> ::windows::runtime::HRESULT;
20567         }
20568         TextRange_CompareEndpoints(hobj.into_param().abi(), ::std::mem::transmute(endpoint), targetrange.into_param().abi(), ::std::mem::transmute(targetendpoint), ::std::mem::transmute(pretval)).ok()
20569     }
20570     #[cfg(not(windows))]
20571     unimplemented!("Unsupported target OS");
20572 }
20573 #[inline]
20574 pub unsafe fn TextRange_ExpandToEnclosingUnit<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, unit: TextUnit) -> ::windows::runtime::Result<()> {
20575     #[cfg(windows)]
20576     {
20577         #[link(name = "windows")]
20578         extern "system" {
20579             fn TextRange_ExpandToEnclosingUnit(hobj: HUIATEXTRANGE, unit: TextUnit) -> ::windows::runtime::HRESULT;
20580         }
20581         TextRange_ExpandToEnclosingUnit(hobj.into_param().abi(), ::std::mem::transmute(unit)).ok()
20582     }
20583     #[cfg(not(windows))]
20584     unimplemented!("Unsupported target OS");
20585 }
20586 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
20587 #[inline]
20588 pub unsafe fn TextRange_FindAttribute<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hobj: Param0, attributeid: i32, val: Param2, backward: Param3, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::Result<()> {
20589     #[cfg(windows)]
20590     {
20591         #[link(name = "windows")]
20592         extern "system" {
20593             fn TextRange_FindAttribute(hobj: HUIATEXTRANGE, attributeid: i32, val: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, backward: super::super::Foundation::BOOL, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20594         }
20595         TextRange_FindAttribute(hobj.into_param().abi(), ::std::mem::transmute(attributeid), val.into_param().abi(), backward.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20596     }
20597     #[cfg(not(windows))]
20598     unimplemented!("Unsupported target OS");
20599 }
20600 #[cfg(feature = "Win32_Foundation")]
20601 #[inline]
20602 pub unsafe fn TextRange_FindText<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hobj: Param0, text: Param1, backward: Param2, ignorecase: Param3, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::Result<()> {
20603     #[cfg(windows)]
20604     {
20605         #[link(name = "windows")]
20606         extern "system" {
20607             fn TextRange_FindText(hobj: HUIATEXTRANGE, text: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, backward: super::super::Foundation::BOOL, ignorecase: super::super::Foundation::BOOL, pretval: *mut HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20608         }
20609         TextRange_FindText(hobj.into_param().abi(), text.into_param().abi(), backward.into_param().abi(), ignorecase.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20610     }
20611     #[cfg(not(windows))]
20612     unimplemented!("Unsupported target OS");
20613 }
20614 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
20615 #[inline]
20616 pub unsafe fn TextRange_GetAttributeValue<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, attributeid: i32, pretval: *mut super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
20617     #[cfg(windows)]
20618     {
20619         #[link(name = "windows")]
20620         extern "system" {
20621             fn TextRange_GetAttributeValue(hobj: HUIATEXTRANGE, attributeid: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT;
20622         }
20623         TextRange_GetAttributeValue(hobj.into_param().abi(), ::std::mem::transmute(attributeid), ::std::mem::transmute(pretval)).ok()
20624     }
20625     #[cfg(not(windows))]
20626     unimplemented!("Unsupported target OS");
20627 }
20628 #[cfg(feature = "Win32_System_Com")]
20629 #[inline]
20630 pub unsafe fn TextRange_GetBoundingRectangles<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
20631     #[cfg(windows)]
20632     {
20633         #[link(name = "windows")]
20634         extern "system" {
20635             fn TextRange_GetBoundingRectangles(hobj: HUIATEXTRANGE, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT;
20636         }
20637         TextRange_GetBoundingRectangles(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20638     }
20639     #[cfg(not(windows))]
20640     unimplemented!("Unsupported target OS");
20641 }
20642 #[cfg(feature = "Win32_System_Com")]
20643 #[inline]
20644 pub unsafe fn TextRange_GetChildren<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
20645     #[cfg(windows)]
20646     {
20647         #[link(name = "windows")]
20648         extern "system" {
20649             fn TextRange_GetChildren(hobj: HUIATEXTRANGE, pretval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT;
20650         }
20651         TextRange_GetChildren(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20652     }
20653     #[cfg(not(windows))]
20654     unimplemented!("Unsupported target OS");
20655 }
20656 #[inline]
20657 pub unsafe fn TextRange_GetEnclosingElement<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, pretval: *mut HUIANODE) -> ::windows::runtime::Result<()> {
20658     #[cfg(windows)]
20659     {
20660         #[link(name = "windows")]
20661         extern "system" {
20662             fn TextRange_GetEnclosingElement(hobj: HUIATEXTRANGE, pretval: *mut HUIANODE) -> ::windows::runtime::HRESULT;
20663         }
20664         TextRange_GetEnclosingElement(hobj.into_param().abi(), ::std::mem::transmute(pretval)).ok()
20665     }
20666     #[cfg(not(windows))]
20667     unimplemented!("Unsupported target OS");
20668 }
20669 #[cfg(feature = "Win32_Foundation")]
20670 #[inline]
20671 pub unsafe fn TextRange_GetText<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, maxlength: i32, pretval: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
20672     #[cfg(windows)]
20673     {
20674         #[link(name = "windows")]
20675         extern "system" {
20676             fn TextRange_GetText(hobj: HUIATEXTRANGE, maxlength: i32, pretval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT;
20677         }
20678         TextRange_GetText(hobj.into_param().abi(), ::std::mem::transmute(maxlength), ::std::mem::transmute(pretval)).ok()
20679     }
20680     #[cfg(not(windows))]
20681     unimplemented!("Unsupported target OS");
20682 }
20683 #[inline]
20684 pub unsafe fn TextRange_Move<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::Result<()> {
20685     #[cfg(windows)]
20686     {
20687         #[link(name = "windows")]
20688         extern "system" {
20689             fn TextRange_Move(hobj: HUIATEXTRANGE, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::HRESULT;
20690         }
20691         TextRange_Move(hobj.into_param().abi(), ::std::mem::transmute(unit), ::std::mem::transmute(count), ::std::mem::transmute(pretval)).ok()
20692     }
20693     #[cfg(not(windows))]
20694     unimplemented!("Unsupported target OS");
20695 }
20696 #[inline]
20697 pub unsafe fn TextRange_MoveEndpointByRange<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>, Param2: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, endpoint: TextPatternRangeEndpoint, targetrange: Param2, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::Result<()> {
20698     #[cfg(windows)]
20699     {
20700         #[link(name = "windows")]
20701         extern "system" {
20702             fn TextRange_MoveEndpointByRange(hobj: HUIATEXTRANGE, endpoint: TextPatternRangeEndpoint, targetrange: HUIATEXTRANGE, targetendpoint: TextPatternRangeEndpoint) -> ::windows::runtime::HRESULT;
20703         }
20704         TextRange_MoveEndpointByRange(hobj.into_param().abi(), ::std::mem::transmute(endpoint), targetrange.into_param().abi(), ::std::mem::transmute(targetendpoint)).ok()
20705     }
20706     #[cfg(not(windows))]
20707     unimplemented!("Unsupported target OS");
20708 }
20709 #[inline]
20710 pub unsafe fn TextRange_MoveEndpointByUnit<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::Result<()> {
20711     #[cfg(windows)]
20712     {
20713         #[link(name = "windows")]
20714         extern "system" {
20715             fn TextRange_MoveEndpointByUnit(hobj: HUIATEXTRANGE, endpoint: TextPatternRangeEndpoint, unit: TextUnit, count: i32, pretval: *mut i32) -> ::windows::runtime::HRESULT;
20716         }
20717         TextRange_MoveEndpointByUnit(hobj.into_param().abi(), ::std::mem::transmute(endpoint), ::std::mem::transmute(unit), ::std::mem::transmute(count), ::std::mem::transmute(pretval)).ok()
20718     }
20719     #[cfg(not(windows))]
20720     unimplemented!("Unsupported target OS");
20721 }
20722 #[inline]
20723 pub unsafe fn TextRange_RemoveFromSelection<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20724     #[cfg(windows)]
20725     {
20726         #[link(name = "windows")]
20727         extern "system" {
20728             fn TextRange_RemoveFromSelection(hobj: HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20729         }
20730         TextRange_RemoveFromSelection(hobj.into_param().abi()).ok()
20731     }
20732     #[cfg(not(windows))]
20733     unimplemented!("Unsupported target OS");
20734 }
20735 #[cfg(feature = "Win32_Foundation")]
20736 #[inline]
20737 pub unsafe fn TextRange_ScrollIntoView<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(hobj: Param0, aligntotop: Param1) -> ::windows::runtime::Result<()> {
20738     #[cfg(windows)]
20739     {
20740         #[link(name = "windows")]
20741         extern "system" {
20742             fn TextRange_ScrollIntoView(hobj: HUIATEXTRANGE, aligntotop: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT;
20743         }
20744         TextRange_ScrollIntoView(hobj.into_param().abi(), aligntotop.into_param().abi()).ok()
20745     }
20746     #[cfg(not(windows))]
20747     unimplemented!("Unsupported target OS");
20748 }
20749 #[inline]
20750 pub unsafe fn TextRange_Select<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20751     #[cfg(windows)]
20752     {
20753         #[link(name = "windows")]
20754         extern "system" {
20755             fn TextRange_Select(hobj: HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
20756         }
20757         TextRange_Select(hobj.into_param().abi()).ok()
20758     }
20759     #[cfg(not(windows))]
20760     unimplemented!("Unsupported target OS");
20761 }
20762 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20763 #[repr(transparent)]
20764 pub struct TextUnit(pub i32);
20765 pub const TextUnit_Character: TextUnit = TextUnit(0i32);
20766 pub const TextUnit_Format: TextUnit = TextUnit(1i32);
20767 pub const TextUnit_Word: TextUnit = TextUnit(2i32);
20768 pub const TextUnit_Line: TextUnit = TextUnit(3i32);
20769 pub const TextUnit_Paragraph: TextUnit = TextUnit(4i32);
20770 pub const TextUnit_Page: TextUnit = TextUnit(5i32);
20771 pub const TextUnit_Document: TextUnit = TextUnit(6i32);
20772 impl ::std::convert::From<i32> for TextUnit {
20773     fn from(value: i32) -> Self {
20774         Self(value)
20775     }
20776 }
20777 unsafe impl ::windows::runtime::Abi for TextUnit {
20778     type Abi = Self;
20779     type DefaultType = Self;
20780 }
20781 pub const Text_AfterParagraphSpacing_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1485617976, 58927, 18812, [181, 209, 204, 223, 14, 232, 35, 216]);
20782 pub const Text_AfterSpacing_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1485617976, 58927, 18812, [181, 209, 204, 223, 14, 232, 35, 216]);
20783 pub const Text_AnimationStyle_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1652689392, 31898, 19799, [190, 100, 31, 24, 54, 87, 31, 245]);
20784 pub const Text_AnnotationObjects_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4282503016, 59307, 16569, [140, 114, 114, 168, 237, 148, 1, 125]);
20785 pub const Text_AnnotationTypes_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2905519153, 61006, 19425, [167, 186, 85, 89, 21, 90, 115, 239]);
20786 pub const Text_BackgroundColor_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4257520135, 22589, 20247, [173, 39, 119, 252, 131, 42, 60, 11]);
20787 pub const Text_BeforeParagraphSpacing_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3195734705, 51234, 18980, [133, 233, 200, 242, 101, 15, 199, 156]);
20788 pub const Text_BeforeSpacing_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3195734705, 51234, 18980, [133, 233, 200, 242, 101, 15, 199, 156]);
20789 pub const Text_BulletStyle_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3238624400, 54724, 16951, [151, 129, 59, 236, 139, 165, 78, 72]);
20790 pub const Text_CapStyle_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4211448912, 37580, 18853, [186, 143, 10, 168, 114, 187, 162, 243]);
20791 pub const Text_CaretBidiMode_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2459887526, 20947, 18197, [150, 220, 182, 148, 250, 36, 161, 104]);
20792 pub const Text_CaretPosition_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2988945713, 39049, 18258, [169, 27, 115, 62, 253, 197, 197, 160]);
20793 pub const Text_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2929160924, 54065, 20233, [190, 32, 126, 109, 250, 240, 123, 10]);
20794 pub const Text_Culture_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3254934265, 42029, 19693, [161, 251, 198, 116, 99, 21, 34, 46]);
20795 pub const Text_FontName_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1692810152, 62181, 18286, [164, 119, 23, 52, 254, 170, 247, 38]);
20796 pub const Text_FontSize_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3697209087, 1286, 18035, [147, 242, 55, 126, 74, 142, 1, 241]);
20797 pub const Text_FontWeight_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1874862937, 45846, 20319, [180, 1, 241, 206, 85, 116, 24, 83]);
20798 pub const Text_ForegroundColor_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1926351197, 24160, 18202, [150, 177, 108, 27, 59, 119, 164, 54]);
20799 pub const Text_HorizontalTextAlignment_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(82469217, 64419, 18298, [149, 42, 187, 50, 109, 2, 106, 91]);
20800 pub const Text_IndentationFirstLine_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(544185045, 49619, 16970, [129, 130, 109, 169, 167, 243, 214, 50]);
20801 pub const Text_IndentationLeading_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1559653292, 11589, 19019, [182, 201, 247, 34, 29, 40, 21, 176]);
20802 pub const Text_IndentationTrailing_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2550098959, 7396, 16522, [182, 123, 148, 216, 62, 182, 155, 242]);
20803 pub const Text_IsActive_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4121224499, 57784, 17259, [147, 93, 181, 122, 163, 245, 88, 196]);
20804 pub const Text_IsHidden_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(906068731, 48599, 18422, [171, 105, 25, 227, 63, 138, 51, 68]);
20805 pub const Text_IsItalic_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4242614870, 4918, 18996, [150, 99, 27, 171, 71, 35, 147, 32]);
20806 pub const Text_IsReadOnly_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2805470571, 51774, 18782, [149, 20, 131, 60, 68, 15, 235, 17]);
20807 pub const Text_IsSubscript_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4041922648, 36691, 16700, [135, 63, 26, 125, 127, 94, 13, 228]);
20808 pub const Text_IsSuperscript_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3664801508, 45994, 17989, [164, 31, 205, 37, 21, 125, 234, 118]);
20809 pub const Text_LineSpacing_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1677684910, 55619, 19271, [138, 183, 167, 160, 51, 211, 33, 75]);
20810 pub const Text_Link_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3012490525, 40589, 20038, [145, 68, 86, 235, 225, 119, 50, 155]);
20811 pub const Text_MarginBottom_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2128974788, 29364, 19628, [146, 113, 62, 210, 75, 14, 77, 66]);
20812 pub const Text_MarginLeading_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2660385488, 24272, 18688, [142, 138, 238, 204, 3, 131, 90, 252]);
20813 pub const Text_MarginTop_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1748865903, 51641, 19098, [179, 217, 210, 13, 51, 49, 30, 42]);
20814 pub const Text_MarginTrailing_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2941398936, 39325, 16559, [165, 178, 1, 105, 208, 52, 32, 2]);
20815 pub const Text_OutlineStyles_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1533500199, 56201, 18174, [151, 12, 97, 77, 82, 59, 185, 125]);
20816 pub const Text_OverlineColor_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2209036346, 64835, 16602, [171, 62, 236, 248, 22, 92, 187, 109]);
20817 pub const Text_OverlineStyle_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(170085734, 24958, 17023, [135, 29, 225, 255, 30, 12, 33, 63]);
20818 pub const Text_Pattern2_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1233418658, 23330, 17549, [182, 228, 100, 116, 144, 134, 6, 152]);
20819 pub const Text_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2249584733, 32229, 17661, [166, 121, 44, 164, 180, 96, 51, 168]);
20820 pub const Text_SayAsInterpretAs_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3012220588, 61153, 19310, [136, 204, 1, 76, 239, 169, 63, 203]);
20821 pub const Text_SelectionActiveEnd_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(526814403, 39871, 16747, [176, 162, 248, 159, 134, 246, 97, 44]);
20822 pub const Text_StrikethroughColor_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3219216920, 35905, 19546, [154, 11, 4, 175, 14, 7, 244, 135]);
20823 pub const Text_StrikethroughStyle_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1922121457, 55808, 20225, [137, 156, 172, 90, 133, 119, 163, 7]);
20824 pub const Text_StyleId_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(348324062, 49963, 17563, [171, 124, 176, 224, 120, 154, 234, 93]);
20825 pub const Text_StyleName_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(583655569, 19814, 17880, [168, 40, 115, 123, 171, 76, 152, 167]);
20826 pub const Text_Tabs_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(778620939, 37630, 17112, [137, 154, 167, 132, 170, 68, 84, 161]);
20827 pub const Text_TextChangedEvent_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1244930178, 62595, 18628, [172, 17, 168, 75, 67, 94, 42, 132]);
20828 pub const Text_TextFlowDirections_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2346682169, 62496, 16958, [175, 119, 32, 165, 217, 115, 169, 7]);
20829 pub const Text_TextSelectionChangedEvent_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2442058401, 29107, 18862, [151, 65, 121, 190, 184, 211, 88, 243]);
20830 pub const Text_UnderlineColor_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3215010931, 64994, 17523, [191, 100, 16, 54, 214, 170, 15, 69]);
20831 pub const Text_UnderlineStyle_Attribute_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1597710784, 60900, 17597, [156, 54, 56, 83, 3, 140, 191, 235]);
20832 pub const Thumb_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1880926327, 58128, 19926, [182, 68, 121, 126, 79, 174, 162, 19]);
20833 pub const TitleBar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2561299903, 15280, 19301, [131, 110, 46, 163, 13, 188, 23, 31]);
20834 #[inline]
20835 pub unsafe fn TogglePattern_Toggle<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
20836     #[cfg(windows)]
20837     {
20838         #[link(name = "windows")]
20839         extern "system" {
20840             fn TogglePattern_Toggle(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
20841         }
20842         TogglePattern_Toggle(hobj.into_param().abi()).ok()
20843     }
20844     #[cfg(not(windows))]
20845     unimplemented!("Unsupported target OS");
20846 }
20847 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20848 #[repr(transparent)]
20849 pub struct ToggleState(pub i32);
20850 pub const ToggleState_Off: ToggleState = ToggleState(0i32);
20851 pub const ToggleState_On: ToggleState = ToggleState(1i32);
20852 pub const ToggleState_Indeterminate: ToggleState = ToggleState(2i32);
20853 impl ::std::convert::From<i32> for ToggleState {
20854     fn from(value: i32) -> Self {
20855         Self(value)
20856     }
20857 }
20858 unsafe impl ::windows::runtime::Abi for ToggleState {
20859     type Abi = Self;
20860     type DefaultType = Self;
20861 }
20862 pub const Toggle_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(188847968, 58100, 17407, [140, 95, 148, 87, 200, 43, 86, 233]);
20863 pub const Toggle_ToggleState_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2990333010, 8898, 19564, [157, 237, 245, 196, 34, 71, 158, 222]);
20864 pub const ToolBar_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2399582033, 57730, 20120, [136, 147, 34, 132, 84, 58, 125, 206]);
20865 pub const ToolTipClosed_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(661484015, 9385, 18870, [142, 151, 218, 152, 180, 1, 187, 205]);
20866 pub const ToolTipOpened_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1061918719, 11996, 17693, [188, 164, 149, 163, 24, 141, 91, 3]);
20867 pub const ToolTip_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(98420433, 8503, 18280, [152, 234, 115, 245, 47, 113, 52, 243]);
20868 pub const Tranform_Pattern2_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2331835655, 41833, 17630, [152, 139, 47, 127, 244, 159, 184, 168]);
20869 pub const Transform2_CanZoom_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4082624656, 42838, 17241, [156, 166, 134, 112, 43, 248, 243, 129]);
20870 pub const Transform2_ZoomLevel_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4007829274, 62626, 19291, [172, 101, 149, 207, 147, 40, 51, 135]);
20871 pub const Transform2_ZoomMaximum_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1118530423, 52912, 20170, [184, 42, 108, 250, 95, 161, 252, 8]);
20872 pub const Transform2_ZoomMinimum_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1949092886, 19153, 19975, [150, 254, 177, 34, 198, 230, 178, 43]);
20873 #[inline]
20874 pub unsafe fn TransformPattern_Move<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, x: f64, y: f64) -> ::windows::runtime::Result<()> {
20875     #[cfg(windows)]
20876     {
20877         #[link(name = "windows")]
20878         extern "system" {
20879             fn TransformPattern_Move(hobj: HUIAPATTERNOBJECT, x: f64, y: f64) -> ::windows::runtime::HRESULT;
20880         }
20881         TransformPattern_Move(hobj.into_param().abi(), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
20882     }
20883     #[cfg(not(windows))]
20884     unimplemented!("Unsupported target OS");
20885 }
20886 #[inline]
20887 pub unsafe fn TransformPattern_Resize<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, width: f64, height: f64) -> ::windows::runtime::Result<()> {
20888     #[cfg(windows)]
20889     {
20890         #[link(name = "windows")]
20891         extern "system" {
20892             fn TransformPattern_Resize(hobj: HUIAPATTERNOBJECT, width: f64, height: f64) -> ::windows::runtime::HRESULT;
20893         }
20894         TransformPattern_Resize(hobj.into_param().abi(), ::std::mem::transmute(width), ::std::mem::transmute(height)).ok()
20895     }
20896     #[cfg(not(windows))]
20897     unimplemented!("Unsupported target OS");
20898 }
20899 #[inline]
20900 pub unsafe fn TransformPattern_Rotate<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, degrees: f64) -> ::windows::runtime::Result<()> {
20901     #[cfg(windows)]
20902     {
20903         #[link(name = "windows")]
20904         extern "system" {
20905             fn TransformPattern_Rotate(hobj: HUIAPATTERNOBJECT, degrees: f64) -> ::windows::runtime::HRESULT;
20906         }
20907         TransformPattern_Rotate(hobj.into_param().abi(), ::std::mem::transmute(degrees)).ok()
20908     }
20909     #[cfg(not(windows))]
20910     unimplemented!("Unsupported target OS");
20911 }
20912 pub const Transform_CanMove_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(460685901, 8331, 20447, [188, 205, 241, 244, 229, 116, 31, 79]);
20913 pub const Transform_CanResize_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3147357349, 19482, 16852, [164, 246, 235, 193, 40, 100, 65, 128]);
20914 pub const Transform_CanRotate_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(268933960, 14409, 18287, [172, 150, 68, 169, 92, 132, 64, 217]);
20915 pub const Transform_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(615804891, 22654, 18929, [156, 74, 216, 233, 139, 102, 75, 123]);
20916 pub const TreeItem_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1657405113, 36860, 18552, [163, 164, 150, 176, 48, 49, 92, 24]);
20917 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20918 #[repr(transparent)]
20919 pub struct TreeScope(pub i32);
20920 pub const TreeScope_None: TreeScope = TreeScope(0i32);
20921 pub const TreeScope_Element: TreeScope = TreeScope(1i32);
20922 pub const TreeScope_Children: TreeScope = TreeScope(2i32);
20923 pub const TreeScope_Descendants: TreeScope = TreeScope(4i32);
20924 pub const TreeScope_Parent: TreeScope = TreeScope(8i32);
20925 pub const TreeScope_Ancestors: TreeScope = TreeScope(16i32);
20926 pub const TreeScope_Subtree: TreeScope = TreeScope(7i32);
20927 impl ::std::convert::From<i32> for TreeScope {
20928     fn from(value: i32) -> Self {
20929         Self(value)
20930     }
20931 }
20932 unsafe impl ::windows::runtime::Abi for TreeScope {
20933     type Abi = Self;
20934     type DefaultType = Self;
20935 }
20936 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
20937 #[repr(transparent)]
20938 pub struct TreeTraversalOptions(pub i32);
20939 pub const TreeTraversalOptions_Default: TreeTraversalOptions = TreeTraversalOptions(0i32);
20940 pub const TreeTraversalOptions_PostOrder: TreeTraversalOptions = TreeTraversalOptions(1i32);
20941 pub const TreeTraversalOptions_LastToFirstOrder: TreeTraversalOptions = TreeTraversalOptions(2i32);
20942 impl ::std::convert::From<i32> for TreeTraversalOptions {
20943     fn from(value: i32) -> Self {
20944         Self(value)
20945     }
20946 }
20947 unsafe impl ::windows::runtime::Abi for TreeTraversalOptions {
20948     type Abi = Self;
20949     type DefaultType = Self;
20950 }
20951 pub const Tree_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1969304732, 53825, 17396, [153, 8, 181, 240, 145, 190, 230, 17]);
20952 pub const UIA_AcceleratorKeyPropertyId: i32 = 30006i32;
20953 pub const UIA_AccessKeyPropertyId: i32 = 30007i32;
20954 pub const UIA_ActiveTextPositionChangedEventId: i32 = 20036i32;
20955 pub const UIA_AfterParagraphSpacingAttributeId: i32 = 40042i32;
20956 pub const UIA_AnimationStyleAttributeId: i32 = 40000i32;
20957 pub const UIA_AnnotationAnnotationTypeIdPropertyId: i32 = 30113i32;
20958 pub const UIA_AnnotationAnnotationTypeNamePropertyId: i32 = 30114i32;
20959 pub const UIA_AnnotationAuthorPropertyId: i32 = 30115i32;
20960 pub const UIA_AnnotationDateTimePropertyId: i32 = 30116i32;
20961 pub const UIA_AnnotationObjectsAttributeId: i32 = 40032i32;
20962 pub const UIA_AnnotationObjectsPropertyId: i32 = 30156i32;
20963 pub const UIA_AnnotationPatternId: i32 = 10023i32;
20964 pub const UIA_AnnotationTargetPropertyId: i32 = 30117i32;
20965 pub const UIA_AnnotationTypesAttributeId: i32 = 40031i32;
20966 pub const UIA_AnnotationTypesPropertyId: i32 = 30155i32;
20967 pub const UIA_AppBarControlTypeId: i32 = 50040i32;
20968 pub const UIA_AriaPropertiesPropertyId: i32 = 30102i32;
20969 pub const UIA_AriaRolePropertyId: i32 = 30101i32;
20970 pub const UIA_AsyncContentLoadedEventId: i32 = 20006i32;
20971 pub const UIA_AutomationFocusChangedEventId: i32 = 20005i32;
20972 pub const UIA_AutomationIdPropertyId: i32 = 30011i32;
20973 pub const UIA_AutomationPropertyChangedEventId: i32 = 20004i32;
20974 pub const UIA_BackgroundColorAttributeId: i32 = 40001i32;
20975 pub const UIA_BeforeParagraphSpacingAttributeId: i32 = 40041i32;
20976 pub const UIA_BoundingRectanglePropertyId: i32 = 30001i32;
20977 pub const UIA_BulletStyleAttributeId: i32 = 40002i32;
20978 pub const UIA_ButtonControlTypeId: i32 = 50000i32;
20979 pub const UIA_CalendarControlTypeId: i32 = 50001i32;
20980 pub const UIA_CapStyleAttributeId: i32 = 40003i32;
20981 pub const UIA_CaretBidiModeAttributeId: i32 = 40039i32;
20982 pub const UIA_CaretPositionAttributeId: i32 = 40038i32;
20983 pub const UIA_CenterPointPropertyId: i32 = 30165i32;
20984 pub const UIA_ChangesEventId: i32 = 20034i32;
20985 pub const UIA_CheckBoxControlTypeId: i32 = 50002i32;
20986 pub const UIA_ClassNamePropertyId: i32 = 30012i32;
20987 pub const UIA_ClickablePointPropertyId: i32 = 30014i32;
20988 pub const UIA_ComboBoxControlTypeId: i32 = 50003i32;
20989 pub const UIA_ControlTypePropertyId: i32 = 30003i32;
20990 pub const UIA_ControllerForPropertyId: i32 = 30104i32;
20991 pub const UIA_CultureAttributeId: i32 = 40004i32;
20992 pub const UIA_CulturePropertyId: i32 = 30015i32;
20993 pub const UIA_CustomControlTypeId: i32 = 50025i32;
20994 pub const UIA_CustomLandmarkTypeId: i32 = 80000i32;
20995 pub const UIA_CustomNavigationPatternId: i32 = 10033i32;
20996 pub const UIA_DataGridControlTypeId: i32 = 50028i32;
20997 pub const UIA_DataItemControlTypeId: i32 = 50029i32;
20998 pub const UIA_DescribedByPropertyId: i32 = 30105i32;
20999 pub const UIA_DockDockPositionPropertyId: i32 = 30069i32;
21000 pub const UIA_DockPatternId: i32 = 10011i32;
21001 pub const UIA_DocumentControlTypeId: i32 = 50030i32;
21002 pub const UIA_DragDropEffectPropertyId: i32 = 30139i32;
21003 pub const UIA_DragDropEffectsPropertyId: i32 = 30140i32;
21004 pub const UIA_DragGrabbedItemsPropertyId: i32 = 30144i32;
21005 pub const UIA_DragIsGrabbedPropertyId: i32 = 30138i32;
21006 pub const UIA_DragPatternId: i32 = 10030i32;
21007 pub const UIA_Drag_DragCancelEventId: i32 = 20027i32;
21008 pub const UIA_Drag_DragCompleteEventId: i32 = 20028i32;
21009 pub const UIA_Drag_DragStartEventId: i32 = 20026i32;
21010 pub const UIA_DropTargetDropTargetEffectPropertyId: i32 = 30142i32;
21011 pub const UIA_DropTargetDropTargetEffectsPropertyId: i32 = 30143i32;
21012 pub const UIA_DropTargetPatternId: i32 = 10031i32;
21013 pub const UIA_DropTarget_DragEnterEventId: i32 = 20029i32;
21014 pub const UIA_DropTarget_DragLeaveEventId: i32 = 20030i32;
21015 pub const UIA_DropTarget_DroppedEventId: i32 = 20031i32;
21016 pub const UIA_E_ELEMENTNOTAVAILABLE: u32 = 2147746305u32;
21017 pub const UIA_E_ELEMENTNOTENABLED: u32 = 2147746304u32;
21018 pub const UIA_E_INVALIDOPERATION: u32 = 2148734217u32;
21019 pub const UIA_E_NOCLICKABLEPOINT: u32 = 2147746306u32;
21020 pub const UIA_E_NOTSUPPORTED: u32 = 2147746308u32;
21021 pub const UIA_E_PROXYASSEMBLYNOTLOADED: u32 = 2147746307u32;
21022 pub const UIA_E_TIMEOUT: u32 = 2148734213u32;
21023 pub const UIA_EditControlTypeId: i32 = 50004i32;
21024 pub const UIA_ExpandCollapseExpandCollapseStatePropertyId: i32 = 30070i32;
21025 pub const UIA_ExpandCollapsePatternId: i32 = 10005i32;
21026 pub const UIA_FillColorPropertyId: i32 = 30160i32;
21027 pub const UIA_FillTypePropertyId: i32 = 30162i32;
21028 pub const UIA_FlowsFromPropertyId: i32 = 30148i32;
21029 pub const UIA_FlowsToPropertyId: i32 = 30106i32;
21030 pub const UIA_FontNameAttributeId: i32 = 40005i32;
21031 pub const UIA_FontSizeAttributeId: i32 = 40006i32;
21032 pub const UIA_FontWeightAttributeId: i32 = 40007i32;
21033 pub const UIA_ForegroundColorAttributeId: i32 = 40008i32;
21034 pub const UIA_FormLandmarkTypeId: i32 = 80001i32;
21035 pub const UIA_FrameworkIdPropertyId: i32 = 30024i32;
21036 pub const UIA_FullDescriptionPropertyId: i32 = 30159i32;
21037 pub const UIA_GridColumnCountPropertyId: i32 = 30063i32;
21038 pub const UIA_GridItemColumnPropertyId: i32 = 30065i32;
21039 pub const UIA_GridItemColumnSpanPropertyId: i32 = 30067i32;
21040 pub const UIA_GridItemContainingGridPropertyId: i32 = 30068i32;
21041 pub const UIA_GridItemPatternId: i32 = 10007i32;
21042 pub const UIA_GridItemRowPropertyId: i32 = 30064i32;
21043 pub const UIA_GridItemRowSpanPropertyId: i32 = 30066i32;
21044 pub const UIA_GridPatternId: i32 = 10006i32;
21045 pub const UIA_GridRowCountPropertyId: i32 = 30062i32;
21046 pub const UIA_GroupControlTypeId: i32 = 50026i32;
21047 pub const UIA_HasKeyboardFocusPropertyId: i32 = 30008i32;
21048 pub const UIA_HeaderControlTypeId: i32 = 50034i32;
21049 pub const UIA_HeaderItemControlTypeId: i32 = 50035i32;
21050 pub const UIA_HeadingLevelPropertyId: i32 = 30173i32;
21051 pub const UIA_HelpTextPropertyId: i32 = 30013i32;
21052 pub const UIA_HorizontalTextAlignmentAttributeId: i32 = 40009i32;
21053 pub const UIA_HostedFragmentRootsInvalidatedEventId: i32 = 20025i32;
21054 pub const UIA_HyperlinkControlTypeId: i32 = 50005i32;
21055 pub const UIA_IAFP_DEFAULT: u32 = 0u32;
21056 pub const UIA_IAFP_UNWRAP_BRIDGE: u32 = 1u32;
21057 pub const UIA_ImageControlTypeId: i32 = 50006i32;
21058 pub const UIA_IndentationFirstLineAttributeId: i32 = 40010i32;
21059 pub const UIA_IndentationLeadingAttributeId: i32 = 40011i32;
21060 pub const UIA_IndentationTrailingAttributeId: i32 = 40012i32;
21061 pub const UIA_InputDiscardedEventId: i32 = 20022i32;
21062 pub const UIA_InputReachedOtherElementEventId: i32 = 20021i32;
21063 pub const UIA_InputReachedTargetEventId: i32 = 20020i32;
21064 pub const UIA_InvokePatternId: i32 = 10000i32;
21065 pub const UIA_Invoke_InvokedEventId: i32 = 20009i32;
21066 pub const UIA_IsActiveAttributeId: i32 = 40036i32;
21067 pub const UIA_IsAnnotationPatternAvailablePropertyId: i32 = 30118i32;
21068 pub const UIA_IsContentElementPropertyId: i32 = 30017i32;
21069 pub const UIA_IsControlElementPropertyId: i32 = 30016i32;
21070 pub const UIA_IsCustomNavigationPatternAvailablePropertyId: i32 = 30151i32;
21071 pub const UIA_IsDataValidForFormPropertyId: i32 = 30103i32;
21072 pub const UIA_IsDialogPropertyId: i32 = 30174i32;
21073 pub const UIA_IsDockPatternAvailablePropertyId: i32 = 30027i32;
21074 pub const UIA_IsDragPatternAvailablePropertyId: i32 = 30137i32;
21075 pub const UIA_IsDropTargetPatternAvailablePropertyId: i32 = 30141i32;
21076 pub const UIA_IsEnabledPropertyId: i32 = 30010i32;
21077 pub const UIA_IsExpandCollapsePatternAvailablePropertyId: i32 = 30028i32;
21078 pub const UIA_IsGridItemPatternAvailablePropertyId: i32 = 30029i32;
21079 pub const UIA_IsGridPatternAvailablePropertyId: i32 = 30030i32;
21080 pub const UIA_IsHiddenAttributeId: i32 = 40013i32;
21081 pub const UIA_IsInvokePatternAvailablePropertyId: i32 = 30031i32;
21082 pub const UIA_IsItalicAttributeId: i32 = 40014i32;
21083 pub const UIA_IsItemContainerPatternAvailablePropertyId: i32 = 30108i32;
21084 pub const UIA_IsKeyboardFocusablePropertyId: i32 = 30009i32;
21085 pub const UIA_IsLegacyIAccessiblePatternAvailablePropertyId: i32 = 30090i32;
21086 pub const UIA_IsMultipleViewPatternAvailablePropertyId: i32 = 30032i32;
21087 pub const UIA_IsObjectModelPatternAvailablePropertyId: i32 = 30112i32;
21088 pub const UIA_IsOffscreenPropertyId: i32 = 30022i32;
21089 pub const UIA_IsPasswordPropertyId: i32 = 30019i32;
21090 pub const UIA_IsPeripheralPropertyId: i32 = 30150i32;
21091 pub const UIA_IsRangeValuePatternAvailablePropertyId: i32 = 30033i32;
21092 pub const UIA_IsReadOnlyAttributeId: i32 = 40015i32;
21093 pub const UIA_IsRequiredForFormPropertyId: i32 = 30025i32;
21094 pub const UIA_IsScrollItemPatternAvailablePropertyId: i32 = 30035i32;
21095 pub const UIA_IsScrollPatternAvailablePropertyId: i32 = 30034i32;
21096 pub const UIA_IsSelectionItemPatternAvailablePropertyId: i32 = 30036i32;
21097 pub const UIA_IsSelectionPattern2AvailablePropertyId: i32 = 30168i32;
21098 pub const UIA_IsSelectionPatternAvailablePropertyId: i32 = 30037i32;
21099 pub const UIA_IsSpreadsheetItemPatternAvailablePropertyId: i32 = 30132i32;
21100 pub const UIA_IsSpreadsheetPatternAvailablePropertyId: i32 = 30128i32;
21101 pub const UIA_IsStylesPatternAvailablePropertyId: i32 = 30127i32;
21102 pub const UIA_IsSubscriptAttributeId: i32 = 40016i32;
21103 pub const UIA_IsSuperscriptAttributeId: i32 = 40017i32;
21104 pub const UIA_IsSynchronizedInputPatternAvailablePropertyId: i32 = 30110i32;
21105 pub const UIA_IsTableItemPatternAvailablePropertyId: i32 = 30039i32;
21106 pub const UIA_IsTablePatternAvailablePropertyId: i32 = 30038i32;
21107 pub const UIA_IsTextChildPatternAvailablePropertyId: i32 = 30136i32;
21108 pub const UIA_IsTextEditPatternAvailablePropertyId: i32 = 30149i32;
21109 pub const UIA_IsTextPattern2AvailablePropertyId: i32 = 30119i32;
21110 pub const UIA_IsTextPatternAvailablePropertyId: i32 = 30040i32;
21111 pub const UIA_IsTogglePatternAvailablePropertyId: i32 = 30041i32;
21112 pub const UIA_IsTransformPattern2AvailablePropertyId: i32 = 30134i32;
21113 pub const UIA_IsTransformPatternAvailablePropertyId: i32 = 30042i32;
21114 pub const UIA_IsValuePatternAvailablePropertyId: i32 = 30043i32;
21115 pub const UIA_IsVirtualizedItemPatternAvailablePropertyId: i32 = 30109i32;
21116 pub const UIA_IsWindowPatternAvailablePropertyId: i32 = 30044i32;
21117 pub const UIA_ItemContainerPatternId: i32 = 10019i32;
21118 pub const UIA_ItemStatusPropertyId: i32 = 30026i32;
21119 pub const UIA_ItemTypePropertyId: i32 = 30021i32;
21120 pub const UIA_LabeledByPropertyId: i32 = 30018i32;
21121 pub const UIA_LandmarkTypePropertyId: i32 = 30157i32;
21122 pub const UIA_LayoutInvalidatedEventId: i32 = 20008i32;
21123 pub const UIA_LegacyIAccessibleChildIdPropertyId: i32 = 30091i32;
21124 pub const UIA_LegacyIAccessibleDefaultActionPropertyId: i32 = 30100i32;
21125 pub const UIA_LegacyIAccessibleDescriptionPropertyId: i32 = 30094i32;
21126 pub const UIA_LegacyIAccessibleHelpPropertyId: i32 = 30097i32;
21127 pub const UIA_LegacyIAccessibleKeyboardShortcutPropertyId: i32 = 30098i32;
21128 pub const UIA_LegacyIAccessibleNamePropertyId: i32 = 30092i32;
21129 pub const UIA_LegacyIAccessiblePatternId: i32 = 10018i32;
21130 pub const UIA_LegacyIAccessibleRolePropertyId: i32 = 30095i32;
21131 pub const UIA_LegacyIAccessibleSelectionPropertyId: i32 = 30099i32;
21132 pub const UIA_LegacyIAccessibleStatePropertyId: i32 = 30096i32;
21133 pub const UIA_LegacyIAccessibleValuePropertyId: i32 = 30093i32;
21134 pub const UIA_LevelPropertyId: i32 = 30154i32;
21135 pub const UIA_LineSpacingAttributeId: i32 = 40040i32;
21136 pub const UIA_LinkAttributeId: i32 = 40035i32;
21137 pub const UIA_ListControlTypeId: i32 = 50008i32;
21138 pub const UIA_ListItemControlTypeId: i32 = 50007i32;
21139 pub const UIA_LiveRegionChangedEventId: i32 = 20024i32;
21140 pub const UIA_LiveSettingPropertyId: i32 = 30135i32;
21141 pub const UIA_LocalizedControlTypePropertyId: i32 = 30004i32;
21142 pub const UIA_LocalizedLandmarkTypePropertyId: i32 = 30158i32;
21143 pub const UIA_MainLandmarkTypeId: i32 = 80002i32;
21144 pub const UIA_MarginBottomAttributeId: i32 = 40018i32;
21145 pub const UIA_MarginLeadingAttributeId: i32 = 40019i32;
21146 pub const UIA_MarginTopAttributeId: i32 = 40020i32;
21147 pub const UIA_MarginTrailingAttributeId: i32 = 40021i32;
21148 pub const UIA_MenuBarControlTypeId: i32 = 50010i32;
21149 pub const UIA_MenuClosedEventId: i32 = 20007i32;
21150 pub const UIA_MenuControlTypeId: i32 = 50009i32;
21151 pub const UIA_MenuItemControlTypeId: i32 = 50011i32;
21152 pub const UIA_MenuModeEndEventId: i32 = 20019i32;
21153 pub const UIA_MenuModeStartEventId: i32 = 20018i32;
21154 pub const UIA_MenuOpenedEventId: i32 = 20003i32;
21155 pub const UIA_MultipleViewCurrentViewPropertyId: i32 = 30071i32;
21156 pub const UIA_MultipleViewPatternId: i32 = 10008i32;
21157 pub const UIA_MultipleViewSupportedViewsPropertyId: i32 = 30072i32;
21158 pub const UIA_NamePropertyId: i32 = 30005i32;
21159 pub const UIA_NativeWindowHandlePropertyId: i32 = 30020i32;
21160 pub const UIA_NavigationLandmarkTypeId: i32 = 80003i32;
21161 pub const UIA_NotificationEventId: i32 = 20035i32;
21162 pub const UIA_ObjectModelPatternId: i32 = 10022i32;
21163 pub const UIA_OptimizeForVisualContentPropertyId: i32 = 30111i32;
21164 pub const UIA_OrientationPropertyId: i32 = 30023i32;
21165 pub const UIA_OutlineColorPropertyId: i32 = 30161i32;
21166 pub const UIA_OutlineStylesAttributeId: i32 = 40022i32;
21167 pub const UIA_OutlineThicknessPropertyId: i32 = 30164i32;
21168 pub const UIA_OverlineColorAttributeId: i32 = 40023i32;
21169 pub const UIA_OverlineStyleAttributeId: i32 = 40024i32;
21170 pub const UIA_PFIA_DEFAULT: u32 = 0u32;
21171 pub const UIA_PFIA_UNWRAP_BRIDGE: u32 = 1u32;
21172 pub const UIA_PaneControlTypeId: i32 = 50033i32;
21173 pub const UIA_PositionInSetPropertyId: i32 = 30152i32;
21174 pub const UIA_ProcessIdPropertyId: i32 = 30002i32;
21175 pub const UIA_ProgressBarControlTypeId: i32 = 50012i32;
21176 pub const UIA_ProviderDescriptionPropertyId: i32 = 30107i32;
21177 pub const UIA_RadioButtonControlTypeId: i32 = 50013i32;
21178 pub const UIA_RangeValueIsReadOnlyPropertyId: i32 = 30048i32;
21179 pub const UIA_RangeValueLargeChangePropertyId: i32 = 30051i32;
21180 pub const UIA_RangeValueMaximumPropertyId: i32 = 30050i32;
21181 pub const UIA_RangeValueMinimumPropertyId: i32 = 30049i32;
21182 pub const UIA_RangeValuePatternId: i32 = 10003i32;
21183 pub const UIA_RangeValueSmallChangePropertyId: i32 = 30052i32;
21184 pub const UIA_RangeValueValuePropertyId: i32 = 30047i32;
21185 pub const UIA_RotationPropertyId: i32 = 30166i32;
21186 pub const UIA_RuntimeIdPropertyId: i32 = 30000i32;
21187 pub const UIA_SayAsInterpretAsAttributeId: i32 = 40043i32;
21188 pub const UIA_SayAsInterpretAsMetadataId: i32 = 100000i32;
21189 pub const UIA_ScrollBarControlTypeId: i32 = 50014i32;
21190 pub const UIA_ScrollHorizontalScrollPercentPropertyId: i32 = 30053i32;
21191 pub const UIA_ScrollHorizontalViewSizePropertyId: i32 = 30054i32;
21192 pub const UIA_ScrollHorizontallyScrollablePropertyId: i32 = 30057i32;
21193 pub const UIA_ScrollItemPatternId: i32 = 10017i32;
21194 pub const UIA_ScrollPatternId: i32 = 10004i32;
21195 pub const UIA_ScrollPatternNoScroll: f64 = -1f64;
21196 pub const UIA_ScrollVerticalScrollPercentPropertyId: i32 = 30055i32;
21197 pub const UIA_ScrollVerticalViewSizePropertyId: i32 = 30056i32;
21198 pub const UIA_ScrollVerticallyScrollablePropertyId: i32 = 30058i32;
21199 pub const UIA_SearchLandmarkTypeId: i32 = 80004i32;
21200 pub const UIA_Selection2CurrentSelectedItemPropertyId: i32 = 30171i32;
21201 pub const UIA_Selection2FirstSelectedItemPropertyId: i32 = 30169i32;
21202 pub const UIA_Selection2ItemCountPropertyId: i32 = 30172i32;
21203 pub const UIA_Selection2LastSelectedItemPropertyId: i32 = 30170i32;
21204 pub const UIA_SelectionActiveEndAttributeId: i32 = 40037i32;
21205 pub const UIA_SelectionCanSelectMultiplePropertyId: i32 = 30060i32;
21206 pub const UIA_SelectionIsSelectionRequiredPropertyId: i32 = 30061i32;
21207 pub const UIA_SelectionItemIsSelectedPropertyId: i32 = 30079i32;
21208 pub const UIA_SelectionItemPatternId: i32 = 10010i32;
21209 pub const UIA_SelectionItemSelectionContainerPropertyId: i32 = 30080i32;
21210 pub const UIA_SelectionItem_ElementAddedToSelectionEventId: i32 = 20010i32;
21211 pub const UIA_SelectionItem_ElementRemovedFromSelectionEventId: i32 = 20011i32;
21212 pub const UIA_SelectionItem_ElementSelectedEventId: i32 = 20012i32;
21213 pub const UIA_SelectionPattern2Id: i32 = 10034i32;
21214 pub const UIA_SelectionPatternId: i32 = 10001i32;
21215 pub const UIA_SelectionSelectionPropertyId: i32 = 30059i32;
21216 pub const UIA_Selection_InvalidatedEventId: i32 = 20013i32;
21217 pub const UIA_SemanticZoomControlTypeId: i32 = 50039i32;
21218 pub const UIA_SeparatorControlTypeId: i32 = 50038i32;
21219 pub const UIA_SizeOfSetPropertyId: i32 = 30153i32;
21220 pub const UIA_SizePropertyId: i32 = 30167i32;
21221 pub const UIA_SliderControlTypeId: i32 = 50015i32;
21222 pub const UIA_SpinnerControlTypeId: i32 = 50016i32;
21223 pub const UIA_SplitButtonControlTypeId: i32 = 50031i32;
21224 pub const UIA_SpreadsheetItemAnnotationObjectsPropertyId: i32 = 30130i32;
21225 pub const UIA_SpreadsheetItemAnnotationTypesPropertyId: i32 = 30131i32;
21226 pub const UIA_SpreadsheetItemFormulaPropertyId: i32 = 30129i32;
21227 pub const UIA_SpreadsheetItemPatternId: i32 = 10027i32;
21228 pub const UIA_SpreadsheetPatternId: i32 = 10026i32;
21229 pub const UIA_StatusBarControlTypeId: i32 = 50017i32;
21230 pub const UIA_StrikethroughColorAttributeId: i32 = 40025i32;
21231 pub const UIA_StrikethroughStyleAttributeId: i32 = 40026i32;
21232 pub const UIA_StructureChangedEventId: i32 = 20002i32;
21233 pub const UIA_StyleIdAttributeId: i32 = 40034i32;
21234 pub const UIA_StyleNameAttributeId: i32 = 40033i32;
21235 pub const UIA_StylesExtendedPropertiesPropertyId: i32 = 30126i32;
21236 pub const UIA_StylesFillColorPropertyId: i32 = 30122i32;
21237 pub const UIA_StylesFillPatternColorPropertyId: i32 = 30125i32;
21238 pub const UIA_StylesFillPatternStylePropertyId: i32 = 30123i32;
21239 pub const UIA_StylesPatternId: i32 = 10025i32;
21240 pub const UIA_StylesShapePropertyId: i32 = 30124i32;
21241 pub const UIA_StylesStyleIdPropertyId: i32 = 30120i32;
21242 pub const UIA_StylesStyleNamePropertyId: i32 = 30121i32;
21243 pub const UIA_SummaryChangeId: i32 = 90000i32;
21244 pub const UIA_SynchronizedInputPatternId: i32 = 10021i32;
21245 pub const UIA_SystemAlertEventId: i32 = 20023i32;
21246 pub const UIA_TabControlTypeId: i32 = 50018i32;
21247 pub const UIA_TabItemControlTypeId: i32 = 50019i32;
21248 pub const UIA_TableColumnHeadersPropertyId: i32 = 30082i32;
21249 pub const UIA_TableControlTypeId: i32 = 50036i32;
21250 pub const UIA_TableItemColumnHeaderItemsPropertyId: i32 = 30085i32;
21251 pub const UIA_TableItemPatternId: i32 = 10013i32;
21252 pub const UIA_TableItemRowHeaderItemsPropertyId: i32 = 30084i32;
21253 pub const UIA_TablePatternId: i32 = 10012i32;
21254 pub const UIA_TableRowHeadersPropertyId: i32 = 30081i32;
21255 pub const UIA_TableRowOrColumnMajorPropertyId: i32 = 30083i32;
21256 pub const UIA_TabsAttributeId: i32 = 40027i32;
21257 pub const UIA_TextChildPatternId: i32 = 10029i32;
21258 pub const UIA_TextControlTypeId: i32 = 50020i32;
21259 pub const UIA_TextEditPatternId: i32 = 10032i32;
21260 pub const UIA_TextEdit_ConversionTargetChangedEventId: i32 = 20033i32;
21261 pub const UIA_TextEdit_TextChangedEventId: i32 = 20032i32;
21262 pub const UIA_TextFlowDirectionsAttributeId: i32 = 40028i32;
21263 pub const UIA_TextPattern2Id: i32 = 10024i32;
21264 pub const UIA_TextPatternId: i32 = 10014i32;
21265 pub const UIA_Text_TextChangedEventId: i32 = 20015i32;
21266 pub const UIA_Text_TextSelectionChangedEventId: i32 = 20014i32;
21267 pub const UIA_ThumbControlTypeId: i32 = 50027i32;
21268 pub const UIA_TitleBarControlTypeId: i32 = 50037i32;
21269 pub const UIA_TogglePatternId: i32 = 10015i32;
21270 pub const UIA_ToggleToggleStatePropertyId: i32 = 30086i32;
21271 pub const UIA_ToolBarControlTypeId: i32 = 50021i32;
21272 pub const UIA_ToolTipClosedEventId: i32 = 20001i32;
21273 pub const UIA_ToolTipControlTypeId: i32 = 50022i32;
21274 pub const UIA_ToolTipOpenedEventId: i32 = 20000i32;
21275 pub const UIA_Transform2CanZoomPropertyId: i32 = 30133i32;
21276 pub const UIA_Transform2ZoomLevelPropertyId: i32 = 30145i32;
21277 pub const UIA_Transform2ZoomMaximumPropertyId: i32 = 30147i32;
21278 pub const UIA_Transform2ZoomMinimumPropertyId: i32 = 30146i32;
21279 pub const UIA_TransformCanMovePropertyId: i32 = 30087i32;
21280 pub const UIA_TransformCanResizePropertyId: i32 = 30088i32;
21281 pub const UIA_TransformCanRotatePropertyId: i32 = 30089i32;
21282 pub const UIA_TransformPattern2Id: i32 = 10028i32;
21283 pub const UIA_TransformPatternId: i32 = 10016i32;
21284 pub const UIA_TreeControlTypeId: i32 = 50023i32;
21285 pub const UIA_TreeItemControlTypeId: i32 = 50024i32;
21286 pub const UIA_UnderlineColorAttributeId: i32 = 40029i32;
21287 pub const UIA_UnderlineStyleAttributeId: i32 = 40030i32;
21288 pub const UIA_ValueIsReadOnlyPropertyId: i32 = 30046i32;
21289 pub const UIA_ValuePatternId: i32 = 10002i32;
21290 pub const UIA_ValueValuePropertyId: i32 = 30045i32;
21291 pub const UIA_VirtualizedItemPatternId: i32 = 10020i32;
21292 pub const UIA_VisualEffectsPropertyId: i32 = 30163i32;
21293 pub const UIA_WindowCanMaximizePropertyId: i32 = 30073i32;
21294 pub const UIA_WindowCanMinimizePropertyId: i32 = 30074i32;
21295 pub const UIA_WindowControlTypeId: i32 = 50032i32;
21296 pub const UIA_WindowIsModalPropertyId: i32 = 30077i32;
21297 pub const UIA_WindowIsTopmostPropertyId: i32 = 30078i32;
21298 pub const UIA_WindowPatternId: i32 = 10009i32;
21299 pub const UIA_WindowWindowInteractionStatePropertyId: i32 = 30076i32;
21300 pub const UIA_WindowWindowVisualStatePropertyId: i32 = 30075i32;
21301 pub const UIA_Window_WindowClosedEventId: i32 = 20017i32;
21302 pub const UIA_Window_WindowOpenedEventId: i32 = 20016i32;
21303 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21304 #[repr(C)]
21305 #[cfg(feature = "Win32_Foundation")]
21306 pub struct UIAutomationEventInfo {
21307     pub guid: ::windows::runtime::GUID,
21308     pub pProgrammaticName: super::super::Foundation::PWSTR,
21309 }
21310 #[cfg(feature = "Win32_Foundation")]
21311 impl UIAutomationEventInfo {}
21312 #[cfg(feature = "Win32_Foundation")]
21313 impl ::std::default::Default for UIAutomationEventInfo {
21314     fn default() -> Self {
21315         unsafe { ::std::mem::zeroed() }
21316     }
21317 }
21318 #[cfg(feature = "Win32_Foundation")]
21319 impl ::std::fmt::Debug for UIAutomationEventInfo {
21320     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21321         fmt.debug_struct("UIAutomationEventInfo").field("guid", &self.guid).field("pProgrammaticName", &self.pProgrammaticName).finish()
21322     }
21323 }
21324 #[cfg(feature = "Win32_Foundation")]
21325 impl ::std::cmp::PartialEq for UIAutomationEventInfo {
21326     fn eq(&self, other: &Self) -> bool {
21327         self.guid == other.guid && self.pProgrammaticName == other.pProgrammaticName
21328     }
21329 }
21330 #[cfg(feature = "Win32_Foundation")]
21331 impl ::std::cmp::Eq for UIAutomationEventInfo {}
21332 #[cfg(feature = "Win32_Foundation")]
21333 unsafe impl ::windows::runtime::Abi for UIAutomationEventInfo {
21334     type Abi = Self;
21335     type DefaultType = Self;
21336 }
21337 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21338 #[repr(C)]
21339 #[cfg(feature = "Win32_Foundation")]
21340 pub struct UIAutomationMethodInfo {
21341     pub pProgrammaticName: super::super::Foundation::PWSTR,
21342     pub doSetFocus: super::super::Foundation::BOOL,
21343     pub cInParameters: u32,
21344     pub cOutParameters: u32,
21345     pub pParameterTypes: *mut UIAutomationType,
21346     pub pParameterNames: *mut super::super::Foundation::PWSTR,
21347 }
21348 #[cfg(feature = "Win32_Foundation")]
21349 impl UIAutomationMethodInfo {}
21350 #[cfg(feature = "Win32_Foundation")]
21351 impl ::std::default::Default for UIAutomationMethodInfo {
21352     fn default() -> Self {
21353         unsafe { ::std::mem::zeroed() }
21354     }
21355 }
21356 #[cfg(feature = "Win32_Foundation")]
21357 impl ::std::fmt::Debug for UIAutomationMethodInfo {
21358     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21359         fmt.debug_struct("UIAutomationMethodInfo")
21360             .field("pProgrammaticName", &self.pProgrammaticName)
21361             .field("doSetFocus", &self.doSetFocus)
21362             .field("cInParameters", &self.cInParameters)
21363             .field("cOutParameters", &self.cOutParameters)
21364             .field("pParameterTypes", &self.pParameterTypes)
21365             .field("pParameterNames", &self.pParameterNames)
21366             .finish()
21367     }
21368 }
21369 #[cfg(feature = "Win32_Foundation")]
21370 impl ::std::cmp::PartialEq for UIAutomationMethodInfo {
21371     fn eq(&self, other: &Self) -> bool {
21372         self.pProgrammaticName == other.pProgrammaticName && self.doSetFocus == other.doSetFocus && self.cInParameters == other.cInParameters && self.cOutParameters == other.cOutParameters && self.pParameterTypes == other.pParameterTypes && self.pParameterNames == other.pParameterNames
21373     }
21374 }
21375 #[cfg(feature = "Win32_Foundation")]
21376 impl ::std::cmp::Eq for UIAutomationMethodInfo {}
21377 #[cfg(feature = "Win32_Foundation")]
21378 unsafe impl ::windows::runtime::Abi for UIAutomationMethodInfo {
21379     type Abi = Self;
21380     type DefaultType = Self;
21381 }
21382 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21383 #[repr(C)]
21384 pub struct UIAutomationParameter {
21385     pub r#type: UIAutomationType,
21386     pub pData: *mut ::std::ffi::c_void,
21387 }
21388 impl UIAutomationParameter {}
21389 impl ::std::default::Default for UIAutomationParameter {
21390     fn default() -> Self {
21391         unsafe { ::std::mem::zeroed() }
21392     }
21393 }
21394 impl ::std::fmt::Debug for UIAutomationParameter {
21395     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21396         fmt.debug_struct("UIAutomationParameter").field("r#type", &self.r#type).field("pData", &self.pData).finish()
21397     }
21398 }
21399 impl ::std::cmp::PartialEq for UIAutomationParameter {
21400     fn eq(&self, other: &Self) -> bool {
21401         self.r#type == other.r#type && self.pData == other.pData
21402     }
21403 }
21404 impl ::std::cmp::Eq for UIAutomationParameter {}
21405 unsafe impl ::windows::runtime::Abi for UIAutomationParameter {
21406     type Abi = Self;
21407     type DefaultType = Self;
21408 }
21409 #[derive(:: std :: clone :: Clone)]
21410 #[repr(C)]
21411 #[cfg(feature = "Win32_Foundation")]
21412 pub struct UIAutomationPatternInfo {
21413     pub guid: ::windows::runtime::GUID,
21414     pub pProgrammaticName: super::super::Foundation::PWSTR,
21415     pub providerInterfaceId: ::windows::runtime::GUID,
21416     pub clientInterfaceId: ::windows::runtime::GUID,
21417     pub cProperties: u32,
21418     pub pProperties: *mut UIAutomationPropertyInfo,
21419     pub cMethods: u32,
21420     pub pMethods: *mut UIAutomationMethodInfo,
21421     pub cEvents: u32,
21422     pub pEvents: *mut UIAutomationEventInfo,
21423     pub pPatternHandler: ::std::option::Option<IUIAutomationPatternHandler>,
21424 }
21425 #[cfg(feature = "Win32_Foundation")]
21426 impl UIAutomationPatternInfo {}
21427 #[cfg(feature = "Win32_Foundation")]
21428 impl ::std::default::Default for UIAutomationPatternInfo {
21429     fn default() -> Self {
21430         unsafe { ::std::mem::zeroed() }
21431     }
21432 }
21433 #[cfg(feature = "Win32_Foundation")]
21434 impl ::std::fmt::Debug for UIAutomationPatternInfo {
21435     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21436         fmt.debug_struct("UIAutomationPatternInfo")
21437             .field("guid", &self.guid)
21438             .field("pProgrammaticName", &self.pProgrammaticName)
21439             .field("providerInterfaceId", &self.providerInterfaceId)
21440             .field("clientInterfaceId", &self.clientInterfaceId)
21441             .field("cProperties", &self.cProperties)
21442             .field("pProperties", &self.pProperties)
21443             .field("cMethods", &self.cMethods)
21444             .field("pMethods", &self.pMethods)
21445             .field("cEvents", &self.cEvents)
21446             .field("pEvents", &self.pEvents)
21447             .field("pPatternHandler", &self.pPatternHandler)
21448             .finish()
21449     }
21450 }
21451 #[cfg(feature = "Win32_Foundation")]
21452 impl ::std::cmp::PartialEq for UIAutomationPatternInfo {
21453     fn eq(&self, other: &Self) -> bool {
21454         self.guid == other.guid && self.pProgrammaticName == other.pProgrammaticName && self.providerInterfaceId == other.providerInterfaceId && self.clientInterfaceId == other.clientInterfaceId && self.cProperties == other.cProperties && self.pProperties == other.pProperties && self.cMethods == other.cMethods && self.pMethods == other.pMethods && self.cEvents == other.cEvents && self.pEvents == other.pEvents && self.pPatternHandler == other.pPatternHandler
21455     }
21456 }
21457 #[cfg(feature = "Win32_Foundation")]
21458 impl ::std::cmp::Eq for UIAutomationPatternInfo {}
21459 #[cfg(feature = "Win32_Foundation")]
21460 unsafe impl ::windows::runtime::Abi for UIAutomationPatternInfo {
21461     type Abi = ::std::mem::ManuallyDrop<Self>;
21462     type DefaultType = Self;
21463 }
21464 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21465 #[repr(C)]
21466 #[cfg(feature = "Win32_Foundation")]
21467 pub struct UIAutomationPropertyInfo {
21468     pub guid: ::windows::runtime::GUID,
21469     pub pProgrammaticName: super::super::Foundation::PWSTR,
21470     pub r#type: UIAutomationType,
21471 }
21472 #[cfg(feature = "Win32_Foundation")]
21473 impl UIAutomationPropertyInfo {}
21474 #[cfg(feature = "Win32_Foundation")]
21475 impl ::std::default::Default for UIAutomationPropertyInfo {
21476     fn default() -> Self {
21477         unsafe { ::std::mem::zeroed() }
21478     }
21479 }
21480 #[cfg(feature = "Win32_Foundation")]
21481 impl ::std::fmt::Debug for UIAutomationPropertyInfo {
21482     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21483         fmt.debug_struct("UIAutomationPropertyInfo").field("guid", &self.guid).field("pProgrammaticName", &self.pProgrammaticName).field("r#type", &self.r#type).finish()
21484     }
21485 }
21486 #[cfg(feature = "Win32_Foundation")]
21487 impl ::std::cmp::PartialEq for UIAutomationPropertyInfo {
21488     fn eq(&self, other: &Self) -> bool {
21489         self.guid == other.guid && self.pProgrammaticName == other.pProgrammaticName && self.r#type == other.r#type
21490     }
21491 }
21492 #[cfg(feature = "Win32_Foundation")]
21493 impl ::std::cmp::Eq for UIAutomationPropertyInfo {}
21494 #[cfg(feature = "Win32_Foundation")]
21495 unsafe impl ::windows::runtime::Abi for UIAutomationPropertyInfo {
21496     type Abi = Self;
21497     type DefaultType = Self;
21498 }
21499 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
21500 #[repr(transparent)]
21501 pub struct UIAutomationType(pub i32);
21502 pub const UIAutomationType_Int: UIAutomationType = UIAutomationType(1i32);
21503 pub const UIAutomationType_Bool: UIAutomationType = UIAutomationType(2i32);
21504 pub const UIAutomationType_String: UIAutomationType = UIAutomationType(3i32);
21505 pub const UIAutomationType_Double: UIAutomationType = UIAutomationType(4i32);
21506 pub const UIAutomationType_Point: UIAutomationType = UIAutomationType(5i32);
21507 pub const UIAutomationType_Rect: UIAutomationType = UIAutomationType(6i32);
21508 pub const UIAutomationType_Element: UIAutomationType = UIAutomationType(7i32);
21509 pub const UIAutomationType_Array: UIAutomationType = UIAutomationType(65536i32);
21510 pub const UIAutomationType_Out: UIAutomationType = UIAutomationType(131072i32);
21511 pub const UIAutomationType_IntArray: UIAutomationType = UIAutomationType(65537i32);
21512 pub const UIAutomationType_BoolArray: UIAutomationType = UIAutomationType(65538i32);
21513 pub const UIAutomationType_StringArray: UIAutomationType = UIAutomationType(65539i32);
21514 pub const UIAutomationType_DoubleArray: UIAutomationType = UIAutomationType(65540i32);
21515 pub const UIAutomationType_PointArray: UIAutomationType = UIAutomationType(65541i32);
21516 pub const UIAutomationType_RectArray: UIAutomationType = UIAutomationType(65542i32);
21517 pub const UIAutomationType_ElementArray: UIAutomationType = UIAutomationType(65543i32);
21518 pub const UIAutomationType_OutInt: UIAutomationType = UIAutomationType(131073i32);
21519 pub const UIAutomationType_OutBool: UIAutomationType = UIAutomationType(131074i32);
21520 pub const UIAutomationType_OutString: UIAutomationType = UIAutomationType(131075i32);
21521 pub const UIAutomationType_OutDouble: UIAutomationType = UIAutomationType(131076i32);
21522 pub const UIAutomationType_OutPoint: UIAutomationType = UIAutomationType(131077i32);
21523 pub const UIAutomationType_OutRect: UIAutomationType = UIAutomationType(131078i32);
21524 pub const UIAutomationType_OutElement: UIAutomationType = UIAutomationType(131079i32);
21525 pub const UIAutomationType_OutIntArray: UIAutomationType = UIAutomationType(196609i32);
21526 pub const UIAutomationType_OutBoolArray: UIAutomationType = UIAutomationType(196610i32);
21527 pub const UIAutomationType_OutStringArray: UIAutomationType = UIAutomationType(196611i32);
21528 pub const UIAutomationType_OutDoubleArray: UIAutomationType = UIAutomationType(196612i32);
21529 pub const UIAutomationType_OutPointArray: UIAutomationType = UIAutomationType(196613i32);
21530 pub const UIAutomationType_OutRectArray: UIAutomationType = UIAutomationType(196614i32);
21531 pub const UIAutomationType_OutElementArray: UIAutomationType = UIAutomationType(196615i32);
21532 impl ::std::convert::From<i32> for UIAutomationType {
21533     fn from(value: i32) -> Self {
21534         Self(value)
21535     }
21536 }
21537 unsafe impl ::windows::runtime::Abi for UIAutomationType {
21538     type Abi = Self;
21539     type DefaultType = Self;
21540 }
21541 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
21542 #[inline]
21543 pub unsafe fn UiaAddEvent<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0, eventid: i32, pcallback: *mut ::std::option::Option<UiaEventCallback>, scope: TreeScope, pproperties: *mut i32, cproperties: i32, prequest: *mut UiaCacheRequest, phevent: *mut HUIAEVENT) -> ::windows::runtime::Result<()> {
21544     #[cfg(windows)]
21545     {
21546         #[link(name = "windows")]
21547         extern "system" {
21548             fn UiaAddEvent(hnode: HUIANODE, eventid: i32, pcallback: *mut ::windows::runtime::RawPtr, scope: TreeScope, pproperties: *mut i32, cproperties: i32, prequest: *mut UiaCacheRequest, phevent: *mut HUIAEVENT) -> ::windows::runtime::HRESULT;
21549         }
21550         UiaAddEvent(hnode.into_param().abi(), ::std::mem::transmute(eventid), ::std::mem::transmute(pcallback), ::std::mem::transmute(scope), ::std::mem::transmute(pproperties), ::std::mem::transmute(cproperties), ::std::mem::transmute(prequest), ::std::mem::transmute(phevent)).ok()
21551     }
21552     #[cfg(not(windows))]
21553     unimplemented!("Unsupported target OS");
21554 }
21555 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21556 #[repr(C)]
21557 pub struct UiaAndOrCondition {
21558     pub ConditionType: ConditionType,
21559     pub ppConditions: *mut *mut UiaCondition,
21560     pub cConditions: i32,
21561 }
21562 impl UiaAndOrCondition {}
21563 impl ::std::default::Default for UiaAndOrCondition {
21564     fn default() -> Self {
21565         unsafe { ::std::mem::zeroed() }
21566     }
21567 }
21568 impl ::std::fmt::Debug for UiaAndOrCondition {
21569     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21570         fmt.debug_struct("UiaAndOrCondition").field("ConditionType", &self.ConditionType).field("ppConditions", &self.ppConditions).field("cConditions", &self.cConditions).finish()
21571     }
21572 }
21573 impl ::std::cmp::PartialEq for UiaAndOrCondition {
21574     fn eq(&self, other: &Self) -> bool {
21575         self.ConditionType == other.ConditionType && self.ppConditions == other.ppConditions && self.cConditions == other.cConditions
21576     }
21577 }
21578 impl ::std::cmp::Eq for UiaAndOrCondition {}
21579 unsafe impl ::windows::runtime::Abi for UiaAndOrCondition {
21580     type Abi = Self;
21581     type DefaultType = Self;
21582 }
21583 pub const UiaAppendRuntimeId: u32 = 3u32;
21584 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21585 #[repr(C)]
21586 pub struct UiaAsyncContentLoadedEventArgs {
21587     pub Type: EventArgsType,
21588     pub EventId: i32,
21589     pub AsyncContentLoadedState: AsyncContentLoadedState,
21590     pub PercentComplete: f64,
21591 }
21592 impl UiaAsyncContentLoadedEventArgs {}
21593 impl ::std::default::Default for UiaAsyncContentLoadedEventArgs {
21594     fn default() -> Self {
21595         unsafe { ::std::mem::zeroed() }
21596     }
21597 }
21598 impl ::std::fmt::Debug for UiaAsyncContentLoadedEventArgs {
21599     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21600         fmt.debug_struct("UiaAsyncContentLoadedEventArgs").field("Type", &self.Type).field("EventId", &self.EventId).field("AsyncContentLoadedState", &self.AsyncContentLoadedState).field("PercentComplete", &self.PercentComplete).finish()
21601     }
21602 }
21603 impl ::std::cmp::PartialEq for UiaAsyncContentLoadedEventArgs {
21604     fn eq(&self, other: &Self) -> bool {
21605         self.Type == other.Type && self.EventId == other.EventId && self.AsyncContentLoadedState == other.AsyncContentLoadedState && self.PercentComplete == other.PercentComplete
21606     }
21607 }
21608 impl ::std::cmp::Eq for UiaAsyncContentLoadedEventArgs {}
21609 unsafe impl ::windows::runtime::Abi for UiaAsyncContentLoadedEventArgs {
21610     type Abi = Self;
21611     type DefaultType = Self;
21612 }
21613 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21614 #[repr(C)]
21615 pub struct UiaCacheRequest {
21616     pub pViewCondition: *mut UiaCondition,
21617     pub Scope: TreeScope,
21618     pub pProperties: *mut i32,
21619     pub cProperties: i32,
21620     pub pPatterns: *mut i32,
21621     pub cPatterns: i32,
21622     pub automationElementMode: AutomationElementMode,
21623 }
21624 impl UiaCacheRequest {}
21625 impl ::std::default::Default for UiaCacheRequest {
21626     fn default() -> Self {
21627         unsafe { ::std::mem::zeroed() }
21628     }
21629 }
21630 impl ::std::fmt::Debug for UiaCacheRequest {
21631     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21632         fmt.debug_struct("UiaCacheRequest")
21633             .field("pViewCondition", &self.pViewCondition)
21634             .field("Scope", &self.Scope)
21635             .field("pProperties", &self.pProperties)
21636             .field("cProperties", &self.cProperties)
21637             .field("pPatterns", &self.pPatterns)
21638             .field("cPatterns", &self.cPatterns)
21639             .field("automationElementMode", &self.automationElementMode)
21640             .finish()
21641     }
21642 }
21643 impl ::std::cmp::PartialEq for UiaCacheRequest {
21644     fn eq(&self, other: &Self) -> bool {
21645         self.pViewCondition == other.pViewCondition && self.Scope == other.Scope && self.pProperties == other.pProperties && self.cProperties == other.cProperties && self.pPatterns == other.pPatterns && self.cPatterns == other.cPatterns && self.automationElementMode == other.automationElementMode
21646     }
21647 }
21648 impl ::std::cmp::Eq for UiaCacheRequest {}
21649 unsafe impl ::windows::runtime::Abi for UiaCacheRequest {
21650     type Abi = Self;
21651     type DefaultType = Self;
21652 }
21653 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21654 impl ::std::clone::Clone for UiaChangeInfo {
21655     fn clone(&self) -> Self {
21656         unimplemented!()
21657     }
21658 }
21659 #[repr(C)]
21660 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21661 pub struct UiaChangeInfo {
21662     pub uiaId: i32,
21663     pub payload: super::super::System::Com::VARIANT,
21664     pub extraInfo: super::super::System::Com::VARIANT,
21665 }
21666 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21667 impl UiaChangeInfo {}
21668 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21669 impl ::std::default::Default for UiaChangeInfo {
21670     fn default() -> Self {
21671         unsafe { ::std::mem::zeroed() }
21672     }
21673 }
21674 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21675 impl ::std::cmp::PartialEq for UiaChangeInfo {
21676     fn eq(&self, _other: &Self) -> bool {
21677         unimplemented!()
21678     }
21679 }
21680 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21681 impl ::std::cmp::Eq for UiaChangeInfo {}
21682 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21683 unsafe impl ::windows::runtime::Abi for UiaChangeInfo {
21684     type Abi = ::std::mem::ManuallyDrop<Self>;
21685     type DefaultType = Self;
21686 }
21687 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21688 #[repr(C)]
21689 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21690 pub struct UiaChangesEventArgs {
21691     pub Type: EventArgsType,
21692     pub EventId: i32,
21693     pub EventIdCount: i32,
21694     pub pUiaChanges: *mut UiaChangeInfo,
21695 }
21696 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21697 impl UiaChangesEventArgs {}
21698 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21699 impl ::std::default::Default for UiaChangesEventArgs {
21700     fn default() -> Self {
21701         unsafe { ::std::mem::zeroed() }
21702     }
21703 }
21704 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21705 impl ::std::fmt::Debug for UiaChangesEventArgs {
21706     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21707         fmt.debug_struct("UiaChangesEventArgs").field("Type", &self.Type).field("EventId", &self.EventId).field("EventIdCount", &self.EventIdCount).field("pUiaChanges", &self.pUiaChanges).finish()
21708     }
21709 }
21710 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21711 impl ::std::cmp::PartialEq for UiaChangesEventArgs {
21712     fn eq(&self, other: &Self) -> bool {
21713         self.Type == other.Type && self.EventId == other.EventId && self.EventIdCount == other.EventIdCount && self.pUiaChanges == other.pUiaChanges
21714     }
21715 }
21716 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21717 impl ::std::cmp::Eq for UiaChangesEventArgs {}
21718 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21719 unsafe impl ::windows::runtime::Abi for UiaChangesEventArgs {
21720     type Abi = Self;
21721     type DefaultType = Self;
21722 }
21723 #[cfg(feature = "Win32_Foundation")]
21724 #[inline]
21725 pub unsafe fn UiaClientsAreListening() -> super::super::Foundation::BOOL {
21726     #[cfg(windows)]
21727     {
21728         #[link(name = "windows")]
21729         extern "system" {
21730             fn UiaClientsAreListening() -> super::super::Foundation::BOOL;
21731         }
21732         ::std::mem::transmute(UiaClientsAreListening())
21733     }
21734     #[cfg(not(windows))]
21735     unimplemented!("Unsupported target OS");
21736 }
21737 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21738 #[repr(C)]
21739 pub struct UiaCondition {
21740     pub ConditionType: ConditionType,
21741 }
21742 impl UiaCondition {}
21743 impl ::std::default::Default for UiaCondition {
21744     fn default() -> Self {
21745         unsafe { ::std::mem::zeroed() }
21746     }
21747 }
21748 impl ::std::fmt::Debug for UiaCondition {
21749     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21750         fmt.debug_struct("UiaCondition").field("ConditionType", &self.ConditionType).finish()
21751     }
21752 }
21753 impl ::std::cmp::PartialEq for UiaCondition {
21754     fn eq(&self, other: &Self) -> bool {
21755         self.ConditionType == other.ConditionType
21756     }
21757 }
21758 impl ::std::cmp::Eq for UiaCondition {}
21759 unsafe impl ::windows::runtime::Abi for UiaCondition {
21760     type Abi = Self;
21761     type DefaultType = Self;
21762 }
21763 #[inline]
21764 pub unsafe fn UiaDisconnectAllProviders() -> ::windows::runtime::Result<()> {
21765     #[cfg(windows)]
21766     {
21767         #[link(name = "windows")]
21768         extern "system" {
21769             fn UiaDisconnectAllProviders() -> ::windows::runtime::HRESULT;
21770         }
21771         UiaDisconnectAllProviders().ok()
21772     }
21773     #[cfg(not(windows))]
21774     unimplemented!("Unsupported target OS");
21775 }
21776 #[inline]
21777 pub unsafe fn UiaDisconnectProvider<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0) -> ::windows::runtime::Result<()> {
21778     #[cfg(windows)]
21779     {
21780         #[link(name = "windows")]
21781         extern "system" {
21782             fn UiaDisconnectProvider(pprovider: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
21783         }
21784         UiaDisconnectProvider(pprovider.into_param().abi()).ok()
21785     }
21786     #[cfg(not(windows))]
21787     unimplemented!("Unsupported target OS");
21788 }
21789 #[cfg(feature = "Win32_Foundation")]
21790 #[inline]
21791 pub unsafe fn UiaEventAddWindow<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAEVENT>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hevent: Param0, hwnd: Param1) -> ::windows::runtime::Result<()> {
21792     #[cfg(windows)]
21793     {
21794         #[link(name = "windows")]
21795         extern "system" {
21796             fn UiaEventAddWindow(hevent: HUIAEVENT, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT;
21797         }
21798         UiaEventAddWindow(hevent.into_param().abi(), hwnd.into_param().abi()).ok()
21799     }
21800     #[cfg(not(windows))]
21801     unimplemented!("Unsupported target OS");
21802 }
21803 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21804 #[repr(C)]
21805 pub struct UiaEventArgs {
21806     pub Type: EventArgsType,
21807     pub EventId: i32,
21808 }
21809 impl UiaEventArgs {}
21810 impl ::std::default::Default for UiaEventArgs {
21811     fn default() -> Self {
21812         unsafe { ::std::mem::zeroed() }
21813     }
21814 }
21815 impl ::std::fmt::Debug for UiaEventArgs {
21816     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21817         fmt.debug_struct("UiaEventArgs").field("Type", &self.Type).field("EventId", &self.EventId).finish()
21818     }
21819 }
21820 impl ::std::cmp::PartialEq for UiaEventArgs {
21821     fn eq(&self, other: &Self) -> bool {
21822         self.Type == other.Type && self.EventId == other.EventId
21823     }
21824 }
21825 impl ::std::cmp::Eq for UiaEventArgs {}
21826 unsafe impl ::windows::runtime::Abi for UiaEventArgs {
21827     type Abi = Self;
21828     type DefaultType = Self;
21829 }
21830 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
21831 pub type UiaEventCallback = unsafe extern "system" fn(pargs: *mut UiaEventArgs, prequesteddata: *mut super::super::System::Com::SAFEARRAY, ptreestructure: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>);
21832 #[cfg(feature = "Win32_Foundation")]
21833 #[inline]
21834 pub unsafe fn UiaEventRemoveWindow<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAEVENT>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hevent: Param0, hwnd: Param1) -> ::windows::runtime::Result<()> {
21835     #[cfg(windows)]
21836     {
21837         #[link(name = "windows")]
21838         extern "system" {
21839             fn UiaEventRemoveWindow(hevent: HUIAEVENT, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT;
21840         }
21841         UiaEventRemoveWindow(hevent.into_param().abi(), hwnd.into_param().abi()).ok()
21842     }
21843     #[cfg(not(windows))]
21844     unimplemented!("Unsupported target OS");
21845 }
21846 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
21847 #[inline]
21848 pub unsafe fn UiaFind<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0, pparams: *mut UiaFindParams, prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, ppoffsets: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructures: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
21849     #[cfg(windows)]
21850     {
21851         #[link(name = "windows")]
21852         extern "system" {
21853             fn UiaFind(hnode: HUIANODE, pparams: *mut UiaFindParams, prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, ppoffsets: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructures: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT;
21854         }
21855         UiaFind(hnode.into_param().abi(), ::std::mem::transmute(pparams), ::std::mem::transmute(prequest), ::std::mem::transmute(pprequesteddata), ::std::mem::transmute(ppoffsets), ::std::mem::transmute(pptreestructures)).ok()
21856     }
21857     #[cfg(not(windows))]
21858     unimplemented!("Unsupported target OS");
21859 }
21860 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
21861 #[repr(C)]
21862 #[cfg(feature = "Win32_Foundation")]
21863 pub struct UiaFindParams {
21864     pub MaxDepth: i32,
21865     pub FindFirst: super::super::Foundation::BOOL,
21866     pub ExcludeRoot: super::super::Foundation::BOOL,
21867     pub pFindCondition: *mut UiaCondition,
21868 }
21869 #[cfg(feature = "Win32_Foundation")]
21870 impl UiaFindParams {}
21871 #[cfg(feature = "Win32_Foundation")]
21872 impl ::std::default::Default for UiaFindParams {
21873     fn default() -> Self {
21874         unsafe { ::std::mem::zeroed() }
21875     }
21876 }
21877 #[cfg(feature = "Win32_Foundation")]
21878 impl ::std::fmt::Debug for UiaFindParams {
21879     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21880         fmt.debug_struct("UiaFindParams").field("MaxDepth", &self.MaxDepth).field("FindFirst", &self.FindFirst).field("ExcludeRoot", &self.ExcludeRoot).field("pFindCondition", &self.pFindCondition).finish()
21881     }
21882 }
21883 #[cfg(feature = "Win32_Foundation")]
21884 impl ::std::cmp::PartialEq for UiaFindParams {
21885     fn eq(&self, other: &Self) -> bool {
21886         self.MaxDepth == other.MaxDepth && self.FindFirst == other.FindFirst && self.ExcludeRoot == other.ExcludeRoot && self.pFindCondition == other.pFindCondition
21887     }
21888 }
21889 #[cfg(feature = "Win32_Foundation")]
21890 impl ::std::cmp::Eq for UiaFindParams {}
21891 #[cfg(feature = "Win32_Foundation")]
21892 unsafe impl ::windows::runtime::Abi for UiaFindParams {
21893     type Abi = Self;
21894     type DefaultType = Self;
21895 }
21896 #[cfg(feature = "Win32_Foundation")]
21897 #[inline]
21898 pub unsafe fn UiaGetErrorDescription(pdescription: *mut super::super::Foundation::BSTR) -> super::super::Foundation::BOOL {
21899     #[cfg(windows)]
21900     {
21901         #[link(name = "windows")]
21902         extern "system" {
21903             fn UiaGetErrorDescription(pdescription: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> super::super::Foundation::BOOL;
21904         }
21905         ::std::mem::transmute(UiaGetErrorDescription(::std::mem::transmute(pdescription)))
21906     }
21907     #[cfg(not(windows))]
21908     unimplemented!("Unsupported target OS");
21909 }
21910 #[inline]
21911 pub unsafe fn UiaGetPatternProvider<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0, patternid: i32, phobj: *mut HUIAPATTERNOBJECT) -> ::windows::runtime::Result<()> {
21912     #[cfg(windows)]
21913     {
21914         #[link(name = "windows")]
21915         extern "system" {
21916             fn UiaGetPatternProvider(hnode: HUIANODE, patternid: i32, phobj: *mut HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
21917         }
21918         UiaGetPatternProvider(hnode.into_param().abi(), ::std::mem::transmute(patternid), ::std::mem::transmute(phobj)).ok()
21919     }
21920     #[cfg(not(windows))]
21921     unimplemented!("Unsupported target OS");
21922 }
21923 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
21924 #[inline]
21925 pub unsafe fn UiaGetPropertyValue<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0, propertyid: i32, pvalue: *mut super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
21926     #[cfg(windows)]
21927     {
21928         #[link(name = "windows")]
21929         extern "system" {
21930             fn UiaGetPropertyValue(hnode: HUIANODE, propertyid: i32, pvalue: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT;
21931         }
21932         UiaGetPropertyValue(hnode.into_param().abi(), ::std::mem::transmute(propertyid), ::std::mem::transmute(pvalue)).ok()
21933     }
21934     #[cfg(not(windows))]
21935     unimplemented!("Unsupported target OS");
21936 }
21937 #[inline]
21938 pub unsafe fn UiaGetReservedMixedAttributeValue() -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
21939     #[cfg(windows)]
21940     {
21941         #[link(name = "windows")]
21942         extern "system" {
21943             fn UiaGetReservedMixedAttributeValue(punkmixedattributevalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
21944         }
21945         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21946         UiaGetReservedMixedAttributeValue(&mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
21947     }
21948     #[cfg(not(windows))]
21949     unimplemented!("Unsupported target OS");
21950 }
21951 #[inline]
21952 pub unsafe fn UiaGetReservedNotSupportedValue() -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
21953     #[cfg(windows)]
21954     {
21955         #[link(name = "windows")]
21956         extern "system" {
21957             fn UiaGetReservedNotSupportedValue(punknotsupportedvalue: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
21958         }
21959         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
21960         UiaGetReservedNotSupportedValue(&mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
21961     }
21962     #[cfg(not(windows))]
21963     unimplemented!("Unsupported target OS");
21964 }
21965 #[inline]
21966 pub unsafe fn UiaGetRootNode(phnode: *mut HUIANODE) -> ::windows::runtime::Result<()> {
21967     #[cfg(windows)]
21968     {
21969         #[link(name = "windows")]
21970         extern "system" {
21971             fn UiaGetRootNode(phnode: *mut HUIANODE) -> ::windows::runtime::HRESULT;
21972         }
21973         UiaGetRootNode(::std::mem::transmute(phnode)).ok()
21974     }
21975     #[cfg(not(windows))]
21976     unimplemented!("Unsupported target OS");
21977 }
21978 #[cfg(feature = "Win32_System_Com")]
21979 #[inline]
21980 pub unsafe fn UiaGetRuntimeId<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0, pruntimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
21981     #[cfg(windows)]
21982     {
21983         #[link(name = "windows")]
21984         extern "system" {
21985             fn UiaGetRuntimeId(hnode: HUIANODE, pruntimeid: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT;
21986         }
21987         UiaGetRuntimeId(hnode.into_param().abi(), ::std::mem::transmute(pruntimeid)).ok()
21988     }
21989     #[cfg(not(windows))]
21990     unimplemented!("Unsupported target OS");
21991 }
21992 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
21993 #[inline]
21994 pub unsafe fn UiaGetUpdatedCache<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0, prequest: *mut UiaCacheRequest, normalizestate: NormalizeState, pnormalizecondition: *mut UiaCondition, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
21995     #[cfg(windows)]
21996     {
21997         #[link(name = "windows")]
21998         extern "system" {
21999             fn UiaGetUpdatedCache(hnode: HUIANODE, prequest: *mut UiaCacheRequest, normalizestate: NormalizeState, pnormalizecondition: *mut UiaCondition, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT;
22000         }
22001         UiaGetUpdatedCache(hnode.into_param().abi(), ::std::mem::transmute(prequest), ::std::mem::transmute(normalizestate), ::std::mem::transmute(pnormalizecondition), ::std::mem::transmute(pprequesteddata), ::std::mem::transmute(pptreestructure)).ok()
22002     }
22003     #[cfg(not(windows))]
22004     unimplemented!("Unsupported target OS");
22005 }
22006 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22007 #[inline]
22008 pub unsafe fn UiaHPatternObjectFromVariant(pvar: *mut super::super::System::Com::VARIANT, phobj: *mut HUIAPATTERNOBJECT) -> ::windows::runtime::Result<()> {
22009     #[cfg(windows)]
22010     {
22011         #[link(name = "windows")]
22012         extern "system" {
22013             fn UiaHPatternObjectFromVariant(pvar: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, phobj: *mut HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
22014         }
22015         UiaHPatternObjectFromVariant(::std::mem::transmute(pvar), ::std::mem::transmute(phobj)).ok()
22016     }
22017     #[cfg(not(windows))]
22018     unimplemented!("Unsupported target OS");
22019 }
22020 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22021 #[inline]
22022 pub unsafe fn UiaHTextRangeFromVariant(pvar: *mut super::super::System::Com::VARIANT, phtextrange: *mut HUIATEXTRANGE) -> ::windows::runtime::Result<()> {
22023     #[cfg(windows)]
22024     {
22025         #[link(name = "windows")]
22026         extern "system" {
22027             fn UiaHTextRangeFromVariant(pvar: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, phtextrange: *mut HUIATEXTRANGE) -> ::windows::runtime::HRESULT;
22028         }
22029         UiaHTextRangeFromVariant(::std::mem::transmute(pvar), ::std::mem::transmute(phtextrange)).ok()
22030     }
22031     #[cfg(not(windows))]
22032     unimplemented!("Unsupported target OS");
22033 }
22034 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22035 #[inline]
22036 pub unsafe fn UiaHUiaNodeFromVariant(pvar: *mut super::super::System::Com::VARIANT, phnode: *mut HUIANODE) -> ::windows::runtime::Result<()> {
22037     #[cfg(windows)]
22038     {
22039         #[link(name = "windows")]
22040         extern "system" {
22041             fn UiaHUiaNodeFromVariant(pvar: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, phnode: *mut HUIANODE) -> ::windows::runtime::HRESULT;
22042         }
22043         UiaHUiaNodeFromVariant(::std::mem::transmute(pvar), ::std::mem::transmute(phnode)).ok()
22044     }
22045     #[cfg(not(windows))]
22046     unimplemented!("Unsupported target OS");
22047 }
22048 #[cfg(feature = "Win32_Foundation")]
22049 #[inline]
22050 pub unsafe fn UiaHasServerSideProvider<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0) -> super::super::Foundation::BOOL {
22051     #[cfg(windows)]
22052     {
22053         #[link(name = "windows")]
22054         extern "system" {
22055             fn UiaHasServerSideProvider(hwnd: super::super::Foundation::HWND) -> super::super::Foundation::BOOL;
22056         }
22057         ::std::mem::transmute(UiaHasServerSideProvider(hwnd.into_param().abi()))
22058     }
22059     #[cfg(not(windows))]
22060     unimplemented!("Unsupported target OS");
22061 }
22062 #[cfg(feature = "Win32_Foundation")]
22063 #[inline]
22064 pub unsafe fn UiaHostProviderFromHwnd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0) -> ::windows::runtime::Result<IRawElementProviderSimple> {
22065     #[cfg(windows)]
22066     {
22067         #[link(name = "windows")]
22068         extern "system" {
22069             fn UiaHostProviderFromHwnd(hwnd: super::super::Foundation::HWND, ppprovider: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
22070         }
22071         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
22072         UiaHostProviderFromHwnd(hwnd.into_param().abi(), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
22073     }
22074     #[cfg(not(windows))]
22075     unimplemented!("Unsupported target OS");
22076 }
22077 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22078 #[inline]
22079 pub unsafe fn UiaIAccessibleFromProvider<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0, dwflags: u32, ppaccessible: *mut ::std::option::Option<IAccessible>, pvarchild: *mut super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
22080     #[cfg(windows)]
22081     {
22082         #[link(name = "windows")]
22083         extern "system" {
22084             fn UiaIAccessibleFromProvider(pprovider: ::windows::runtime::RawPtr, dwflags: u32, ppaccessible: *mut ::windows::runtime::RawPtr, pvarchild: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT;
22085         }
22086         UiaIAccessibleFromProvider(pprovider.into_param().abi(), ::std::mem::transmute(dwflags), ::std::mem::transmute(ppaccessible), ::std::mem::transmute(pvarchild)).ok()
22087     }
22088     #[cfg(not(windows))]
22089     unimplemented!("Unsupported target OS");
22090 }
22091 #[inline]
22092 pub unsafe fn UiaLookupId(r#type: AutomationIdentifierType, pguid: *const ::windows::runtime::GUID) -> i32 {
22093     #[cfg(windows)]
22094     {
22095         #[link(name = "windows")]
22096         extern "system" {
22097             fn UiaLookupId(r#type: AutomationIdentifierType, pguid: *const ::windows::runtime::GUID) -> i32;
22098         }
22099         ::std::mem::transmute(UiaLookupId(::std::mem::transmute(r#type), ::std::mem::transmute(pguid)))
22100     }
22101     #[cfg(not(windows))]
22102     unimplemented!("Unsupported target OS");
22103 }
22104 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
22105 #[inline]
22106 pub unsafe fn UiaNavigate<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0, direction: NavigateDirection, pcondition: *mut UiaCondition, prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
22107     #[cfg(windows)]
22108     {
22109         #[link(name = "windows")]
22110         extern "system" {
22111             fn UiaNavigate(hnode: HUIANODE, direction: NavigateDirection, pcondition: *mut UiaCondition, prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT;
22112         }
22113         UiaNavigate(hnode.into_param().abi(), ::std::mem::transmute(direction), ::std::mem::transmute(pcondition), ::std::mem::transmute(prequest), ::std::mem::transmute(pprequesteddata), ::std::mem::transmute(pptreestructure)).ok()
22114     }
22115     #[cfg(not(windows))]
22116     unimplemented!("Unsupported target OS");
22117 }
22118 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
22119 #[inline]
22120 pub unsafe fn UiaNodeFromFocus(prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
22121     #[cfg(windows)]
22122     {
22123         #[link(name = "windows")]
22124         extern "system" {
22125             fn UiaNodeFromFocus(prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT;
22126         }
22127         UiaNodeFromFocus(::std::mem::transmute(prequest), ::std::mem::transmute(pprequesteddata), ::std::mem::transmute(pptreestructure)).ok()
22128     }
22129     #[cfg(not(windows))]
22130     unimplemented!("Unsupported target OS");
22131 }
22132 #[cfg(feature = "Win32_Foundation")]
22133 #[inline]
22134 pub unsafe fn UiaNodeFromHandle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, phnode: *mut HUIANODE) -> ::windows::runtime::Result<()> {
22135     #[cfg(windows)]
22136     {
22137         #[link(name = "windows")]
22138         extern "system" {
22139             fn UiaNodeFromHandle(hwnd: super::super::Foundation::HWND, phnode: *mut HUIANODE) -> ::windows::runtime::HRESULT;
22140         }
22141         UiaNodeFromHandle(hwnd.into_param().abi(), ::std::mem::transmute(phnode)).ok()
22142     }
22143     #[cfg(not(windows))]
22144     unimplemented!("Unsupported target OS");
22145 }
22146 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
22147 #[inline]
22148 pub unsafe fn UiaNodeFromPoint(x: f64, y: f64, prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
22149     #[cfg(windows)]
22150     {
22151         #[link(name = "windows")]
22152         extern "system" {
22153             fn UiaNodeFromPoint(x: f64, y: f64, prequest: *mut UiaCacheRequest, pprequesteddata: *mut *mut super::super::System::Com::SAFEARRAY, pptreestructure: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT;
22154         }
22155         UiaNodeFromPoint(::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(prequest), ::std::mem::transmute(pprequesteddata), ::std::mem::transmute(pptreestructure)).ok()
22156     }
22157     #[cfg(not(windows))]
22158     unimplemented!("Unsupported target OS");
22159 }
22160 #[inline]
22161 pub unsafe fn UiaNodeFromProvider<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0, phnode: *mut HUIANODE) -> ::windows::runtime::Result<()> {
22162     #[cfg(windows)]
22163     {
22164         #[link(name = "windows")]
22165         extern "system" {
22166             fn UiaNodeFromProvider(pprovider: ::windows::runtime::RawPtr, phnode: *mut HUIANODE) -> ::windows::runtime::HRESULT;
22167         }
22168         UiaNodeFromProvider(pprovider.into_param().abi(), ::std::mem::transmute(phnode)).ok()
22169     }
22170     #[cfg(not(windows))]
22171     unimplemented!("Unsupported target OS");
22172 }
22173 #[cfg(feature = "Win32_Foundation")]
22174 #[inline]
22175 pub unsafe fn UiaNodeRelease<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0) -> super::super::Foundation::BOOL {
22176     #[cfg(windows)]
22177     {
22178         #[link(name = "windows")]
22179         extern "system" {
22180             fn UiaNodeRelease(hnode: HUIANODE) -> super::super::Foundation::BOOL;
22181         }
22182         ::std::mem::transmute(UiaNodeRelease(hnode.into_param().abi()))
22183     }
22184     #[cfg(not(windows))]
22185     unimplemented!("Unsupported target OS");
22186 }
22187 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22188 #[repr(C)]
22189 pub struct UiaNotCondition {
22190     pub ConditionType: ConditionType,
22191     pub pCondition: *mut UiaCondition,
22192 }
22193 impl UiaNotCondition {}
22194 impl ::std::default::Default for UiaNotCondition {
22195     fn default() -> Self {
22196         unsafe { ::std::mem::zeroed() }
22197     }
22198 }
22199 impl ::std::fmt::Debug for UiaNotCondition {
22200     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22201         fmt.debug_struct("UiaNotCondition").field("ConditionType", &self.ConditionType).field("pCondition", &self.pCondition).finish()
22202     }
22203 }
22204 impl ::std::cmp::PartialEq for UiaNotCondition {
22205     fn eq(&self, other: &Self) -> bool {
22206         self.ConditionType == other.ConditionType && self.pCondition == other.pCondition
22207     }
22208 }
22209 impl ::std::cmp::Eq for UiaNotCondition {}
22210 unsafe impl ::windows::runtime::Abi for UiaNotCondition {
22211     type Abi = Self;
22212     type DefaultType = Self;
22213 }
22214 #[cfg(feature = "Win32_Foundation")]
22215 #[inline]
22216 pub unsafe fn UiaPatternRelease<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> super::super::Foundation::BOOL {
22217     #[cfg(windows)]
22218     {
22219         #[link(name = "windows")]
22220         extern "system" {
22221             fn UiaPatternRelease(hobj: HUIAPATTERNOBJECT) -> super::super::Foundation::BOOL;
22222         }
22223         ::std::mem::transmute(UiaPatternRelease(hobj.into_param().abi()))
22224     }
22225     #[cfg(not(windows))]
22226     unimplemented!("Unsupported target OS");
22227 }
22228 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22229 #[repr(C)]
22230 pub struct UiaPoint {
22231     pub x: f64,
22232     pub y: f64,
22233 }
22234 impl UiaPoint {}
22235 impl ::std::default::Default for UiaPoint {
22236     fn default() -> Self {
22237         unsafe { ::std::mem::zeroed() }
22238     }
22239 }
22240 impl ::std::fmt::Debug for UiaPoint {
22241     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22242         fmt.debug_struct("UiaPoint").field("x", &self.x).field("y", &self.y).finish()
22243     }
22244 }
22245 impl ::std::cmp::PartialEq for UiaPoint {
22246     fn eq(&self, other: &Self) -> bool {
22247         self.x == other.x && self.y == other.y
22248     }
22249 }
22250 impl ::std::cmp::Eq for UiaPoint {}
22251 unsafe impl ::windows::runtime::Abi for UiaPoint {
22252     type Abi = Self;
22253     type DefaultType = Self;
22254 }
22255 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22256 impl ::std::clone::Clone for UiaPropertyChangedEventArgs {
22257     fn clone(&self) -> Self {
22258         unimplemented!()
22259     }
22260 }
22261 #[repr(C)]
22262 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22263 pub struct UiaPropertyChangedEventArgs {
22264     pub Type: EventArgsType,
22265     pub EventId: i32,
22266     pub PropertyId: i32,
22267     pub OldValue: super::super::System::Com::VARIANT,
22268     pub NewValue: super::super::System::Com::VARIANT,
22269 }
22270 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22271 impl UiaPropertyChangedEventArgs {}
22272 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22273 impl ::std::default::Default for UiaPropertyChangedEventArgs {
22274     fn default() -> Self {
22275         unsafe { ::std::mem::zeroed() }
22276     }
22277 }
22278 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22279 impl ::std::cmp::PartialEq for UiaPropertyChangedEventArgs {
22280     fn eq(&self, _other: &Self) -> bool {
22281         unimplemented!()
22282     }
22283 }
22284 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22285 impl ::std::cmp::Eq for UiaPropertyChangedEventArgs {}
22286 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22287 unsafe impl ::windows::runtime::Abi for UiaPropertyChangedEventArgs {
22288     type Abi = ::std::mem::ManuallyDrop<Self>;
22289     type DefaultType = Self;
22290 }
22291 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22292 impl ::std::clone::Clone for UiaPropertyCondition {
22293     fn clone(&self) -> Self {
22294         unimplemented!()
22295     }
22296 }
22297 #[repr(C)]
22298 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22299 pub struct UiaPropertyCondition {
22300     pub ConditionType: ConditionType,
22301     pub PropertyId: i32,
22302     pub Value: super::super::System::Com::VARIANT,
22303     pub Flags: PropertyConditionFlags,
22304 }
22305 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22306 impl UiaPropertyCondition {}
22307 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22308 impl ::std::default::Default for UiaPropertyCondition {
22309     fn default() -> Self {
22310         unsafe { ::std::mem::zeroed() }
22311     }
22312 }
22313 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22314 impl ::std::cmp::PartialEq for UiaPropertyCondition {
22315     fn eq(&self, _other: &Self) -> bool {
22316         unimplemented!()
22317     }
22318 }
22319 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22320 impl ::std::cmp::Eq for UiaPropertyCondition {}
22321 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22322 unsafe impl ::windows::runtime::Abi for UiaPropertyCondition {
22323     type Abi = ::std::mem::ManuallyDrop<Self>;
22324     type DefaultType = Self;
22325 }
22326 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
22327 pub type UiaProviderCallback = unsafe extern "system" fn(hwnd: super::super::Foundation::HWND, providertype: ProviderType) -> *mut super::super::System::Com::SAFEARRAY;
22328 #[cfg(feature = "Win32_Foundation")]
22329 #[inline]
22330 pub unsafe fn UiaProviderForNonClient<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, idobject: i32, idchild: i32) -> ::windows::runtime::Result<IRawElementProviderSimple> {
22331     #[cfg(windows)]
22332     {
22333         #[link(name = "windows")]
22334         extern "system" {
22335             fn UiaProviderForNonClient(hwnd: super::super::Foundation::HWND, idobject: i32, idchild: i32, ppprovider: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
22336         }
22337         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
22338         UiaProviderForNonClient(hwnd.into_param().abi(), ::std::mem::transmute(idobject), ::std::mem::transmute(idchild), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
22339     }
22340     #[cfg(not(windows))]
22341     unimplemented!("Unsupported target OS");
22342 }
22343 #[inline]
22344 pub unsafe fn UiaProviderFromIAccessible<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(paccessible: Param0, idchild: i32, dwflags: u32) -> ::windows::runtime::Result<IRawElementProviderSimple> {
22345     #[cfg(windows)]
22346     {
22347         #[link(name = "windows")]
22348         extern "system" {
22349             fn UiaProviderFromIAccessible(paccessible: ::windows::runtime::RawPtr, idchild: i32, dwflags: u32, ppprovider: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
22350         }
22351         let mut result__: <IRawElementProviderSimple as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
22352         UiaProviderFromIAccessible(paccessible.into_param().abi(), ::std::mem::transmute(idchild), ::std::mem::transmute(dwflags), &mut result__).from_abi::<IRawElementProviderSimple>(result__)
22353     }
22354     #[cfg(not(windows))]
22355     unimplemented!("Unsupported target OS");
22356 }
22357 #[inline]
22358 pub unsafe fn UiaRaiseActiveTextPositionChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>, Param1: ::windows::runtime::IntoParam<'a, ITextRangeProvider>>(provider: Param0, textrange: Param1) -> ::windows::runtime::Result<()> {
22359     #[cfg(windows)]
22360     {
22361         #[link(name = "windows")]
22362         extern "system" {
22363             fn UiaRaiseActiveTextPositionChangedEvent(provider: ::windows::runtime::RawPtr, textrange: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
22364         }
22365         UiaRaiseActiveTextPositionChangedEvent(provider.into_param().abi(), textrange.into_param().abi()).ok()
22366     }
22367     #[cfg(not(windows))]
22368     unimplemented!("Unsupported target OS");
22369 }
22370 #[inline]
22371 pub unsafe fn UiaRaiseAsyncContentLoadedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0, asynccontentloadedstate: AsyncContentLoadedState, percentcomplete: f64) -> ::windows::runtime::Result<()> {
22372     #[cfg(windows)]
22373     {
22374         #[link(name = "windows")]
22375         extern "system" {
22376             fn UiaRaiseAsyncContentLoadedEvent(pprovider: ::windows::runtime::RawPtr, asynccontentloadedstate: AsyncContentLoadedState, percentcomplete: f64) -> ::windows::runtime::HRESULT;
22377         }
22378         UiaRaiseAsyncContentLoadedEvent(pprovider.into_param().abi(), ::std::mem::transmute(asynccontentloadedstate), ::std::mem::transmute(percentcomplete)).ok()
22379     }
22380     #[cfg(not(windows))]
22381     unimplemented!("Unsupported target OS");
22382 }
22383 #[inline]
22384 pub unsafe fn UiaRaiseAutomationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0, id: i32) -> ::windows::runtime::Result<()> {
22385     #[cfg(windows)]
22386     {
22387         #[link(name = "windows")]
22388         extern "system" {
22389             fn UiaRaiseAutomationEvent(pprovider: ::windows::runtime::RawPtr, id: i32) -> ::windows::runtime::HRESULT;
22390         }
22391         UiaRaiseAutomationEvent(pprovider.into_param().abi(), ::std::mem::transmute(id)).ok()
22392     }
22393     #[cfg(not(windows))]
22394     unimplemented!("Unsupported target OS");
22395 }
22396 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22397 #[inline]
22398 pub unsafe fn UiaRaiseAutomationPropertyChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>, Param2: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>, Param3: ::windows::runtime::IntoParam<'a, super::super::System::Com::VARIANT>>(pprovider: Param0, id: i32, oldvalue: Param2, newvalue: Param3) -> ::windows::runtime::Result<()> {
22399     #[cfg(windows)]
22400     {
22401         #[link(name = "windows")]
22402         extern "system" {
22403             fn UiaRaiseAutomationPropertyChangedEvent(pprovider: ::windows::runtime::RawPtr, id: i32, oldvalue: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, newvalue: ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT;
22404         }
22405         UiaRaiseAutomationPropertyChangedEvent(pprovider.into_param().abi(), ::std::mem::transmute(id), oldvalue.into_param().abi(), newvalue.into_param().abi()).ok()
22406     }
22407     #[cfg(not(windows))]
22408     unimplemented!("Unsupported target OS");
22409 }
22410 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
22411 #[inline]
22412 pub unsafe fn UiaRaiseChangesEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0, eventidcount: i32, puiachanges: *mut UiaChangeInfo) -> ::windows::runtime::Result<()> {
22413     #[cfg(windows)]
22414     {
22415         #[link(name = "windows")]
22416         extern "system" {
22417             fn UiaRaiseChangesEvent(pprovider: ::windows::runtime::RawPtr, eventidcount: i32, puiachanges: *mut ::std::mem::ManuallyDrop<UiaChangeInfo>) -> ::windows::runtime::HRESULT;
22418         }
22419         UiaRaiseChangesEvent(pprovider.into_param().abi(), ::std::mem::transmute(eventidcount), ::std::mem::transmute(puiachanges)).ok()
22420     }
22421     #[cfg(not(windows))]
22422     unimplemented!("Unsupported target OS");
22423 }
22424 #[cfg(feature = "Win32_Foundation")]
22425 #[inline]
22426 pub unsafe fn UiaRaiseNotificationEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(provider: Param0, notificationkind: NotificationKind, notificationprocessing: NotificationProcessing, displaystring: Param3, activityid: Param4) -> ::windows::runtime::Result<()> {
22427     #[cfg(windows)]
22428     {
22429         #[link(name = "windows")]
22430         extern "system" {
22431             fn UiaRaiseNotificationEvent(provider: ::windows::runtime::RawPtr, notificationkind: NotificationKind, notificationprocessing: NotificationProcessing, displaystring: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, activityid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT;
22432         }
22433         UiaRaiseNotificationEvent(provider.into_param().abi(), ::std::mem::transmute(notificationkind), ::std::mem::transmute(notificationprocessing), displaystring.into_param().abi(), activityid.into_param().abi()).ok()
22434     }
22435     #[cfg(not(windows))]
22436     unimplemented!("Unsupported target OS");
22437 }
22438 #[inline]
22439 pub unsafe fn UiaRaiseStructureChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0, structurechangetype: StructureChangeType, pruntimeid: *mut i32, cruntimeidlen: i32) -> ::windows::runtime::Result<()> {
22440     #[cfg(windows)]
22441     {
22442         #[link(name = "windows")]
22443         extern "system" {
22444             fn UiaRaiseStructureChangedEvent(pprovider: ::windows::runtime::RawPtr, structurechangetype: StructureChangeType, pruntimeid: *mut i32, cruntimeidlen: i32) -> ::windows::runtime::HRESULT;
22445         }
22446         UiaRaiseStructureChangedEvent(pprovider.into_param().abi(), ::std::mem::transmute(structurechangetype), ::std::mem::transmute(pruntimeid), ::std::mem::transmute(cruntimeidlen)).ok()
22447     }
22448     #[cfg(not(windows))]
22449     unimplemented!("Unsupported target OS");
22450 }
22451 #[cfg(feature = "Win32_System_Com")]
22452 #[inline]
22453 pub unsafe fn UiaRaiseTextEditTextChangedEvent<'a, Param0: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(pprovider: Param0, texteditchangetype: TextEditChangeType, pchangeddata: *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
22454     #[cfg(windows)]
22455     {
22456         #[link(name = "windows")]
22457         extern "system" {
22458             fn UiaRaiseTextEditTextChangedEvent(pprovider: ::windows::runtime::RawPtr, texteditchangetype: TextEditChangeType, pchangeddata: *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT;
22459         }
22460         UiaRaiseTextEditTextChangedEvent(pprovider.into_param().abi(), ::std::mem::transmute(texteditchangetype), ::std::mem::transmute(pchangeddata)).ok()
22461     }
22462     #[cfg(not(windows))]
22463     unimplemented!("Unsupported target OS");
22464 }
22465 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22466 #[repr(C)]
22467 pub struct UiaRect {
22468     pub left: f64,
22469     pub top: f64,
22470     pub width: f64,
22471     pub height: f64,
22472 }
22473 impl UiaRect {}
22474 impl ::std::default::Default for UiaRect {
22475     fn default() -> Self {
22476         unsafe { ::std::mem::zeroed() }
22477     }
22478 }
22479 impl ::std::fmt::Debug for UiaRect {
22480     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22481         fmt.debug_struct("UiaRect").field("left", &self.left).field("top", &self.top).field("width", &self.width).field("height", &self.height).finish()
22482     }
22483 }
22484 impl ::std::cmp::PartialEq for UiaRect {
22485     fn eq(&self, other: &Self) -> bool {
22486         self.left == other.left && self.top == other.top && self.width == other.width && self.height == other.height
22487     }
22488 }
22489 impl ::std::cmp::Eq for UiaRect {}
22490 unsafe impl ::windows::runtime::Abi for UiaRect {
22491     type Abi = Self;
22492     type DefaultType = Self;
22493 }
22494 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
22495 #[inline]
22496 pub unsafe fn UiaRegisterProviderCallback(pcallback: *mut ::std::option::Option<UiaProviderCallback>) {
22497     #[cfg(windows)]
22498     {
22499         #[link(name = "windows")]
22500         extern "system" {
22501             fn UiaRegisterProviderCallback(pcallback: *mut ::windows::runtime::RawPtr);
22502         }
22503         ::std::mem::transmute(UiaRegisterProviderCallback(::std::mem::transmute(pcallback)))
22504     }
22505     #[cfg(not(windows))]
22506     unimplemented!("Unsupported target OS");
22507 }
22508 #[inline]
22509 pub unsafe fn UiaRemoveEvent<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAEVENT>>(hevent: Param0) -> ::windows::runtime::Result<()> {
22510     #[cfg(windows)]
22511     {
22512         #[link(name = "windows")]
22513         extern "system" {
22514             fn UiaRemoveEvent(hevent: HUIAEVENT) -> ::windows::runtime::HRESULT;
22515         }
22516         UiaRemoveEvent(hevent.into_param().abi()).ok()
22517     }
22518     #[cfg(not(windows))]
22519     unimplemented!("Unsupported target OS");
22520 }
22521 #[cfg(feature = "Win32_Foundation")]
22522 #[inline]
22523 pub unsafe fn UiaReturnRawElementProvider<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::WPARAM>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::LPARAM>, Param3: ::windows::runtime::IntoParam<'a, IRawElementProviderSimple>>(hwnd: Param0, wparam: Param1, lparam: Param2, el: Param3) -> super::super::Foundation::LRESULT {
22524     #[cfg(windows)]
22525     {
22526         #[link(name = "windows")]
22527         extern "system" {
22528             fn UiaReturnRawElementProvider(hwnd: super::super::Foundation::HWND, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, el: ::windows::runtime::RawPtr) -> super::super::Foundation::LRESULT;
22529         }
22530         ::std::mem::transmute(UiaReturnRawElementProvider(hwnd.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi(), el.into_param().abi()))
22531     }
22532     #[cfg(not(windows))]
22533     unimplemented!("Unsupported target OS");
22534 }
22535 pub const UiaRootObjectId: i32 = -25i32;
22536 #[inline]
22537 pub unsafe fn UiaSetFocus<'a, Param0: ::windows::runtime::IntoParam<'a, HUIANODE>>(hnode: Param0) -> ::windows::runtime::Result<()> {
22538     #[cfg(windows)]
22539     {
22540         #[link(name = "windows")]
22541         extern "system" {
22542             fn UiaSetFocus(hnode: HUIANODE) -> ::windows::runtime::HRESULT;
22543         }
22544         UiaSetFocus(hnode.into_param().abi()).ok()
22545     }
22546     #[cfg(not(windows))]
22547     unimplemented!("Unsupported target OS");
22548 }
22549 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22550 #[repr(C)]
22551 pub struct UiaStructureChangedEventArgs {
22552     pub Type: EventArgsType,
22553     pub EventId: i32,
22554     pub StructureChangeType: StructureChangeType,
22555     pub pRuntimeId: *mut i32,
22556     pub cRuntimeIdLen: i32,
22557 }
22558 impl UiaStructureChangedEventArgs {}
22559 impl ::std::default::Default for UiaStructureChangedEventArgs {
22560     fn default() -> Self {
22561         unsafe { ::std::mem::zeroed() }
22562     }
22563 }
22564 impl ::std::fmt::Debug for UiaStructureChangedEventArgs {
22565     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22566         fmt.debug_struct("UiaStructureChangedEventArgs").field("Type", &self.Type).field("EventId", &self.EventId).field("StructureChangeType", &self.StructureChangeType).field("pRuntimeId", &self.pRuntimeId).field("cRuntimeIdLen", &self.cRuntimeIdLen).finish()
22567     }
22568 }
22569 impl ::std::cmp::PartialEq for UiaStructureChangedEventArgs {
22570     fn eq(&self, other: &Self) -> bool {
22571         self.Type == other.Type && self.EventId == other.EventId && self.StructureChangeType == other.StructureChangeType && self.pRuntimeId == other.pRuntimeId && self.cRuntimeIdLen == other.cRuntimeIdLen
22572     }
22573 }
22574 impl ::std::cmp::Eq for UiaStructureChangedEventArgs {}
22575 unsafe impl ::windows::runtime::Abi for UiaStructureChangedEventArgs {
22576     type Abi = Self;
22577     type DefaultType = Self;
22578 }
22579 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22580 #[repr(C)]
22581 #[cfg(feature = "Win32_System_Com")]
22582 pub struct UiaTextEditTextChangedEventArgs {
22583     pub Type: EventArgsType,
22584     pub EventId: i32,
22585     pub TextEditChangeType: TextEditChangeType,
22586     pub pTextChange: *mut super::super::System::Com::SAFEARRAY,
22587 }
22588 #[cfg(feature = "Win32_System_Com")]
22589 impl UiaTextEditTextChangedEventArgs {}
22590 #[cfg(feature = "Win32_System_Com")]
22591 impl ::std::default::Default for UiaTextEditTextChangedEventArgs {
22592     fn default() -> Self {
22593         unsafe { ::std::mem::zeroed() }
22594     }
22595 }
22596 #[cfg(feature = "Win32_System_Com")]
22597 impl ::std::fmt::Debug for UiaTextEditTextChangedEventArgs {
22598     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22599         fmt.debug_struct("UiaTextEditTextChangedEventArgs").field("Type", &self.Type).field("EventId", &self.EventId).field("TextEditChangeType", &self.TextEditChangeType).field("pTextChange", &self.pTextChange).finish()
22600     }
22601 }
22602 #[cfg(feature = "Win32_System_Com")]
22603 impl ::std::cmp::PartialEq for UiaTextEditTextChangedEventArgs {
22604     fn eq(&self, other: &Self) -> bool {
22605         self.Type == other.Type && self.EventId == other.EventId && self.TextEditChangeType == other.TextEditChangeType && self.pTextChange == other.pTextChange
22606     }
22607 }
22608 #[cfg(feature = "Win32_System_Com")]
22609 impl ::std::cmp::Eq for UiaTextEditTextChangedEventArgs {}
22610 #[cfg(feature = "Win32_System_Com")]
22611 unsafe impl ::windows::runtime::Abi for UiaTextEditTextChangedEventArgs {
22612     type Abi = Self;
22613     type DefaultType = Self;
22614 }
22615 #[cfg(feature = "Win32_Foundation")]
22616 #[inline]
22617 pub unsafe fn UiaTextRangeRelease<'a, Param0: ::windows::runtime::IntoParam<'a, HUIATEXTRANGE>>(hobj: Param0) -> super::super::Foundation::BOOL {
22618     #[cfg(windows)]
22619     {
22620         #[link(name = "windows")]
22621         extern "system" {
22622             fn UiaTextRangeRelease(hobj: HUIATEXTRANGE) -> super::super::Foundation::BOOL;
22623         }
22624         ::std::mem::transmute(UiaTextRangeRelease(hobj.into_param().abi()))
22625     }
22626     #[cfg(not(windows))]
22627     unimplemented!("Unsupported target OS");
22628 }
22629 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
22630 #[repr(C)]
22631 pub struct UiaWindowClosedEventArgs {
22632     pub Type: EventArgsType,
22633     pub EventId: i32,
22634     pub pRuntimeId: *mut i32,
22635     pub cRuntimeIdLen: i32,
22636 }
22637 impl UiaWindowClosedEventArgs {}
22638 impl ::std::default::Default for UiaWindowClosedEventArgs {
22639     fn default() -> Self {
22640         unsafe { ::std::mem::zeroed() }
22641     }
22642 }
22643 impl ::std::fmt::Debug for UiaWindowClosedEventArgs {
22644     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
22645         fmt.debug_struct("UiaWindowClosedEventArgs").field("Type", &self.Type).field("EventId", &self.EventId).field("pRuntimeId", &self.pRuntimeId).field("cRuntimeIdLen", &self.cRuntimeIdLen).finish()
22646     }
22647 }
22648 impl ::std::cmp::PartialEq for UiaWindowClosedEventArgs {
22649     fn eq(&self, other: &Self) -> bool {
22650         self.Type == other.Type && self.EventId == other.EventId && self.pRuntimeId == other.pRuntimeId && self.cRuntimeIdLen == other.cRuntimeIdLen
22651     }
22652 }
22653 impl ::std::cmp::Eq for UiaWindowClosedEventArgs {}
22654 unsafe impl ::windows::runtime::Abi for UiaWindowClosedEventArgs {
22655     type Abi = Self;
22656     type DefaultType = Self;
22657 }
22658 #[cfg(feature = "Win32_Foundation")]
22659 #[inline]
22660 pub unsafe fn UnhookWinEvent<'a, Param0: ::windows::runtime::IntoParam<'a, HWINEVENTHOOK>>(hwineventhook: Param0) -> super::super::Foundation::BOOL {
22661     #[cfg(windows)]
22662     {
22663         #[link(name = "windows")]
22664         extern "system" {
22665             fn UnhookWinEvent(hwineventhook: HWINEVENTHOOK) -> super::super::Foundation::BOOL;
22666         }
22667         ::std::mem::transmute(UnhookWinEvent(hwineventhook.into_param().abi()))
22668     }
22669     #[cfg(not(windows))]
22670     unimplemented!("Unsupported target OS");
22671 }
22672 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
22673 #[inline]
22674 pub unsafe fn UnregisterPointerInputTarget<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE) -> super::super::Foundation::BOOL {
22675     #[cfg(windows)]
22676     {
22677         #[link(name = "windows")]
22678         extern "system" {
22679             fn UnregisterPointerInputTarget(hwnd: super::super::Foundation::HWND, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE) -> super::super::Foundation::BOOL;
22680         }
22681         ::std::mem::transmute(UnregisterPointerInputTarget(hwnd.into_param().abi(), ::std::mem::transmute(pointertype)))
22682     }
22683     #[cfg(not(windows))]
22684     unimplemented!("Unsupported target OS");
22685 }
22686 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
22687 #[inline]
22688 pub unsafe fn UnregisterPointerInputTargetEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(hwnd: Param0, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE) -> super::super::Foundation::BOOL {
22689     #[cfg(windows)]
22690     {
22691         #[link(name = "windows")]
22692         extern "system" {
22693             fn UnregisterPointerInputTargetEx(hwnd: super::super::Foundation::HWND, pointertype: super::WindowsAndMessaging::POINTER_INPUT_TYPE) -> super::super::Foundation::BOOL;
22694         }
22695         ::std::mem::transmute(UnregisterPointerInputTargetEx(hwnd.into_param().abi(), ::std::mem::transmute(pointertype)))
22696     }
22697     #[cfg(not(windows))]
22698     unimplemented!("Unsupported target OS");
22699 }
22700 #[cfg(feature = "Win32_Foundation")]
22701 #[inline]
22702 pub unsafe fn ValuePattern_SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(hobj: Param0, pval: Param1) -> ::windows::runtime::Result<()> {
22703     #[cfg(windows)]
22704     {
22705         #[link(name = "windows")]
22706         extern "system" {
22707             fn ValuePattern_SetValue(hobj: HUIAPATTERNOBJECT, pval: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
22708         }
22709         ValuePattern_SetValue(hobj.into_param().abi(), pval.into_param().abi()).ok()
22710     }
22711     #[cfg(not(windows))]
22712     unimplemented!("Unsupported target OS");
22713 }
22714 pub const Value_IsReadOnly_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3943239472, 57932, 18329, [167, 5, 13, 36, 123, 192, 55, 248]);
22715 pub const Value_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(402304414, 51319, 18267, [185, 51, 119, 51, 39, 121, 182, 55]);
22716 pub const Value_Value_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3915341412, 9887, 19077, [186, 153, 64, 146, 195, 234, 41, 134]);
22717 #[inline]
22718 pub unsafe fn VirtualizedItemPattern_Realize<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
22719     #[cfg(windows)]
22720     {
22721         #[link(name = "windows")]
22722         extern "system" {
22723             fn VirtualizedItemPattern_Realize(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
22724         }
22725         VirtualizedItemPattern_Realize(hobj.into_param().abi()).ok()
22726     }
22727     #[cfg(not(windows))]
22728     unimplemented!("Unsupported target OS");
22729 }
22730 pub const VirtualizedItem_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4111472446, 11889, 17897, [166, 229, 98, 246, 237, 130, 137, 213]);
22731 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
22732 #[repr(transparent)]
22733 pub struct VisualEffects(pub i32);
22734 pub const VisualEffects_None: VisualEffects = VisualEffects(0i32);
22735 pub const VisualEffects_Shadow: VisualEffects = VisualEffects(1i32);
22736 pub const VisualEffects_Reflection: VisualEffects = VisualEffects(2i32);
22737 pub const VisualEffects_Glow: VisualEffects = VisualEffects(4i32);
22738 pub const VisualEffects_SoftEdges: VisualEffects = VisualEffects(8i32);
22739 pub const VisualEffects_Bevel: VisualEffects = VisualEffects(16i32);
22740 impl ::std::convert::From<i32> for VisualEffects {
22741     fn from(value: i32) -> Self {
22742         Self(value)
22743     }
22744 }
22745 unsafe impl ::windows::runtime::Abi for VisualEffects {
22746     type Abi = Self;
22747     type DefaultType = Self;
22748 }
22749 pub const VisualEffects_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3860497765, 43737, 18135, [158, 112, 78, 138, 132, 32, 212, 32]);
22750 #[cfg(feature = "Win32_Foundation")]
22751 pub type WINEVENTPROC = unsafe extern "system" fn(hwineventhook: HWINEVENTHOOK, event: u32, hwnd: super::super::Foundation::HWND, idobject: i32, idchild: i32, ideventthread: u32, dwmseventtime: u32);
22752 #[cfg(feature = "Win32_Foundation")]
22753 #[inline]
22754 pub unsafe fn WindowFromAccessibleObject<'a, Param0: ::windows::runtime::IntoParam<'a, IAccessible>>(param0: Param0) -> ::windows::runtime::Result<super::super::Foundation::HWND> {
22755     #[cfg(windows)]
22756     {
22757         #[link(name = "windows")]
22758         extern "system" {
22759             fn WindowFromAccessibleObject(param0: ::windows::runtime::RawPtr, phwnd: *mut super::super::Foundation::HWND) -> ::windows::runtime::HRESULT;
22760         }
22761         let mut result__: <super::super::Foundation::HWND as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
22762         WindowFromAccessibleObject(param0.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::HWND>(result__)
22763     }
22764     #[cfg(not(windows))]
22765     unimplemented!("Unsupported target OS");
22766 }
22767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
22768 #[repr(transparent)]
22769 pub struct WindowInteractionState(pub i32);
22770 pub const WindowInteractionState_Running: WindowInteractionState = WindowInteractionState(0i32);
22771 pub const WindowInteractionState_Closing: WindowInteractionState = WindowInteractionState(1i32);
22772 pub const WindowInteractionState_ReadyForUserInteraction: WindowInteractionState = WindowInteractionState(2i32);
22773 pub const WindowInteractionState_BlockedByModalWindow: WindowInteractionState = WindowInteractionState(3i32);
22774 pub const WindowInteractionState_NotResponding: WindowInteractionState = WindowInteractionState(4i32);
22775 impl ::std::convert::From<i32> for WindowInteractionState {
22776     fn from(value: i32) -> Self {
22777         Self(value)
22778     }
22779 }
22780 unsafe impl ::windows::runtime::Abi for WindowInteractionState {
22781     type Abi = Self;
22782     type DefaultType = Self;
22783 }
22784 #[inline]
22785 pub unsafe fn WindowPattern_Close<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0) -> ::windows::runtime::Result<()> {
22786     #[cfg(windows)]
22787     {
22788         #[link(name = "windows")]
22789         extern "system" {
22790             fn WindowPattern_Close(hobj: HUIAPATTERNOBJECT) -> ::windows::runtime::HRESULT;
22791         }
22792         WindowPattern_Close(hobj.into_param().abi()).ok()
22793     }
22794     #[cfg(not(windows))]
22795     unimplemented!("Unsupported target OS");
22796 }
22797 #[inline]
22798 pub unsafe fn WindowPattern_SetWindowVisualState<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, state: WindowVisualState) -> ::windows::runtime::Result<()> {
22799     #[cfg(windows)]
22800     {
22801         #[link(name = "windows")]
22802         extern "system" {
22803             fn WindowPattern_SetWindowVisualState(hobj: HUIAPATTERNOBJECT, state: WindowVisualState) -> ::windows::runtime::HRESULT;
22804         }
22805         WindowPattern_SetWindowVisualState(hobj.into_param().abi(), ::std::mem::transmute(state)).ok()
22806     }
22807     #[cfg(not(windows))]
22808     unimplemented!("Unsupported target OS");
22809 }
22810 #[cfg(feature = "Win32_Foundation")]
22811 #[inline]
22812 pub unsafe fn WindowPattern_WaitForInputIdle<'a, Param0: ::windows::runtime::IntoParam<'a, HUIAPATTERNOBJECT>>(hobj: Param0, milliseconds: i32, presult: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
22813     #[cfg(windows)]
22814     {
22815         #[link(name = "windows")]
22816         extern "system" {
22817             fn WindowPattern_WaitForInputIdle(hobj: HUIAPATTERNOBJECT, milliseconds: i32, presult: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT;
22818         }
22819         WindowPattern_WaitForInputIdle(hobj.into_param().abi(), ::std::mem::transmute(milliseconds), ::std::mem::transmute(presult)).ok()
22820     }
22821     #[cfg(not(windows))]
22822     unimplemented!("Unsupported target OS");
22823 }
22824 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
22825 #[repr(transparent)]
22826 pub struct WindowVisualState(pub i32);
22827 pub const WindowVisualState_Normal: WindowVisualState = WindowVisualState(0i32);
22828 pub const WindowVisualState_Maximized: WindowVisualState = WindowVisualState(1i32);
22829 pub const WindowVisualState_Minimized: WindowVisualState = WindowVisualState(2i32);
22830 impl ::std::convert::From<i32> for WindowVisualState {
22831     fn from(value: i32) -> Self {
22832         Self(value)
22833     }
22834 }
22835 unsafe impl ::windows::runtime::Abi for WindowVisualState {
22836     type Abi = Self;
22837     type DefaultType = Self;
22838 }
22839 pub const Window_CanMaximize_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1694496063, 25437, 16833, [149, 12, 203, 90, 223, 190, 40, 227]);
22840 pub const Window_CanMinimize_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3074115109, 22920, 19351, [180, 194, 166, 254, 110, 120, 200, 198]);
22841 pub const Window_Control_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3778703938, 62562, 20301, [174, 193, 83, 178, 141, 108, 50, 144]);
22842 pub const Window_IsModal_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4283328658, 14265, 20426, [133, 50, 255, 230, 116, 236, 254, 237]);
22843 pub const Window_IsTopmost_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4017980883, 2359, 18786, [146, 65, 182, 35, 69, 242, 64, 65]);
22844 pub const Window_Pattern_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(663754549, 51040, 18836, [173, 17, 89, 25, 230, 6, 177, 16]);
22845 pub const Window_WindowClosed_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3992011256, 64103, 20002, [187, 247, 148, 78, 5, 115, 94, 226]);
22846 pub const Window_WindowInteractionState_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1340941988, 1109, 20386, [178, 28, 196, 218, 45, 177, 255, 156]);
22847 pub const Window_WindowOpened_Event_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3555204358, 56901, 20271, [150, 51, 222, 158, 2, 251, 101, 175]);
22848 pub const Window_WindowVisualState_Property_GUID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1253544031, 59488, 17726, [163, 10, 246, 67, 30, 93, 170, 213]);
22849 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
22850 #[repr(transparent)]
22851 pub struct ZoomUnit(pub i32);
22852 pub const ZoomUnit_NoAmount: ZoomUnit = ZoomUnit(0i32);
22853 pub const ZoomUnit_LargeDecrement: ZoomUnit = ZoomUnit(1i32);
22854 pub const ZoomUnit_SmallDecrement: ZoomUnit = ZoomUnit(2i32);
22855 pub const ZoomUnit_LargeIncrement: ZoomUnit = ZoomUnit(3i32);
22856 pub const ZoomUnit_SmallIncrement: ZoomUnit = ZoomUnit(4i32);
22857 impl ::std::convert::From<i32> for ZoomUnit {
22858     fn from(value: i32) -> Self {
22859         Self(value)
22860     }
22861 }
22862 unsafe impl ::windows::runtime::Abi for ZoomUnit {
22863     type Abi = Self;
22864     type DefaultType = Self;
22865 }
22866