1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "UI_Input_Core")]
3 pub mod Core;
4 #[cfg(feature = "UI_Input_Inking")]
5 pub mod Inking;
6 #[cfg(feature = "UI_Input_Preview")]
7 pub mod Preview;
8 #[cfg(feature = "UI_Input_Spatial")]
9 pub mod Spatial;
10 #[repr(transparent)]
11 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12 pub struct AttachableInputObject(::windows::runtime::IInspectable);
13 impl AttachableInputObject {
14     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>15     pub fn Close(&self) -> ::windows::runtime::Result<()> {
16         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
17         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
18     }
19 }
20 unsafe impl ::windows::runtime::RuntimeType for AttachableInputObject {
21     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.AttachableInputObject;{9b822734-a3c1-542a-b2f4-0e32b773fb07})");
22 }
23 unsafe impl ::windows::runtime::Interface for AttachableInputObject {
24     type Vtable = IAttachableInputObject_abi;
25     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2608998196, 41921, 21546, [178, 244, 14, 50, 183, 115, 251, 7]);
26 }
27 impl ::windows::runtime::RuntimeName for AttachableInputObject {
28     const NAME: &'static str = "Windows.UI.Input.AttachableInputObject";
29 }
30 impl ::std::convert::From<AttachableInputObject> for ::windows::runtime::IUnknown {
from(value: AttachableInputObject) -> Self31     fn from(value: AttachableInputObject) -> Self {
32         unsafe { ::std::mem::transmute(value) }
33     }
34 }
35 impl ::std::convert::From<&AttachableInputObject> for ::windows::runtime::IUnknown {
from(value: &AttachableInputObject) -> Self36     fn from(value: &AttachableInputObject) -> Self {
37         ::std::convert::From::from(::std::clone::Clone::clone(value))
38     }
39 }
40 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AttachableInputObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>41     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
42         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
43     }
44 }
45 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AttachableInputObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>46     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
47         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
48     }
49 }
50 impl ::std::convert::From<AttachableInputObject> for ::windows::runtime::IInspectable {
from(value: AttachableInputObject) -> Self51     fn from(value: AttachableInputObject) -> Self {
52         value.0
53     }
54 }
55 impl ::std::convert::From<&AttachableInputObject> for ::windows::runtime::IInspectable {
from(value: &AttachableInputObject) -> Self56     fn from(value: &AttachableInputObject) -> Self {
57         value.0.clone()
58     }
59 }
60 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AttachableInputObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>61     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
62         ::windows::runtime::Param::Owned(self.0)
63     }
64 }
65 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AttachableInputObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>66     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
67         ::windows::runtime::Param::Borrowed(&self.0)
68     }
69 }
70 #[cfg(feature = "Foundation")]
71 impl ::std::convert::TryFrom<AttachableInputObject> for super::super::Foundation::IClosable {
72     type Error = ::windows::runtime::Error;
try_from(value: AttachableInputObject) -> ::windows::runtime::Result<Self>73     fn try_from(value: AttachableInputObject) -> ::windows::runtime::Result<Self> {
74         ::std::convert::TryFrom::try_from(&value)
75     }
76 }
77 #[cfg(feature = "Foundation")]
78 impl ::std::convert::TryFrom<&AttachableInputObject> for super::super::Foundation::IClosable {
79     type Error = ::windows::runtime::Error;
try_from(value: &AttachableInputObject) -> ::windows::runtime::Result<Self>80     fn try_from(value: &AttachableInputObject) -> ::windows::runtime::Result<Self> {
81         ::windows::runtime::Interface::cast(value)
82     }
83 }
84 #[cfg(feature = "Foundation")]
85 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for AttachableInputObject {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>86     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
87         ::windows::runtime::IntoParam::into_param(&self)
88     }
89 }
90 #[cfg(feature = "Foundation")]
91 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &AttachableInputObject {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>92     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
93         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
94     }
95 }
96 unsafe impl ::std::marker::Send for AttachableInputObject {}
97 unsafe impl ::std::marker::Sync for AttachableInputObject {}
98 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
99 #[repr(C)]
100 pub struct CrossSlideThresholds {
101     pub SelectionStart: f32,
102     pub SpeedBumpStart: f32,
103     pub SpeedBumpEnd: f32,
104     pub RearrangeStart: f32,
105 }
106 impl CrossSlideThresholds {}
107 impl ::std::default::Default for CrossSlideThresholds {
default() -> Self108     fn default() -> Self {
109         unsafe { ::std::mem::zeroed() }
110     }
111 }
112 impl ::std::fmt::Debug for CrossSlideThresholds {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result113     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
114         fmt.debug_struct("CrossSlideThresholds").field("SelectionStart", &self.SelectionStart).field("SpeedBumpStart", &self.SpeedBumpStart).field("SpeedBumpEnd", &self.SpeedBumpEnd).field("RearrangeStart", &self.RearrangeStart).finish()
115     }
116 }
117 impl ::std::cmp::PartialEq for CrossSlideThresholds {
eq(&self, other: &Self) -> bool118     fn eq(&self, other: &Self) -> bool {
119         self.SelectionStart == other.SelectionStart && self.SpeedBumpStart == other.SpeedBumpStart && self.SpeedBumpEnd == other.SpeedBumpEnd && self.RearrangeStart == other.RearrangeStart
120     }
121 }
122 impl ::std::cmp::Eq for CrossSlideThresholds {}
123 unsafe impl ::windows::runtime::Abi for CrossSlideThresholds {
124     type Abi = Self;
125     type DefaultType = Self;
126 }
127 unsafe impl ::windows::runtime::RuntimeType for CrossSlideThresholds {
128     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.UI.Input.CrossSlideThresholds;f4;f4;f4;f4)");
129 }
130 #[repr(transparent)]
131 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
132 pub struct CrossSlidingEventArgs(::windows::runtime::IInspectable);
133 impl CrossSlidingEventArgs {
134     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>135     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
136         let this = self;
137         unsafe {
138             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
139             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
140         }
141     }
142     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>143     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
144         let this = self;
145         unsafe {
146             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
147             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
148         }
149     }
CrossSlidingState(&self) -> ::windows::runtime::Result<CrossSlidingState>150     pub fn CrossSlidingState(&self) -> ::windows::runtime::Result<CrossSlidingState> {
151         let this = self;
152         unsafe {
153             let mut result__: CrossSlidingState = ::std::mem::zeroed();
154             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CrossSlidingState>(result__)
155         }
156     }
ContactCount(&self) -> ::windows::runtime::Result<u32>157     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
158         let this = &::windows::runtime::Interface::cast::<ICrossSlidingEventArgs2>(self)?;
159         unsafe {
160             let mut result__: u32 = ::std::mem::zeroed();
161             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
162         }
163     }
164 }
165 unsafe impl ::windows::runtime::RuntimeType for CrossSlidingEventArgs {
166     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.CrossSlidingEventArgs;{e9374738-6f88-41d9-8720-78e08e398349})");
167 }
168 unsafe impl ::windows::runtime::Interface for CrossSlidingEventArgs {
169     type Vtable = ICrossSlidingEventArgs_abi;
170     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3912714040, 28552, 16857, [135, 32, 120, 224, 142, 57, 131, 73]);
171 }
172 impl ::windows::runtime::RuntimeName for CrossSlidingEventArgs {
173     const NAME: &'static str = "Windows.UI.Input.CrossSlidingEventArgs";
174 }
175 impl ::std::convert::From<CrossSlidingEventArgs> for ::windows::runtime::IUnknown {
from(value: CrossSlidingEventArgs) -> Self176     fn from(value: CrossSlidingEventArgs) -> Self {
177         unsafe { ::std::mem::transmute(value) }
178     }
179 }
180 impl ::std::convert::From<&CrossSlidingEventArgs> for ::windows::runtime::IUnknown {
from(value: &CrossSlidingEventArgs) -> Self181     fn from(value: &CrossSlidingEventArgs) -> Self {
182         ::std::convert::From::from(::std::clone::Clone::clone(value))
183     }
184 }
185 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CrossSlidingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>186     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
187         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
188     }
189 }
190 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CrossSlidingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>191     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
192         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
193     }
194 }
195 impl ::std::convert::From<CrossSlidingEventArgs> for ::windows::runtime::IInspectable {
from(value: CrossSlidingEventArgs) -> Self196     fn from(value: CrossSlidingEventArgs) -> Self {
197         value.0
198     }
199 }
200 impl ::std::convert::From<&CrossSlidingEventArgs> for ::windows::runtime::IInspectable {
from(value: &CrossSlidingEventArgs) -> Self201     fn from(value: &CrossSlidingEventArgs) -> Self {
202         value.0.clone()
203     }
204 }
205 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CrossSlidingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>206     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
207         ::windows::runtime::Param::Owned(self.0)
208     }
209 }
210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CrossSlidingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
212         ::windows::runtime::Param::Borrowed(&self.0)
213     }
214 }
215 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
216 #[repr(transparent)]
217 pub struct CrossSlidingState(pub i32);
218 impl CrossSlidingState {
219     pub const Started: CrossSlidingState = CrossSlidingState(0i32);
220     pub const Dragging: CrossSlidingState = CrossSlidingState(1i32);
221     pub const Selecting: CrossSlidingState = CrossSlidingState(2i32);
222     pub const SelectSpeedBumping: CrossSlidingState = CrossSlidingState(3i32);
223     pub const SpeedBumping: CrossSlidingState = CrossSlidingState(4i32);
224     pub const Rearranging: CrossSlidingState = CrossSlidingState(5i32);
225     pub const Completed: CrossSlidingState = CrossSlidingState(6i32);
226 }
227 impl ::std::convert::From<i32> for CrossSlidingState {
from(value: i32) -> Self228     fn from(value: i32) -> Self {
229         Self(value)
230     }
231 }
232 unsafe impl ::windows::runtime::Abi for CrossSlidingState {
233     type Abi = Self;
234     type DefaultType = Self;
235 }
236 unsafe impl ::windows::runtime::RuntimeType for CrossSlidingState {
237     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.CrossSlidingState;i4)");
238 }
239 #[repr(transparent)]
240 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
241 pub struct DraggingEventArgs(::windows::runtime::IInspectable);
242 impl DraggingEventArgs {
243     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>244     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
245         let this = self;
246         unsafe {
247             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
248             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
249         }
250     }
251     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>252     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
253         let this = self;
254         unsafe {
255             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
256             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
257         }
258     }
DraggingState(&self) -> ::windows::runtime::Result<DraggingState>259     pub fn DraggingState(&self) -> ::windows::runtime::Result<DraggingState> {
260         let this = self;
261         unsafe {
262             let mut result__: DraggingState = ::std::mem::zeroed();
263             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DraggingState>(result__)
264         }
265     }
ContactCount(&self) -> ::windows::runtime::Result<u32>266     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
267         let this = &::windows::runtime::Interface::cast::<IDraggingEventArgs2>(self)?;
268         unsafe {
269             let mut result__: u32 = ::std::mem::zeroed();
270             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
271         }
272     }
273 }
274 unsafe impl ::windows::runtime::RuntimeType for DraggingEventArgs {
275     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.DraggingEventArgs;{1c905384-083c-4bd3-b559-179cddeb33ec})");
276 }
277 unsafe impl ::windows::runtime::Interface for DraggingEventArgs {
278     type Vtable = IDraggingEventArgs_abi;
279     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(479220612, 2108, 19411, [181, 89, 23, 156, 221, 235, 51, 236]);
280 }
281 impl ::windows::runtime::RuntimeName for DraggingEventArgs {
282     const NAME: &'static str = "Windows.UI.Input.DraggingEventArgs";
283 }
284 impl ::std::convert::From<DraggingEventArgs> for ::windows::runtime::IUnknown {
from(value: DraggingEventArgs) -> Self285     fn from(value: DraggingEventArgs) -> Self {
286         unsafe { ::std::mem::transmute(value) }
287     }
288 }
289 impl ::std::convert::From<&DraggingEventArgs> for ::windows::runtime::IUnknown {
from(value: &DraggingEventArgs) -> Self290     fn from(value: &DraggingEventArgs) -> Self {
291         ::std::convert::From::from(::std::clone::Clone::clone(value))
292     }
293 }
294 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DraggingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>295     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
296         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
297     }
298 }
299 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DraggingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>300     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
301         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
302     }
303 }
304 impl ::std::convert::From<DraggingEventArgs> for ::windows::runtime::IInspectable {
from(value: DraggingEventArgs) -> Self305     fn from(value: DraggingEventArgs) -> Self {
306         value.0
307     }
308 }
309 impl ::std::convert::From<&DraggingEventArgs> for ::windows::runtime::IInspectable {
from(value: &DraggingEventArgs) -> Self310     fn from(value: &DraggingEventArgs) -> Self {
311         value.0.clone()
312     }
313 }
314 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DraggingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>315     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
316         ::windows::runtime::Param::Owned(self.0)
317     }
318 }
319 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DraggingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>320     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
321         ::windows::runtime::Param::Borrowed(&self.0)
322     }
323 }
324 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
325 #[repr(transparent)]
326 pub struct DraggingState(pub i32);
327 impl DraggingState {
328     pub const Started: DraggingState = DraggingState(0i32);
329     pub const Continuing: DraggingState = DraggingState(1i32);
330     pub const Completed: DraggingState = DraggingState(2i32);
331 }
332 impl ::std::convert::From<i32> for DraggingState {
from(value: i32) -> Self333     fn from(value: i32) -> Self {
334         Self(value)
335     }
336 }
337 unsafe impl ::windows::runtime::Abi for DraggingState {
338     type Abi = Self;
339     type DefaultType = Self;
340 }
341 unsafe impl ::windows::runtime::RuntimeType for DraggingState {
342     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.DraggingState;i4)");
343 }
344 #[repr(transparent)]
345 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
346 pub struct EdgeGesture(::windows::runtime::IInspectable);
347 impl EdgeGesture {
348     #[cfg(feature = "Foundation")]
Starting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<EdgeGesture, EdgeGestureEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>349     pub fn Starting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<EdgeGesture, EdgeGestureEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
350         let this = self;
351         unsafe {
352             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
353             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
354         }
355     }
356     #[cfg(feature = "Foundation")]
RemoveStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>357     pub fn RemoveStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
358         let this = self;
359         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
360     }
361     #[cfg(feature = "Foundation")]
Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<EdgeGesture, EdgeGestureEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>362     pub fn Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<EdgeGesture, EdgeGestureEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
363         let this = self;
364         unsafe {
365             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
366             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
367         }
368     }
369     #[cfg(feature = "Foundation")]
RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>370     pub fn RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
371         let this = self;
372         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
373     }
374     #[cfg(feature = "Foundation")]
Canceled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<EdgeGesture, EdgeGestureEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>375     pub fn Canceled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<EdgeGesture, EdgeGestureEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
376         let this = self;
377         unsafe {
378             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
379             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
380         }
381     }
382     #[cfg(feature = "Foundation")]
RemoveCanceled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>383     pub fn RemoveCanceled<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
384         let this = self;
385         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
386     }
GetForCurrentView() -> ::windows::runtime::Result<EdgeGesture>387     pub fn GetForCurrentView() -> ::windows::runtime::Result<EdgeGesture> {
388         Self::IEdgeGestureStatics(|this| unsafe {
389             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
390             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<EdgeGesture>(result__)
391         })
392     }
IEdgeGestureStatics<R, F: FnOnce(&IEdgeGestureStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>393     pub fn IEdgeGestureStatics<R, F: FnOnce(&IEdgeGestureStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
394         static mut SHARED: ::windows::runtime::FactoryCache<EdgeGesture, IEdgeGestureStatics> = ::windows::runtime::FactoryCache::new();
395         unsafe { SHARED.call(callback) }
396     }
397 }
398 unsafe impl ::windows::runtime::RuntimeType for EdgeGesture {
399     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.EdgeGesture;{580d5292-2ab1-49aa-a7f0-33bd3f8df9f1})");
400 }
401 unsafe impl ::windows::runtime::Interface for EdgeGesture {
402     type Vtable = IEdgeGesture_abi;
403     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1477268114, 10929, 18858, [167, 240, 51, 189, 63, 141, 249, 241]);
404 }
405 impl ::windows::runtime::RuntimeName for EdgeGesture {
406     const NAME: &'static str = "Windows.UI.Input.EdgeGesture";
407 }
408 impl ::std::convert::From<EdgeGesture> for ::windows::runtime::IUnknown {
from(value: EdgeGesture) -> Self409     fn from(value: EdgeGesture) -> Self {
410         unsafe { ::std::mem::transmute(value) }
411     }
412 }
413 impl ::std::convert::From<&EdgeGesture> for ::windows::runtime::IUnknown {
from(value: &EdgeGesture) -> Self414     fn from(value: &EdgeGesture) -> Self {
415         ::std::convert::From::from(::std::clone::Clone::clone(value))
416     }
417 }
418 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for EdgeGesture {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>419     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
420         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
421     }
422 }
423 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &EdgeGesture {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>424     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
425         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
426     }
427 }
428 impl ::std::convert::From<EdgeGesture> for ::windows::runtime::IInspectable {
from(value: EdgeGesture) -> Self429     fn from(value: EdgeGesture) -> Self {
430         value.0
431     }
432 }
433 impl ::std::convert::From<&EdgeGesture> for ::windows::runtime::IInspectable {
from(value: &EdgeGesture) -> Self434     fn from(value: &EdgeGesture) -> Self {
435         value.0.clone()
436     }
437 }
438 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for EdgeGesture {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>439     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
440         ::windows::runtime::Param::Owned(self.0)
441     }
442 }
443 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a EdgeGesture {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>444     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
445         ::windows::runtime::Param::Borrowed(&self.0)
446     }
447 }
448 #[repr(transparent)]
449 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
450 pub struct EdgeGestureEventArgs(::windows::runtime::IInspectable);
451 impl EdgeGestureEventArgs {
Kind(&self) -> ::windows::runtime::Result<EdgeGestureKind>452     pub fn Kind(&self) -> ::windows::runtime::Result<EdgeGestureKind> {
453         let this = self;
454         unsafe {
455             let mut result__: EdgeGestureKind = ::std::mem::zeroed();
456             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<EdgeGestureKind>(result__)
457         }
458     }
459 }
460 unsafe impl ::windows::runtime::RuntimeType for EdgeGestureEventArgs {
461     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.EdgeGestureEventArgs;{44fa4a24-2d09-42e1-8b5e-368208796a4c})");
462 }
463 unsafe impl ::windows::runtime::Interface for EdgeGestureEventArgs {
464     type Vtable = IEdgeGestureEventArgs_abi;
465     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1157253668, 11529, 17121, [139, 94, 54, 130, 8, 121, 106, 76]);
466 }
467 impl ::windows::runtime::RuntimeName for EdgeGestureEventArgs {
468     const NAME: &'static str = "Windows.UI.Input.EdgeGestureEventArgs";
469 }
470 impl ::std::convert::From<EdgeGestureEventArgs> for ::windows::runtime::IUnknown {
from(value: EdgeGestureEventArgs) -> Self471     fn from(value: EdgeGestureEventArgs) -> Self {
472         unsafe { ::std::mem::transmute(value) }
473     }
474 }
475 impl ::std::convert::From<&EdgeGestureEventArgs> for ::windows::runtime::IUnknown {
from(value: &EdgeGestureEventArgs) -> Self476     fn from(value: &EdgeGestureEventArgs) -> Self {
477         ::std::convert::From::from(::std::clone::Clone::clone(value))
478     }
479 }
480 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for EdgeGestureEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>481     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
482         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
483     }
484 }
485 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &EdgeGestureEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>486     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
487         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
488     }
489 }
490 impl ::std::convert::From<EdgeGestureEventArgs> for ::windows::runtime::IInspectable {
from(value: EdgeGestureEventArgs) -> Self491     fn from(value: EdgeGestureEventArgs) -> Self {
492         value.0
493     }
494 }
495 impl ::std::convert::From<&EdgeGestureEventArgs> for ::windows::runtime::IInspectable {
from(value: &EdgeGestureEventArgs) -> Self496     fn from(value: &EdgeGestureEventArgs) -> Self {
497         value.0.clone()
498     }
499 }
500 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for EdgeGestureEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>501     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
502         ::windows::runtime::Param::Owned(self.0)
503     }
504 }
505 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a EdgeGestureEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>506     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
507         ::windows::runtime::Param::Borrowed(&self.0)
508     }
509 }
510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
511 #[repr(transparent)]
512 pub struct EdgeGestureKind(pub i32);
513 impl EdgeGestureKind {
514     pub const Touch: EdgeGestureKind = EdgeGestureKind(0i32);
515     pub const Keyboard: EdgeGestureKind = EdgeGestureKind(1i32);
516     pub const Mouse: EdgeGestureKind = EdgeGestureKind(2i32);
517 }
518 impl ::std::convert::From<i32> for EdgeGestureKind {
from(value: i32) -> Self519     fn from(value: i32) -> Self {
520         Self(value)
521     }
522 }
523 unsafe impl ::windows::runtime::Abi for EdgeGestureKind {
524     type Abi = Self;
525     type DefaultType = Self;
526 }
527 unsafe impl ::windows::runtime::RuntimeType for EdgeGestureKind {
528     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.EdgeGestureKind;i4)");
529 }
530 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
531 #[repr(transparent)]
532 pub struct GazeInputAccessStatus(pub i32);
533 impl GazeInputAccessStatus {
534     pub const Unspecified: GazeInputAccessStatus = GazeInputAccessStatus(0i32);
535     pub const Allowed: GazeInputAccessStatus = GazeInputAccessStatus(1i32);
536     pub const DeniedByUser: GazeInputAccessStatus = GazeInputAccessStatus(2i32);
537     pub const DeniedBySystem: GazeInputAccessStatus = GazeInputAccessStatus(3i32);
538 }
539 impl ::std::convert::From<i32> for GazeInputAccessStatus {
from(value: i32) -> Self540     fn from(value: i32) -> Self {
541         Self(value)
542     }
543 }
544 unsafe impl ::windows::runtime::Abi for GazeInputAccessStatus {
545     type Abi = Self;
546     type DefaultType = Self;
547 }
548 unsafe impl ::windows::runtime::RuntimeType for GazeInputAccessStatus {
549     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.GazeInputAccessStatus;i4)");
550 }
551 #[repr(transparent)]
552 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
553 pub struct GestureRecognizer(::windows::runtime::IInspectable);
554 impl GestureRecognizer {
new() -> ::windows::runtime::Result<Self>555     pub fn new() -> ::windows::runtime::Result<Self> {
556         Self::IActivationFactory(|f| f.activate_instance::<Self>())
557     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>558     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
559         static mut SHARED: ::windows::runtime::FactoryCache<GestureRecognizer, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
560         unsafe { SHARED.call(callback) }
561     }
GestureSettings(&self) -> ::windows::runtime::Result<GestureSettings>562     pub fn GestureSettings(&self) -> ::windows::runtime::Result<GestureSettings> {
563         let this = self;
564         unsafe {
565             let mut result__: GestureSettings = ::std::mem::zeroed();
566             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<GestureSettings>(result__)
567         }
568     }
SetGestureSettings(&self, value: GestureSettings) -> ::windows::runtime::Result<()>569     pub fn SetGestureSettings(&self, value: GestureSettings) -> ::windows::runtime::Result<()> {
570         let this = self;
571         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
572     }
IsInertial(&self) -> ::windows::runtime::Result<bool>573     pub fn IsInertial(&self) -> ::windows::runtime::Result<bool> {
574         let this = self;
575         unsafe {
576             let mut result__: bool = ::std::mem::zeroed();
577             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
578         }
579     }
IsActive(&self) -> ::windows::runtime::Result<bool>580     pub fn IsActive(&self) -> ::windows::runtime::Result<bool> {
581         let this = self;
582         unsafe {
583             let mut result__: bool = ::std::mem::zeroed();
584             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
585         }
586     }
ShowGestureFeedback(&self) -> ::windows::runtime::Result<bool>587     pub fn ShowGestureFeedback(&self) -> ::windows::runtime::Result<bool> {
588         let this = self;
589         unsafe {
590             let mut result__: bool = ::std::mem::zeroed();
591             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
592         }
593     }
SetShowGestureFeedback(&self, value: bool) -> ::windows::runtime::Result<()>594     pub fn SetShowGestureFeedback(&self, value: bool) -> ::windows::runtime::Result<()> {
595         let this = self;
596         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
597     }
598     #[cfg(feature = "Foundation")]
PivotCenter(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>599     pub fn PivotCenter(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
600         let this = self;
601         unsafe {
602             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
603             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
604         }
605     }
606     #[cfg(feature = "Foundation")]
SetPivotCenter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, value: Param0) -> ::windows::runtime::Result<()>607     pub fn SetPivotCenter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
608         let this = self;
609         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
610     }
PivotRadius(&self) -> ::windows::runtime::Result<f32>611     pub fn PivotRadius(&self) -> ::windows::runtime::Result<f32> {
612         let this = self;
613         unsafe {
614             let mut result__: f32 = ::std::mem::zeroed();
615             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
616         }
617     }
SetPivotRadius(&self, value: f32) -> ::windows::runtime::Result<()>618     pub fn SetPivotRadius(&self, value: f32) -> ::windows::runtime::Result<()> {
619         let this = self;
620         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
621     }
InertiaTranslationDeceleration(&self) -> ::windows::runtime::Result<f32>622     pub fn InertiaTranslationDeceleration(&self) -> ::windows::runtime::Result<f32> {
623         let this = self;
624         unsafe {
625             let mut result__: f32 = ::std::mem::zeroed();
626             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
627         }
628     }
SetInertiaTranslationDeceleration(&self, value: f32) -> ::windows::runtime::Result<()>629     pub fn SetInertiaTranslationDeceleration(&self, value: f32) -> ::windows::runtime::Result<()> {
630         let this = self;
631         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
632     }
InertiaRotationDeceleration(&self) -> ::windows::runtime::Result<f32>633     pub fn InertiaRotationDeceleration(&self) -> ::windows::runtime::Result<f32> {
634         let this = self;
635         unsafe {
636             let mut result__: f32 = ::std::mem::zeroed();
637             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
638         }
639     }
SetInertiaRotationDeceleration(&self, value: f32) -> ::windows::runtime::Result<()>640     pub fn SetInertiaRotationDeceleration(&self, value: f32) -> ::windows::runtime::Result<()> {
641         let this = self;
642         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
643     }
InertiaExpansionDeceleration(&self) -> ::windows::runtime::Result<f32>644     pub fn InertiaExpansionDeceleration(&self) -> ::windows::runtime::Result<f32> {
645         let this = self;
646         unsafe {
647             let mut result__: f32 = ::std::mem::zeroed();
648             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
649         }
650     }
SetInertiaExpansionDeceleration(&self, value: f32) -> ::windows::runtime::Result<()>651     pub fn SetInertiaExpansionDeceleration(&self, value: f32) -> ::windows::runtime::Result<()> {
652         let this = self;
653         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
654     }
InertiaTranslationDisplacement(&self) -> ::windows::runtime::Result<f32>655     pub fn InertiaTranslationDisplacement(&self) -> ::windows::runtime::Result<f32> {
656         let this = self;
657         unsafe {
658             let mut result__: f32 = ::std::mem::zeroed();
659             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
660         }
661     }
SetInertiaTranslationDisplacement(&self, value: f32) -> ::windows::runtime::Result<()>662     pub fn SetInertiaTranslationDisplacement(&self, value: f32) -> ::windows::runtime::Result<()> {
663         let this = self;
664         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
665     }
InertiaRotationAngle(&self) -> ::windows::runtime::Result<f32>666     pub fn InertiaRotationAngle(&self) -> ::windows::runtime::Result<f32> {
667         let this = self;
668         unsafe {
669             let mut result__: f32 = ::std::mem::zeroed();
670             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
671         }
672     }
SetInertiaRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>673     pub fn SetInertiaRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
674         let this = self;
675         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value).ok() }
676     }
InertiaExpansion(&self) -> ::windows::runtime::Result<f32>677     pub fn InertiaExpansion(&self) -> ::windows::runtime::Result<f32> {
678         let this = self;
679         unsafe {
680             let mut result__: f32 = ::std::mem::zeroed();
681             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
682         }
683     }
SetInertiaExpansion(&self, value: f32) -> ::windows::runtime::Result<()>684     pub fn SetInertiaExpansion(&self, value: f32) -> ::windows::runtime::Result<()> {
685         let this = self;
686         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value).ok() }
687     }
ManipulationExact(&self) -> ::windows::runtime::Result<bool>688     pub fn ManipulationExact(&self) -> ::windows::runtime::Result<bool> {
689         let this = self;
690         unsafe {
691             let mut result__: bool = ::std::mem::zeroed();
692             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
693         }
694     }
SetManipulationExact(&self, value: bool) -> ::windows::runtime::Result<()>695     pub fn SetManipulationExact(&self, value: bool) -> ::windows::runtime::Result<()> {
696         let this = self;
697         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value).ok() }
698     }
CrossSlideThresholds(&self) -> ::windows::runtime::Result<CrossSlideThresholds>699     pub fn CrossSlideThresholds(&self) -> ::windows::runtime::Result<CrossSlideThresholds> {
700         let this = self;
701         unsafe {
702             let mut result__: CrossSlideThresholds = ::std::mem::zeroed();
703             (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CrossSlideThresholds>(result__)
704         }
705     }
SetCrossSlideThresholds<'a, Param0: ::windows::runtime::IntoParam<'a, CrossSlideThresholds>>(&self, value: Param0) -> ::windows::runtime::Result<()>706     pub fn SetCrossSlideThresholds<'a, Param0: ::windows::runtime::IntoParam<'a, CrossSlideThresholds>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
707         let this = self;
708         unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
709     }
CrossSlideHorizontally(&self) -> ::windows::runtime::Result<bool>710     pub fn CrossSlideHorizontally(&self) -> ::windows::runtime::Result<bool> {
711         let this = self;
712         unsafe {
713             let mut result__: bool = ::std::mem::zeroed();
714             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
715         }
716     }
SetCrossSlideHorizontally(&self, value: bool) -> ::windows::runtime::Result<()>717     pub fn SetCrossSlideHorizontally(&self, value: bool) -> ::windows::runtime::Result<()> {
718         let this = self;
719         unsafe { (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), value).ok() }
720     }
CrossSlideExact(&self) -> ::windows::runtime::Result<bool>721     pub fn CrossSlideExact(&self) -> ::windows::runtime::Result<bool> {
722         let this = self;
723         unsafe {
724             let mut result__: bool = ::std::mem::zeroed();
725             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
726         }
727     }
SetCrossSlideExact(&self, value: bool) -> ::windows::runtime::Result<()>728     pub fn SetCrossSlideExact(&self, value: bool) -> ::windows::runtime::Result<()> {
729         let this = self;
730         unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value).ok() }
731     }
AutoProcessInertia(&self) -> ::windows::runtime::Result<bool>732     pub fn AutoProcessInertia(&self) -> ::windows::runtime::Result<bool> {
733         let this = self;
734         unsafe {
735             let mut result__: bool = ::std::mem::zeroed();
736             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
737         }
738     }
SetAutoProcessInertia(&self, value: bool) -> ::windows::runtime::Result<()>739     pub fn SetAutoProcessInertia(&self, value: bool) -> ::windows::runtime::Result<()> {
740         let this = self;
741         unsafe { (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), value).ok() }
742     }
MouseWheelParameters(&self) -> ::windows::runtime::Result<MouseWheelParameters>743     pub fn MouseWheelParameters(&self) -> ::windows::runtime::Result<MouseWheelParameters> {
744         let this = self;
745         unsafe {
746             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
747             (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MouseWheelParameters>(result__)
748         }
749     }
CanBeDoubleTap<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0) -> ::windows::runtime::Result<bool>750     pub fn CanBeDoubleTap<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0) -> ::windows::runtime::Result<bool> {
751         let this = self;
752         unsafe {
753             let mut result__: bool = ::std::mem::zeroed();
754             (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<bool>(result__)
755         }
756     }
ProcessDownEvent<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0) -> ::windows::runtime::Result<()>757     pub fn ProcessDownEvent<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
758         let this = self;
759         unsafe { (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
760     }
761     #[cfg(feature = "Foundation_Collections")]
ProcessMoveEvents<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<PointerPoint>>>(&self, value: Param0) -> ::windows::runtime::Result<()>762     pub fn ProcessMoveEvents<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<PointerPoint>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
763         let this = self;
764         unsafe { (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
765     }
ProcessUpEvent<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0) -> ::windows::runtime::Result<()>766     pub fn ProcessUpEvent<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
767         let this = self;
768         unsafe { (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
769     }
ProcessMouseWheelEvent<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0, isshiftkeydown: bool, iscontrolkeydown: bool) -> ::windows::runtime::Result<()>770     pub fn ProcessMouseWheelEvent<'a, Param0: ::windows::runtime::IntoParam<'a, PointerPoint>>(&self, value: Param0, isshiftkeydown: bool, iscontrolkeydown: bool) -> ::windows::runtime::Result<()> {
771         let this = self;
772         unsafe { (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), value.into_param().abi(), isshiftkeydown, iscontrolkeydown).ok() }
773     }
ProcessInertia(&self) -> ::windows::runtime::Result<()>774     pub fn ProcessInertia(&self) -> ::windows::runtime::Result<()> {
775         let this = self;
776         unsafe { (::windows::runtime::Interface::vtable(this).44)(::std::mem::transmute_copy(this)).ok() }
777     }
CompleteGesture(&self) -> ::windows::runtime::Result<()>778     pub fn CompleteGesture(&self) -> ::windows::runtime::Result<()> {
779         let this = self;
780         unsafe { (::windows::runtime::Interface::vtable(this).45)(::std::mem::transmute_copy(this)).ok() }
781     }
782     #[cfg(feature = "Foundation")]
Tapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, TappedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>783     pub fn Tapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, TappedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
784         let this = self;
785         unsafe {
786             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
787             (::windows::runtime::Interface::vtable(this).46)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
788         }
789     }
790     #[cfg(feature = "Foundation")]
RemoveTapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>791     pub fn RemoveTapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
792         let this = self;
793         unsafe { (::windows::runtime::Interface::vtable(this).47)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
794     }
795     #[cfg(feature = "Foundation")]
RightTapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, RightTappedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>796     pub fn RightTapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, RightTappedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
797         let this = self;
798         unsafe {
799             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
800             (::windows::runtime::Interface::vtable(this).48)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
801         }
802     }
803     #[cfg(feature = "Foundation")]
RemoveRightTapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>804     pub fn RemoveRightTapped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
805         let this = self;
806         unsafe { (::windows::runtime::Interface::vtable(this).49)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
807     }
808     #[cfg(feature = "Foundation")]
Holding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, HoldingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>809     pub fn Holding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, HoldingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
810         let this = self;
811         unsafe {
812             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
813             (::windows::runtime::Interface::vtable(this).50)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
814         }
815     }
816     #[cfg(feature = "Foundation")]
RemoveHolding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>817     pub fn RemoveHolding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
818         let this = self;
819         unsafe { (::windows::runtime::Interface::vtable(this).51)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
820     }
821     #[cfg(feature = "Foundation")]
Dragging<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, DraggingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>822     pub fn Dragging<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, DraggingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
823         let this = self;
824         unsafe {
825             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
826             (::windows::runtime::Interface::vtable(this).52)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
827         }
828     }
829     #[cfg(feature = "Foundation")]
RemoveDragging<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>830     pub fn RemoveDragging<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
831         let this = self;
832         unsafe { (::windows::runtime::Interface::vtable(this).53)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
833     }
834     #[cfg(feature = "Foundation")]
ManipulationStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationStartedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>835     pub fn ManipulationStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationStartedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
836         let this = self;
837         unsafe {
838             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
839             (::windows::runtime::Interface::vtable(this).54)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
840         }
841     }
842     #[cfg(feature = "Foundation")]
RemoveManipulationStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>843     pub fn RemoveManipulationStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
844         let this = self;
845         unsafe { (::windows::runtime::Interface::vtable(this).55)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
846     }
847     #[cfg(feature = "Foundation")]
ManipulationUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>848     pub fn ManipulationUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
849         let this = self;
850         unsafe {
851             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
852             (::windows::runtime::Interface::vtable(this).56)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
853         }
854     }
855     #[cfg(feature = "Foundation")]
RemoveManipulationUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>856     pub fn RemoveManipulationUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
857         let this = self;
858         unsafe { (::windows::runtime::Interface::vtable(this).57)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
859     }
860     #[cfg(feature = "Foundation")]
ManipulationInertiaStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationInertiaStartingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>861     pub fn ManipulationInertiaStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationInertiaStartingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
862         let this = self;
863         unsafe {
864             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
865             (::windows::runtime::Interface::vtable(this).58)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
866         }
867     }
868     #[cfg(feature = "Foundation")]
RemoveManipulationInertiaStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>869     pub fn RemoveManipulationInertiaStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
870         let this = self;
871         unsafe { (::windows::runtime::Interface::vtable(this).59)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
872     }
873     #[cfg(feature = "Foundation")]
ManipulationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>874     pub fn ManipulationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, ManipulationCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
875         let this = self;
876         unsafe {
877             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
878             (::windows::runtime::Interface::vtable(this).60)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
879         }
880     }
881     #[cfg(feature = "Foundation")]
RemoveManipulationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>882     pub fn RemoveManipulationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
883         let this = self;
884         unsafe { (::windows::runtime::Interface::vtable(this).61)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
885     }
886     #[cfg(feature = "Foundation")]
CrossSliding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, CrossSlidingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>887     pub fn CrossSliding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<GestureRecognizer, CrossSlidingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
888         let this = self;
889         unsafe {
890             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
891             (::windows::runtime::Interface::vtable(this).62)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
892         }
893     }
894     #[cfg(feature = "Foundation")]
RemoveCrossSliding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>895     pub fn RemoveCrossSliding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
896         let this = self;
897         unsafe { (::windows::runtime::Interface::vtable(this).63)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
898     }
TapMinContactCount(&self) -> ::windows::runtime::Result<u32>899     pub fn TapMinContactCount(&self) -> ::windows::runtime::Result<u32> {
900         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
901         unsafe {
902             let mut result__: u32 = ::std::mem::zeroed();
903             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
904         }
905     }
SetTapMinContactCount(&self, value: u32) -> ::windows::runtime::Result<()>906     pub fn SetTapMinContactCount(&self, value: u32) -> ::windows::runtime::Result<()> {
907         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
908         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
909     }
TapMaxContactCount(&self) -> ::windows::runtime::Result<u32>910     pub fn TapMaxContactCount(&self) -> ::windows::runtime::Result<u32> {
911         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
912         unsafe {
913             let mut result__: u32 = ::std::mem::zeroed();
914             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
915         }
916     }
SetTapMaxContactCount(&self, value: u32) -> ::windows::runtime::Result<()>917     pub fn SetTapMaxContactCount(&self, value: u32) -> ::windows::runtime::Result<()> {
918         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
919         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
920     }
HoldMinContactCount(&self) -> ::windows::runtime::Result<u32>921     pub fn HoldMinContactCount(&self) -> ::windows::runtime::Result<u32> {
922         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
923         unsafe {
924             let mut result__: u32 = ::std::mem::zeroed();
925             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
926         }
927     }
SetHoldMinContactCount(&self, value: u32) -> ::windows::runtime::Result<()>928     pub fn SetHoldMinContactCount(&self, value: u32) -> ::windows::runtime::Result<()> {
929         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
930         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
931     }
HoldMaxContactCount(&self) -> ::windows::runtime::Result<u32>932     pub fn HoldMaxContactCount(&self) -> ::windows::runtime::Result<u32> {
933         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
934         unsafe {
935             let mut result__: u32 = ::std::mem::zeroed();
936             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
937         }
938     }
SetHoldMaxContactCount(&self, value: u32) -> ::windows::runtime::Result<()>939     pub fn SetHoldMaxContactCount(&self, value: u32) -> ::windows::runtime::Result<()> {
940         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
941         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
942     }
HoldRadius(&self) -> ::windows::runtime::Result<f32>943     pub fn HoldRadius(&self) -> ::windows::runtime::Result<f32> {
944         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
945         unsafe {
946             let mut result__: f32 = ::std::mem::zeroed();
947             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
948         }
949     }
SetHoldRadius(&self, value: f32) -> ::windows::runtime::Result<()>950     pub fn SetHoldRadius(&self, value: f32) -> ::windows::runtime::Result<()> {
951         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
952         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
953     }
954     #[cfg(feature = "Foundation")]
HoldStartDelay(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>955     pub fn HoldStartDelay(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
956         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
957         unsafe {
958             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
959             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
960         }
961     }
962     #[cfg(feature = "Foundation")]
SetHoldStartDelay<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>963     pub fn SetHoldStartDelay<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
964         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
965         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
966     }
TranslationMinContactCount(&self) -> ::windows::runtime::Result<u32>967     pub fn TranslationMinContactCount(&self) -> ::windows::runtime::Result<u32> {
968         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
969         unsafe {
970             let mut result__: u32 = ::std::mem::zeroed();
971             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
972         }
973     }
SetTranslationMinContactCount(&self, value: u32) -> ::windows::runtime::Result<()>974     pub fn SetTranslationMinContactCount(&self, value: u32) -> ::windows::runtime::Result<()> {
975         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
976         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
977     }
TranslationMaxContactCount(&self) -> ::windows::runtime::Result<u32>978     pub fn TranslationMaxContactCount(&self) -> ::windows::runtime::Result<u32> {
979         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
980         unsafe {
981             let mut result__: u32 = ::std::mem::zeroed();
982             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
983         }
984     }
SetTranslationMaxContactCount(&self, value: u32) -> ::windows::runtime::Result<()>985     pub fn SetTranslationMaxContactCount(&self, value: u32) -> ::windows::runtime::Result<()> {
986         let this = &::windows::runtime::Interface::cast::<IGestureRecognizer2>(self)?;
987         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
988     }
989 }
990 unsafe impl ::windows::runtime::RuntimeType for GestureRecognizer {
991     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.GestureRecognizer;{b47a37bf-3d6b-4f88-83e8-6dcb4012ffb0})");
992 }
993 unsafe impl ::windows::runtime::Interface for GestureRecognizer {
994     type Vtable = IGestureRecognizer_abi;
995     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3027908543, 15723, 20360, [131, 232, 109, 203, 64, 18, 255, 176]);
996 }
997 impl ::windows::runtime::RuntimeName for GestureRecognizer {
998     const NAME: &'static str = "Windows.UI.Input.GestureRecognizer";
999 }
1000 impl ::std::convert::From<GestureRecognizer> for ::windows::runtime::IUnknown {
from(value: GestureRecognizer) -> Self1001     fn from(value: GestureRecognizer) -> Self {
1002         unsafe { ::std::mem::transmute(value) }
1003     }
1004 }
1005 impl ::std::convert::From<&GestureRecognizer> for ::windows::runtime::IUnknown {
from(value: &GestureRecognizer) -> Self1006     fn from(value: &GestureRecognizer) -> Self {
1007         ::std::convert::From::from(::std::clone::Clone::clone(value))
1008     }
1009 }
1010 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for GestureRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1011     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1012         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1013     }
1014 }
1015 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &GestureRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1016     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1017         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1018     }
1019 }
1020 impl ::std::convert::From<GestureRecognizer> for ::windows::runtime::IInspectable {
from(value: GestureRecognizer) -> Self1021     fn from(value: GestureRecognizer) -> Self {
1022         value.0
1023     }
1024 }
1025 impl ::std::convert::From<&GestureRecognizer> for ::windows::runtime::IInspectable {
from(value: &GestureRecognizer) -> Self1026     fn from(value: &GestureRecognizer) -> Self {
1027         value.0.clone()
1028     }
1029 }
1030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for GestureRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1031     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1032         ::windows::runtime::Param::Owned(self.0)
1033     }
1034 }
1035 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a GestureRecognizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1036     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1037         ::windows::runtime::Param::Borrowed(&self.0)
1038     }
1039 }
1040 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1041 #[repr(transparent)]
1042 pub struct GestureSettings(pub u32);
1043 impl GestureSettings {
1044     pub const None: GestureSettings = GestureSettings(0u32);
1045     pub const Tap: GestureSettings = GestureSettings(1u32);
1046     pub const DoubleTap: GestureSettings = GestureSettings(2u32);
1047     pub const Hold: GestureSettings = GestureSettings(4u32);
1048     pub const HoldWithMouse: GestureSettings = GestureSettings(8u32);
1049     pub const RightTap: GestureSettings = GestureSettings(16u32);
1050     pub const Drag: GestureSettings = GestureSettings(32u32);
1051     pub const ManipulationTranslateX: GestureSettings = GestureSettings(64u32);
1052     pub const ManipulationTranslateY: GestureSettings = GestureSettings(128u32);
1053     pub const ManipulationTranslateRailsX: GestureSettings = GestureSettings(256u32);
1054     pub const ManipulationTranslateRailsY: GestureSettings = GestureSettings(512u32);
1055     pub const ManipulationRotate: GestureSettings = GestureSettings(1024u32);
1056     pub const ManipulationScale: GestureSettings = GestureSettings(2048u32);
1057     pub const ManipulationTranslateInertia: GestureSettings = GestureSettings(4096u32);
1058     pub const ManipulationRotateInertia: GestureSettings = GestureSettings(8192u32);
1059     pub const ManipulationScaleInertia: GestureSettings = GestureSettings(16384u32);
1060     pub const CrossSlide: GestureSettings = GestureSettings(32768u32);
1061     pub const ManipulationMultipleFingerPanning: GestureSettings = GestureSettings(65536u32);
1062 }
1063 impl ::std::convert::From<u32> for GestureSettings {
from(value: u32) -> Self1064     fn from(value: u32) -> Self {
1065         Self(value)
1066     }
1067 }
1068 unsafe impl ::windows::runtime::Abi for GestureSettings {
1069     type Abi = Self;
1070     type DefaultType = Self;
1071 }
1072 unsafe impl ::windows::runtime::RuntimeType for GestureSettings {
1073     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.GestureSettings;u4)");
1074 }
1075 impl ::std::ops::BitOr for GestureSettings {
1076     type Output = Self;
bitor(self, rhs: Self) -> Self1077     fn bitor(self, rhs: Self) -> Self {
1078         Self(self.0 | rhs.0)
1079     }
1080 }
1081 impl ::std::ops::BitAnd for GestureSettings {
1082     type Output = Self;
bitand(self, rhs: Self) -> Self1083     fn bitand(self, rhs: Self) -> Self {
1084         Self(self.0 & rhs.0)
1085     }
1086 }
1087 impl ::std::ops::BitOrAssign for GestureSettings {
bitor_assign(&mut self, rhs: Self)1088     fn bitor_assign(&mut self, rhs: Self) {
1089         self.0.bitor_assign(rhs.0)
1090     }
1091 }
1092 impl ::std::ops::BitAndAssign for GestureSettings {
bitand_assign(&mut self, rhs: Self)1093     fn bitand_assign(&mut self, rhs: Self) {
1094         self.0.bitand_assign(rhs.0)
1095     }
1096 }
1097 impl ::std::ops::Not for GestureSettings {
1098     type Output = Self;
not(self) -> Self1099     fn not(self) -> Self {
1100         Self(self.0.not())
1101     }
1102 }
1103 #[repr(transparent)]
1104 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1105 pub struct HoldingEventArgs(::windows::runtime::IInspectable);
1106 impl HoldingEventArgs {
1107     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>1108     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
1109         let this = self;
1110         unsafe {
1111             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
1112             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
1113         }
1114     }
1115     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>1116     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
1117         let this = self;
1118         unsafe {
1119             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
1120             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
1121         }
1122     }
HoldingState(&self) -> ::windows::runtime::Result<HoldingState>1123     pub fn HoldingState(&self) -> ::windows::runtime::Result<HoldingState> {
1124         let this = self;
1125         unsafe {
1126             let mut result__: HoldingState = ::std::mem::zeroed();
1127             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HoldingState>(result__)
1128         }
1129     }
ContactCount(&self) -> ::windows::runtime::Result<u32>1130     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
1131         let this = &::windows::runtime::Interface::cast::<IHoldingEventArgs2>(self)?;
1132         unsafe {
1133             let mut result__: u32 = ::std::mem::zeroed();
1134             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1135         }
1136     }
CurrentContactCount(&self) -> ::windows::runtime::Result<u32>1137     pub fn CurrentContactCount(&self) -> ::windows::runtime::Result<u32> {
1138         let this = &::windows::runtime::Interface::cast::<IHoldingEventArgs2>(self)?;
1139         unsafe {
1140             let mut result__: u32 = ::std::mem::zeroed();
1141             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1142         }
1143     }
1144 }
1145 unsafe impl ::windows::runtime::RuntimeType for HoldingEventArgs {
1146     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.HoldingEventArgs;{2bf755c5-e799-41b4-bb40-242f40959b71})");
1147 }
1148 unsafe impl ::windows::runtime::Interface for HoldingEventArgs {
1149     type Vtable = IHoldingEventArgs_abi;
1150     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(737629637, 59289, 16820, [187, 64, 36, 47, 64, 149, 155, 113]);
1151 }
1152 impl ::windows::runtime::RuntimeName for HoldingEventArgs {
1153     const NAME: &'static str = "Windows.UI.Input.HoldingEventArgs";
1154 }
1155 impl ::std::convert::From<HoldingEventArgs> for ::windows::runtime::IUnknown {
from(value: HoldingEventArgs) -> Self1156     fn from(value: HoldingEventArgs) -> Self {
1157         unsafe { ::std::mem::transmute(value) }
1158     }
1159 }
1160 impl ::std::convert::From<&HoldingEventArgs> for ::windows::runtime::IUnknown {
from(value: &HoldingEventArgs) -> Self1161     fn from(value: &HoldingEventArgs) -> Self {
1162         ::std::convert::From::from(::std::clone::Clone::clone(value))
1163     }
1164 }
1165 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1166     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1167         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1168     }
1169 }
1170 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1171     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1172         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1173     }
1174 }
1175 impl ::std::convert::From<HoldingEventArgs> for ::windows::runtime::IInspectable {
from(value: HoldingEventArgs) -> Self1176     fn from(value: HoldingEventArgs) -> Self {
1177         value.0
1178     }
1179 }
1180 impl ::std::convert::From<&HoldingEventArgs> for ::windows::runtime::IInspectable {
from(value: &HoldingEventArgs) -> Self1181     fn from(value: &HoldingEventArgs) -> Self {
1182         value.0.clone()
1183     }
1184 }
1185 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1186     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1187         ::windows::runtime::Param::Owned(self.0)
1188     }
1189 }
1190 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1191     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1192         ::windows::runtime::Param::Borrowed(&self.0)
1193     }
1194 }
1195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1196 #[repr(transparent)]
1197 pub struct HoldingState(pub i32);
1198 impl HoldingState {
1199     pub const Started: HoldingState = HoldingState(0i32);
1200     pub const Completed: HoldingState = HoldingState(1i32);
1201     pub const Canceled: HoldingState = HoldingState(2i32);
1202 }
1203 impl ::std::convert::From<i32> for HoldingState {
from(value: i32) -> Self1204     fn from(value: i32) -> Self {
1205         Self(value)
1206     }
1207 }
1208 unsafe impl ::windows::runtime::Abi for HoldingState {
1209     type Abi = Self;
1210     type DefaultType = Self;
1211 }
1212 unsafe impl ::windows::runtime::RuntimeType for HoldingState {
1213     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.HoldingState;i4)");
1214 }
1215 #[repr(transparent)]
1216 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1217 #[doc(hidden)]
1218 pub struct IAttachableInputObject(::windows::runtime::IInspectable);
1219 unsafe impl ::windows::runtime::Interface for IAttachableInputObject {
1220     type Vtable = IAttachableInputObject_abi;
1221     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2608998196, 41921, 21546, [178, 244, 14, 50, 183, 115, 251, 7]);
1222 }
1223 #[repr(C)]
1224 #[doc(hidden)]
1225 pub struct IAttachableInputObject_abi(
1226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1232 );
1233 #[repr(transparent)]
1234 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1235 #[doc(hidden)]
1236 pub struct IAttachableInputObjectFactory(::windows::runtime::IInspectable);
1237 unsafe impl ::windows::runtime::Interface for IAttachableInputObjectFactory {
1238     type Vtable = IAttachableInputObjectFactory_abi;
1239     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2764393550, 17084, 22778, [166, 64, 234, 21, 22, 244, 192, 107]);
1240 }
1241 #[repr(C)]
1242 #[doc(hidden)]
1243 pub struct IAttachableInputObjectFactory_abi(
1244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1250 );
1251 #[repr(transparent)]
1252 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1253 #[doc(hidden)]
1254 pub struct ICrossSlidingEventArgs(::windows::runtime::IInspectable);
1255 unsafe impl ::windows::runtime::Interface for ICrossSlidingEventArgs {
1256     type Vtable = ICrossSlidingEventArgs_abi;
1257     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3912714040, 28552, 16857, [135, 32, 120, 224, 142, 57, 131, 73]);
1258 }
1259 #[repr(C)]
1260 #[doc(hidden)]
1261 pub struct ICrossSlidingEventArgs_abi(
1262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1268     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
1269     #[cfg(not(feature = "Devices_Input"))] usize,
1270     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1271     #[cfg(not(feature = "Foundation"))] usize,
1272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CrossSlidingState) -> ::windows::runtime::HRESULT,
1273 );
1274 #[repr(transparent)]
1275 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1276 #[doc(hidden)]
1277 pub struct ICrossSlidingEventArgs2(::windows::runtime::IInspectable);
1278 unsafe impl ::windows::runtime::Interface for ICrossSlidingEventArgs2 {
1279     type Vtable = ICrossSlidingEventArgs2_abi;
1280     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4009459016, 49264, 23027, [141, 171, 188, 175, 98, 29, 134, 135]);
1281 }
1282 #[repr(C)]
1283 #[doc(hidden)]
1284 pub struct ICrossSlidingEventArgs2_abi(
1285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1292 );
1293 #[repr(transparent)]
1294 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1295 #[doc(hidden)]
1296 pub struct IDraggingEventArgs(::windows::runtime::IInspectable);
1297 unsafe impl ::windows::runtime::Interface for IDraggingEventArgs {
1298     type Vtable = IDraggingEventArgs_abi;
1299     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(479220612, 2108, 19411, [181, 89, 23, 156, 221, 235, 51, 236]);
1300 }
1301 #[repr(C)]
1302 #[doc(hidden)]
1303 pub struct IDraggingEventArgs_abi(
1304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1310     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
1311     #[cfg(not(feature = "Devices_Input"))] usize,
1312     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1313     #[cfg(not(feature = "Foundation"))] usize,
1314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut DraggingState) -> ::windows::runtime::HRESULT,
1315 );
1316 #[repr(transparent)]
1317 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1318 #[doc(hidden)]
1319 pub struct IDraggingEventArgs2(::windows::runtime::IInspectable);
1320 unsafe impl ::windows::runtime::Interface for IDraggingEventArgs2 {
1321     type Vtable = IDraggingEventArgs2_abi;
1322     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1911544825, 14378, 21962, [180, 185, 0, 129, 35, 193, 191, 26]);
1323 }
1324 #[repr(C)]
1325 #[doc(hidden)]
1326 pub struct IDraggingEventArgs2_abi(
1327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1334 );
1335 #[repr(transparent)]
1336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1337 #[doc(hidden)]
1338 pub struct IEdgeGesture(::windows::runtime::IInspectable);
1339 unsafe impl ::windows::runtime::Interface for IEdgeGesture {
1340     type Vtable = IEdgeGesture_abi;
1341     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1477268114, 10929, 18858, [167, 240, 51, 189, 63, 141, 249, 241]);
1342 }
1343 #[repr(C)]
1344 #[doc(hidden)]
1345 pub struct IEdgeGesture_abi(
1346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1352     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1353     #[cfg(not(feature = "Foundation"))] usize,
1354     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1355     #[cfg(not(feature = "Foundation"))] usize,
1356     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1357     #[cfg(not(feature = "Foundation"))] usize,
1358     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1359     #[cfg(not(feature = "Foundation"))] usize,
1360     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1361     #[cfg(not(feature = "Foundation"))] usize,
1362     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1363     #[cfg(not(feature = "Foundation"))] usize,
1364 );
1365 #[repr(transparent)]
1366 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1367 #[doc(hidden)]
1368 pub struct IEdgeGestureEventArgs(::windows::runtime::IInspectable);
1369 unsafe impl ::windows::runtime::Interface for IEdgeGestureEventArgs {
1370     type Vtable = IEdgeGestureEventArgs_abi;
1371     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1157253668, 11529, 17121, [139, 94, 54, 130, 8, 121, 106, 76]);
1372 }
1373 #[repr(C)]
1374 #[doc(hidden)]
1375 pub struct IEdgeGestureEventArgs_abi(
1376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut EdgeGestureKind) -> ::windows::runtime::HRESULT,
1383 );
1384 #[repr(transparent)]
1385 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1386 #[doc(hidden)]
1387 pub struct IEdgeGestureStatics(::windows::runtime::IInspectable);
1388 unsafe impl ::windows::runtime::Interface for IEdgeGestureStatics {
1389     type Vtable = IEdgeGestureStatics_abi;
1390     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3161097497, 6382, 16451, [152, 57, 79, 197, 132, 214, 10, 20]);
1391 }
1392 #[repr(C)]
1393 #[doc(hidden)]
1394 pub struct IEdgeGestureStatics_abi(
1395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1402 );
1403 #[repr(transparent)]
1404 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1405 #[doc(hidden)]
1406 pub struct IGestureRecognizer(::windows::runtime::IInspectable);
1407 unsafe impl ::windows::runtime::Interface for IGestureRecognizer {
1408     type Vtable = IGestureRecognizer_abi;
1409     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3027908543, 15723, 20360, [131, 232, 109, 203, 64, 18, 255, 176]);
1410 }
1411 #[repr(C)]
1412 #[doc(hidden)]
1413 pub struct IGestureRecognizer_abi(
1414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut GestureSettings) -> ::windows::runtime::HRESULT,
1421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: GestureSettings) -> ::windows::runtime::HRESULT,
1422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1426     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1427     #[cfg(not(feature = "Foundation"))] usize,
1428     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1429     #[cfg(not(feature = "Foundation"))] usize,
1430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CrossSlideThresholds) -> ::windows::runtime::HRESULT,
1447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CrossSlideThresholds) -> ::windows::runtime::HRESULT,
1448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1457     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1458     #[cfg(not(feature = "Foundation_Collections"))] usize,
1459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, isshiftkeydown: bool, iscontrolkeydown: bool) -> ::windows::runtime::HRESULT,
1461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1463     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1464     #[cfg(not(feature = "Foundation"))] usize,
1465     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1466     #[cfg(not(feature = "Foundation"))] usize,
1467     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1468     #[cfg(not(feature = "Foundation"))] usize,
1469     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1470     #[cfg(not(feature = "Foundation"))] usize,
1471     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1472     #[cfg(not(feature = "Foundation"))] usize,
1473     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1474     #[cfg(not(feature = "Foundation"))] usize,
1475     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1476     #[cfg(not(feature = "Foundation"))] usize,
1477     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1478     #[cfg(not(feature = "Foundation"))] usize,
1479     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1480     #[cfg(not(feature = "Foundation"))] usize,
1481     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1482     #[cfg(not(feature = "Foundation"))] usize,
1483     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1484     #[cfg(not(feature = "Foundation"))] usize,
1485     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1486     #[cfg(not(feature = "Foundation"))] usize,
1487     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1488     #[cfg(not(feature = "Foundation"))] usize,
1489     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1490     #[cfg(not(feature = "Foundation"))] usize,
1491     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1492     #[cfg(not(feature = "Foundation"))] usize,
1493     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1494     #[cfg(not(feature = "Foundation"))] usize,
1495     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1496     #[cfg(not(feature = "Foundation"))] usize,
1497     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1498     #[cfg(not(feature = "Foundation"))] usize,
1499 );
1500 #[repr(transparent)]
1501 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1502 #[doc(hidden)]
1503 pub struct IGestureRecognizer2(::windows::runtime::IInspectable);
1504 unsafe impl ::windows::runtime::Interface for IGestureRecognizer2 {
1505     type Vtable = IGestureRecognizer2_abi;
1506     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3594914175, 28407, 22342, [139, 168, 143, 242, 32, 110, 111, 59]);
1507 }
1508 #[repr(C)]
1509 #[doc(hidden)]
1510 pub struct IGestureRecognizer2_abi(
1511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1527     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1528     #[cfg(not(feature = "Foundation"))] usize,
1529     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1530     #[cfg(not(feature = "Foundation"))] usize,
1531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1535 );
1536 #[repr(transparent)]
1537 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1538 #[doc(hidden)]
1539 pub struct IHoldingEventArgs(::windows::runtime::IInspectable);
1540 unsafe impl ::windows::runtime::Interface for IHoldingEventArgs {
1541     type Vtable = IHoldingEventArgs_abi;
1542     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(737629637, 59289, 16820, [187, 64, 36, 47, 64, 149, 155, 113]);
1543 }
1544 #[repr(C)]
1545 #[doc(hidden)]
1546 pub struct IHoldingEventArgs_abi(
1547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1553     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
1554     #[cfg(not(feature = "Devices_Input"))] usize,
1555     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1556     #[cfg(not(feature = "Foundation"))] usize,
1557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HoldingState) -> ::windows::runtime::HRESULT,
1558 );
1559 #[repr(transparent)]
1560 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1561 #[doc(hidden)]
1562 pub struct IHoldingEventArgs2(::windows::runtime::IInspectable);
1563 unsafe impl ::windows::runtime::Interface for IHoldingEventArgs2 {
1564     type Vtable = IHoldingEventArgs2_abi;
1565     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(337488362, 19577, 22132, [175, 234, 73, 63, 222, 185, 31, 25]);
1566 }
1567 #[repr(C)]
1568 #[doc(hidden)]
1569 pub struct IHoldingEventArgs2_abi(
1570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1578 );
1579 #[repr(transparent)]
1580 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1581 #[doc(hidden)]
1582 pub struct IInputActivationListener(::windows::runtime::IInspectable);
1583 unsafe impl ::windows::runtime::Interface for IInputActivationListener {
1584     type Vtable = IInputActivationListener_abi;
1585     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1567444690, 10439, 23267, [170, 116, 201, 24, 169, 242, 67, 202]);
1586 }
1587 #[repr(C)]
1588 #[doc(hidden)]
1589 pub struct IInputActivationListener_abi(
1590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InputActivationState) -> ::windows::runtime::HRESULT,
1597     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1598     #[cfg(not(feature = "Foundation"))] usize,
1599     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1600     #[cfg(not(feature = "Foundation"))] usize,
1601 );
1602 #[repr(transparent)]
1603 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1604 #[doc(hidden)]
1605 pub struct IInputActivationListenerActivationChangedEventArgs(::windows::runtime::IInspectable);
1606 unsafe impl ::windows::runtime::Interface for IInputActivationListenerActivationChangedEventArgs {
1607     type Vtable = IInputActivationListenerActivationChangedEventArgs_abi;
1608     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1989784677, 7631, 22417, [180, 185, 108, 175, 190, 237, 32, 86]);
1609 }
1610 #[repr(C)]
1611 #[doc(hidden)]
1612 pub struct IInputActivationListenerActivationChangedEventArgs_abi(
1613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InputActivationState) -> ::windows::runtime::HRESULT,
1620 );
1621 #[repr(transparent)]
1622 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1623 #[doc(hidden)]
1624 pub struct IKeyboardDeliveryInterceptor(::windows::runtime::IInspectable);
1625 unsafe impl ::windows::runtime::Interface for IKeyboardDeliveryInterceptor {
1626     type Vtable = IKeyboardDeliveryInterceptor_abi;
1627     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3032150120, 36681, 17516, [141, 181, 140, 15, 254, 133, 204, 158]);
1628 }
1629 #[repr(C)]
1630 #[doc(hidden)]
1631 pub struct IKeyboardDeliveryInterceptor_abi(
1632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1640     #[cfg(all(feature = "Foundation", feature = "UI_Core"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1641     #[cfg(not(all(feature = "Foundation", feature = "UI_Core")))] usize,
1642     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1643     #[cfg(not(feature = "Foundation"))] usize,
1644     #[cfg(all(feature = "Foundation", feature = "UI_Core"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1645     #[cfg(not(all(feature = "Foundation", feature = "UI_Core")))] usize,
1646     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1647     #[cfg(not(feature = "Foundation"))] usize,
1648 );
1649 #[repr(transparent)]
1650 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1651 #[doc(hidden)]
1652 pub struct IKeyboardDeliveryInterceptorStatics(::windows::runtime::IInspectable);
1653 unsafe impl ::windows::runtime::Interface for IKeyboardDeliveryInterceptorStatics {
1654     type Vtable = IKeyboardDeliveryInterceptorStatics_abi;
1655     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4193663906, 52922, 18261, [138, 126, 20, 192, 255, 236, 210, 57]);
1656 }
1657 #[repr(C)]
1658 #[doc(hidden)]
1659 pub struct IKeyboardDeliveryInterceptorStatics_abi(
1660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1667 );
1668 #[repr(transparent)]
1669 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1670 #[doc(hidden)]
1671 pub struct IManipulationCompletedEventArgs(::windows::runtime::IInspectable);
1672 unsafe impl ::windows::runtime::Interface for IManipulationCompletedEventArgs {
1673     type Vtable = IManipulationCompletedEventArgs_abi;
1674     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3008016939, 53659, 18175, [159, 56, 222, 199, 117, 75, 185, 231]);
1675 }
1676 #[repr(C)]
1677 #[doc(hidden)]
1678 pub struct IManipulationCompletedEventArgs_abi(
1679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1685     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
1686     #[cfg(not(feature = "Devices_Input"))] usize,
1687     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1688     #[cfg(not(feature = "Foundation"))] usize,
1689     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationDelta) -> ::windows::runtime::HRESULT,
1690     #[cfg(not(feature = "Foundation"))] usize,
1691     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationVelocities) -> ::windows::runtime::HRESULT,
1692     #[cfg(not(feature = "Foundation"))] usize,
1693 );
1694 #[repr(transparent)]
1695 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1696 #[doc(hidden)]
1697 pub struct IManipulationCompletedEventArgs2(::windows::runtime::IInspectable);
1698 unsafe impl ::windows::runtime::Interface for IManipulationCompletedEventArgs2 {
1699     type Vtable = IManipulationCompletedEventArgs2_abi;
1700     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4039171303, 12457, 23446, [136, 111, 101, 96, 168, 94, 71, 87]);
1701 }
1702 #[repr(C)]
1703 #[doc(hidden)]
1704 pub struct IManipulationCompletedEventArgs2_abi(
1705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1713 );
1714 #[repr(transparent)]
1715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1716 #[doc(hidden)]
1717 pub struct IManipulationInertiaStartingEventArgs(::windows::runtime::IInspectable);
1718 unsafe impl ::windows::runtime::Interface for IManipulationInertiaStartingEventArgs {
1719     type Vtable = IManipulationInertiaStartingEventArgs_abi;
1720     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3711412376, 9919, 18042, [156, 229, 204, 243, 251, 17, 55, 30]);
1721 }
1722 #[repr(C)]
1723 #[doc(hidden)]
1724 pub struct IManipulationInertiaStartingEventArgs_abi(
1725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1731     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
1732     #[cfg(not(feature = "Devices_Input"))] usize,
1733     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1734     #[cfg(not(feature = "Foundation"))] usize,
1735     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationDelta) -> ::windows::runtime::HRESULT,
1736     #[cfg(not(feature = "Foundation"))] usize,
1737     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationDelta) -> ::windows::runtime::HRESULT,
1738     #[cfg(not(feature = "Foundation"))] usize,
1739     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationVelocities) -> ::windows::runtime::HRESULT,
1740     #[cfg(not(feature = "Foundation"))] usize,
1741 );
1742 #[repr(transparent)]
1743 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1744 #[doc(hidden)]
1745 pub struct IManipulationInertiaStartingEventArgs2(::windows::runtime::IInspectable);
1746 unsafe impl ::windows::runtime::Interface for IManipulationInertiaStartingEventArgs2 {
1747     type Vtable = IManipulationInertiaStartingEventArgs2_abi;
1748     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3260287416, 63994, 23109, [189, 151, 220, 187, 178, 32, 24, 96]);
1749 }
1750 #[repr(C)]
1751 #[doc(hidden)]
1752 pub struct IManipulationInertiaStartingEventArgs2_abi(
1753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1760 );
1761 #[repr(transparent)]
1762 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1763 #[doc(hidden)]
1764 pub struct IManipulationStartedEventArgs(::windows::runtime::IInspectable);
1765 unsafe impl ::windows::runtime::Interface for IManipulationStartedEventArgs {
1766     type Vtable = IManipulationStartedEventArgs_abi;
1767     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3723265854, 53198, 18738, [140, 29, 60, 61, 1, 26, 52, 192]);
1768 }
1769 #[repr(C)]
1770 #[doc(hidden)]
1771 pub struct IManipulationStartedEventArgs_abi(
1772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1778     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
1779     #[cfg(not(feature = "Devices_Input"))] usize,
1780     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1781     #[cfg(not(feature = "Foundation"))] usize,
1782     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationDelta) -> ::windows::runtime::HRESULT,
1783     #[cfg(not(feature = "Foundation"))] usize,
1784 );
1785 #[repr(transparent)]
1786 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1787 #[doc(hidden)]
1788 pub struct IManipulationStartedEventArgs2(::windows::runtime::IInspectable);
1789 unsafe impl ::windows::runtime::Interface for IManipulationStartedEventArgs2 {
1790     type Vtable = IManipulationStartedEventArgs2_abi;
1791     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(765713230, 58755, 20565, [175, 170, 22, 253, 152, 101, 49, 166]);
1792 }
1793 #[repr(C)]
1794 #[doc(hidden)]
1795 pub struct IManipulationStartedEventArgs2_abi(
1796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1803 );
1804 #[repr(transparent)]
1805 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1806 #[doc(hidden)]
1807 pub struct IManipulationUpdatedEventArgs(::windows::runtime::IInspectable);
1808 unsafe impl ::windows::runtime::Interface for IManipulationUpdatedEventArgs {
1809     type Vtable = IManipulationUpdatedEventArgs_abi;
1810     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3409267941, 43960, 20383, [179, 206, 129, 129, 170, 97, 173, 130]);
1811 }
1812 #[repr(C)]
1813 #[doc(hidden)]
1814 pub struct IManipulationUpdatedEventArgs_abi(
1815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1821     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
1822     #[cfg(not(feature = "Devices_Input"))] usize,
1823     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1824     #[cfg(not(feature = "Foundation"))] usize,
1825     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationDelta) -> ::windows::runtime::HRESULT,
1826     #[cfg(not(feature = "Foundation"))] usize,
1827     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationDelta) -> ::windows::runtime::HRESULT,
1828     #[cfg(not(feature = "Foundation"))] usize,
1829     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ManipulationVelocities) -> ::windows::runtime::HRESULT,
1830     #[cfg(not(feature = "Foundation"))] usize,
1831 );
1832 #[repr(transparent)]
1833 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1834 #[doc(hidden)]
1835 pub struct IManipulationUpdatedEventArgs2(::windows::runtime::IInspectable);
1836 unsafe impl ::windows::runtime::Interface for IManipulationUpdatedEventArgs2 {
1837     type Vtable = IManipulationUpdatedEventArgs2_abi;
1838     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4091525482, 13062, 22787, [161, 197, 255, 151, 87, 168, 104, 158]);
1839 }
1840 #[repr(C)]
1841 #[doc(hidden)]
1842 pub struct IManipulationUpdatedEventArgs2_abi(
1843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1851 );
1852 #[repr(transparent)]
1853 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1854 #[doc(hidden)]
1855 pub struct IMouseWheelParameters(::windows::runtime::IInspectable);
1856 unsafe impl ::windows::runtime::Interface for IMouseWheelParameters {
1857     type Vtable = IMouseWheelParameters_abi;
1858     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3939551812, 40429, 16439, [129, 73, 94, 76, 194, 86, 68, 104]);
1859 }
1860 #[repr(C)]
1861 #[doc(hidden)]
1862 pub struct IMouseWheelParameters_abi(
1863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1869     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1870     #[cfg(not(feature = "Foundation"))] usize,
1871     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1872     #[cfg(not(feature = "Foundation"))] usize,
1873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1877     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1878     #[cfg(not(feature = "Foundation"))] usize,
1879     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1880     #[cfg(not(feature = "Foundation"))] usize,
1881 );
1882 #[repr(transparent)]
1883 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1884 #[doc(hidden)]
1885 pub struct IPointerPoint(::windows::runtime::IInspectable);
1886 unsafe impl ::windows::runtime::Interface for IPointerPoint {
1887     type Vtable = IPointerPoint_abi;
1888     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3918868861, 29334, 17113, [130, 51, 197, 190, 115, 183, 74, 74]);
1889 }
1890 #[repr(C)]
1891 #[doc(hidden)]
1892 pub struct IPointerPoint_abi(
1893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1899     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1900     #[cfg(not(feature = "Devices_Input"))] usize,
1901     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1902     #[cfg(not(feature = "Foundation"))] usize,
1903     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
1904     #[cfg(not(feature = "Foundation"))] usize,
1905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
1908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1910 );
1911 #[repr(transparent)]
1912 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1913 #[doc(hidden)]
1914 pub struct IPointerPointProperties(::windows::runtime::IInspectable);
1915 unsafe impl ::windows::runtime::Interface for IPointerPointProperties {
1916     type Vtable = IPointerPointProperties_abi;
1917     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3348990539, 49507, 20199, [128, 63, 103, 206, 121, 249, 151, 45]);
1918 }
1919 #[repr(C)]
1920 #[doc(hidden)]
1921 pub struct IPointerPointProperties_abi(
1922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1935     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
1936     #[cfg(not(feature = "Foundation"))] usize,
1937     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
1938     #[cfg(not(feature = "Foundation"))] usize,
1939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PointerUpdateKind) -> ::windows::runtime::HRESULT,
1952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usagepage: u32, usageid: u32, result__: *mut bool) -> ::windows::runtime::HRESULT,
1953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usagepage: u32, usageid: u32, result__: *mut i32) -> ::windows::runtime::HRESULT,
1954 );
1955 #[repr(transparent)]
1956 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1957 #[doc(hidden)]
1958 pub struct IPointerPointProperties2(::windows::runtime::IInspectable);
1959 unsafe impl ::windows::runtime::Interface for IPointerPointProperties2 {
1960     type Vtable = IPointerPointProperties2_abi;
1961     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(583222074, 51259, 16832, [162, 150, 94, 35, 45, 100, 214, 175]);
1962 }
1963 #[repr(C)]
1964 #[doc(hidden)]
1965 pub struct IPointerPointProperties2_abi(
1966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1972     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1973     #[cfg(not(feature = "Foundation"))] usize,
1974 );
1975 #[repr(transparent)]
1976 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1977 #[doc(hidden)]
1978 pub struct IPointerPointStatics(::windows::runtime::IInspectable);
1979 unsafe impl ::windows::runtime::Interface for IPointerPointStatics {
1980     type Vtable = IPointerPointStatics_abi;
1981     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2768659341, 10778, 16702, [188, 117, 159, 56, 56, 28, 192, 105]);
1982 }
1983 #[repr(C)]
1984 #[doc(hidden)]
1985 pub struct IPointerPointStatics_abi(
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pointerid: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1993     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pointerid: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1994     #[cfg(not(feature = "Foundation_Collections"))] usize,
1995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pointerid: u32, transform: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1996     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pointerid: u32, transform: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1997     #[cfg(not(feature = "Foundation_Collections"))] usize,
1998 );
1999 #[repr(transparent)]
2000 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2001 pub struct IPointerPointTransform(::windows::runtime::IInspectable);
2002 unsafe impl ::windows::runtime::Interface for IPointerPointTransform {
2003     type Vtable = IPointerPointTransform_abi;
2004     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1298129231, 47228, 16424, [188, 156, 89, 233, 148, 127, 176, 86]);
2005 }
2006 impl IPointerPointTransform {
Inverse(&self) -> ::windows::runtime::Result<IPointerPointTransform>2007     pub fn Inverse(&self) -> ::windows::runtime::Result<IPointerPointTransform> {
2008         let this = self;
2009         unsafe {
2010             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2011             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IPointerPointTransform>(result__)
2012         }
2013     }
2014     #[cfg(feature = "Foundation")]
TryTransform<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, inpoint: Param0, outpoint: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<bool>2015     pub fn TryTransform<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, inpoint: Param0, outpoint: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<bool> {
2016         let this = self;
2017         unsafe {
2018             let mut result__: bool = ::std::mem::zeroed();
2019             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), inpoint.into_param().abi(), outpoint, &mut result__).from_abi::<bool>(result__)
2020         }
2021     }
2022     #[cfg(feature = "Foundation")]
TransformBounds<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, rect: Param0) -> ::windows::runtime::Result<super::super::Foundation::Rect>2023     pub fn TransformBounds<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, rect: Param0) -> ::windows::runtime::Result<super::super::Foundation::Rect> {
2024         let this = self;
2025         unsafe {
2026             let mut result__: super::super::Foundation::Rect = ::std::mem::zeroed();
2027             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), rect.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::Rect>(result__)
2028         }
2029     }
2030 }
2031 unsafe impl ::windows::runtime::RuntimeType for IPointerPointTransform {
2032     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{4d5fe14f-b87c-4028-bc9c-59e9947fb056}");
2033 }
2034 impl ::std::convert::From<IPointerPointTransform> for ::windows::runtime::IUnknown {
from(value: IPointerPointTransform) -> Self2035     fn from(value: IPointerPointTransform) -> Self {
2036         unsafe { ::std::mem::transmute(value) }
2037     }
2038 }
2039 impl ::std::convert::From<&IPointerPointTransform> for ::windows::runtime::IUnknown {
from(value: &IPointerPointTransform) -> Self2040     fn from(value: &IPointerPointTransform) -> Self {
2041         ::std::convert::From::from(::std::clone::Clone::clone(value))
2042     }
2043 }
2044 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPointerPointTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2045     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2046         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2047     }
2048 }
2049 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPointerPointTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2050     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2051         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2052     }
2053 }
2054 impl ::std::convert::From<IPointerPointTransform> for ::windows::runtime::IInspectable {
from(value: IPointerPointTransform) -> Self2055     fn from(value: IPointerPointTransform) -> Self {
2056         value.0
2057     }
2058 }
2059 impl ::std::convert::From<&IPointerPointTransform> for ::windows::runtime::IInspectable {
from(value: &IPointerPointTransform) -> Self2060     fn from(value: &IPointerPointTransform) -> Self {
2061         value.0.clone()
2062     }
2063 }
2064 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IPointerPointTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2065     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2066         ::windows::runtime::Param::Owned(self.0)
2067     }
2068 }
2069 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IPointerPointTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2070     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2071         ::windows::runtime::Param::Borrowed(&self.0)
2072     }
2073 }
2074 #[repr(C)]
2075 #[doc(hidden)]
2076 pub struct IPointerPointTransform_abi(
2077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2084     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, inpoint: super::super::Foundation::Point, outpoint: *mut super::super::Foundation::Point, result__: *mut bool) -> ::windows::runtime::HRESULT,
2085     #[cfg(not(feature = "Foundation"))] usize,
2086     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rect: super::super::Foundation::Rect, result__: *mut super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
2087     #[cfg(not(feature = "Foundation"))] usize,
2088 );
2089 #[repr(transparent)]
2090 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2091 #[doc(hidden)]
2092 pub struct IPointerVisualizationSettings(::windows::runtime::IInspectable);
2093 unsafe impl ::windows::runtime::Interface for IPointerVisualizationSettings {
2094     type Vtable = IPointerVisualizationSettings_abi;
2095     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1293837409, 34039, 18845, [189, 145, 42, 54, 226, 183, 170, 162]);
2096 }
2097 #[repr(C)]
2098 #[doc(hidden)]
2099 pub struct IPointerVisualizationSettings_abi(
2100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2110 );
2111 #[repr(transparent)]
2112 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2113 #[doc(hidden)]
2114 pub struct IPointerVisualizationSettingsStatics(::windows::runtime::IInspectable);
2115 unsafe impl ::windows::runtime::Interface for IPointerVisualizationSettingsStatics {
2116     type Vtable = IPointerVisualizationSettingsStatics_abi;
2117     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1753681627, 5723, 16916, [180, 243, 88, 78, 202, 140, 138, 105]);
2118 }
2119 #[repr(C)]
2120 #[doc(hidden)]
2121 pub struct IPointerVisualizationSettingsStatics_abi(
2122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2127     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2128     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2129 );
2130 #[repr(transparent)]
2131 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2132 #[doc(hidden)]
2133 pub struct IRadialController(::windows::runtime::IInspectable);
2134 unsafe impl ::windows::runtime::Interface for IRadialController {
2135     type Vtable = IRadialController_abi;
2136     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(810930632, 57169, 17364, [178, 59, 14, 16, 55, 70, 122, 9]);
2137 }
2138 #[repr(C)]
2139 #[doc(hidden)]
2140 pub struct IRadialController_abi(
2141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
2150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2152     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2153     #[cfg(not(feature = "Foundation"))] usize,
2154     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2155     #[cfg(not(feature = "Foundation"))] usize,
2156     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2157     #[cfg(not(feature = "Foundation"))] usize,
2158     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2159     #[cfg(not(feature = "Foundation"))] usize,
2160     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2161     #[cfg(not(feature = "Foundation"))] usize,
2162     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2163     #[cfg(not(feature = "Foundation"))] usize,
2164     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2165     #[cfg(not(feature = "Foundation"))] usize,
2166     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2167     #[cfg(not(feature = "Foundation"))] usize,
2168     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2169     #[cfg(not(feature = "Foundation"))] usize,
2170     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2171     #[cfg(not(feature = "Foundation"))] usize,
2172     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2173     #[cfg(not(feature = "Foundation"))] usize,
2174     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2175     #[cfg(not(feature = "Foundation"))] usize,
2176     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2177     #[cfg(not(feature = "Foundation"))] usize,
2178     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2179     #[cfg(not(feature = "Foundation"))] usize,
2180 );
2181 #[repr(transparent)]
2182 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2183 #[doc(hidden)]
2184 pub struct IRadialController2(::windows::runtime::IInspectable);
2185 unsafe impl ::windows::runtime::Interface for IRadialController2 {
2186     type Vtable = IRadialController2_abi;
2187     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144319, 19694, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2188 }
2189 #[repr(C)]
2190 #[doc(hidden)]
2191 pub struct IRadialController2_abi(
2192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2198     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2199     #[cfg(not(feature = "Foundation"))] usize,
2200     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2201     #[cfg(not(feature = "Foundation"))] usize,
2202     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2203     #[cfg(not(feature = "Foundation"))] usize,
2204     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2205     #[cfg(not(feature = "Foundation"))] usize,
2206     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2207     #[cfg(not(feature = "Foundation"))] usize,
2208     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2209     #[cfg(not(feature = "Foundation"))] usize,
2210 );
2211 #[repr(transparent)]
2212 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2213 #[doc(hidden)]
2214 pub struct IRadialControllerButtonClickedEventArgs(::windows::runtime::IInspectable);
2215 unsafe impl ::windows::runtime::Interface for IRadialControllerButtonClickedEventArgs {
2216     type Vtable = IRadialControllerButtonClickedEventArgs_abi;
2217     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859768, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
2218 }
2219 #[repr(C)]
2220 #[doc(hidden)]
2221 pub struct IRadialControllerButtonClickedEventArgs_abi(
2222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2229 );
2230 #[repr(transparent)]
2231 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2232 #[doc(hidden)]
2233 pub struct IRadialControllerButtonClickedEventArgs2(::windows::runtime::IInspectable);
2234 unsafe impl ::windows::runtime::Interface for IRadialControllerButtonClickedEventArgs2 {
2235     type Vtable = IRadialControllerButtonClickedEventArgs2_abi;
2236     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144307, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2237 }
2238 #[repr(C)]
2239 #[doc(hidden)]
2240 pub struct IRadialControllerButtonClickedEventArgs2_abi(
2241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2247     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2248     #[cfg(not(feature = "Devices_Haptics"))] usize,
2249 );
2250 #[repr(transparent)]
2251 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2252 #[doc(hidden)]
2253 pub struct IRadialControllerButtonHoldingEventArgs(::windows::runtime::IInspectable);
2254 unsafe impl ::windows::runtime::Interface for IRadialControllerButtonHoldingEventArgs {
2255     type Vtable = IRadialControllerButtonHoldingEventArgs_abi;
2256     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144302, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2257 }
2258 #[repr(C)]
2259 #[doc(hidden)]
2260 pub struct IRadialControllerButtonHoldingEventArgs_abi(
2261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2268     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2269     #[cfg(not(feature = "Devices_Haptics"))] usize,
2270 );
2271 #[repr(transparent)]
2272 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2273 #[doc(hidden)]
2274 pub struct IRadialControllerButtonPressedEventArgs(::windows::runtime::IInspectable);
2275 unsafe impl ::windows::runtime::Interface for IRadialControllerButtonPressedEventArgs {
2276     type Vtable = IRadialControllerButtonPressedEventArgs_abi;
2277     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144301, 19694, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2278 }
2279 #[repr(C)]
2280 #[doc(hidden)]
2281 pub struct IRadialControllerButtonPressedEventArgs_abi(
2282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2289     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2290     #[cfg(not(feature = "Devices_Haptics"))] usize,
2291 );
2292 #[repr(transparent)]
2293 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2294 #[doc(hidden)]
2295 pub struct IRadialControllerButtonReleasedEventArgs(::windows::runtime::IInspectable);
2296 unsafe impl ::windows::runtime::Interface for IRadialControllerButtonReleasedEventArgs {
2297     type Vtable = IRadialControllerButtonReleasedEventArgs_abi;
2298     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144303, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2299 }
2300 #[repr(C)]
2301 #[doc(hidden)]
2302 pub struct IRadialControllerButtonReleasedEventArgs_abi(
2303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2310     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2311     #[cfg(not(feature = "Devices_Haptics"))] usize,
2312 );
2313 #[repr(transparent)]
2314 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2315 #[doc(hidden)]
2316 pub struct IRadialControllerConfiguration(::windows::runtime::IInspectable);
2317 unsafe impl ::windows::runtime::Interface for IRadialControllerConfiguration {
2318     type Vtable = IRadialControllerConfiguration_abi;
2319     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2797051595, 27218, 17456, [145, 12, 86, 55, 10, 157, 107, 66]);
2320 }
2321 #[repr(C)]
2322 #[doc(hidden)]
2323 pub struct IRadialControllerConfiguration_abi(
2324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2330     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buttons: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2331     #[cfg(not(feature = "Foundation_Collections"))] usize,
2332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: RadialControllerSystemMenuItemKind, result__: *mut bool) -> ::windows::runtime::HRESULT,
2334 );
2335 #[repr(transparent)]
2336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2337 #[doc(hidden)]
2338 pub struct IRadialControllerConfiguration2(::windows::runtime::IInspectable);
2339 unsafe impl ::windows::runtime::Interface for IRadialControllerConfiguration2 {
2340     type Vtable = IRadialControllerConfiguration2_abi;
2341     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144311, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2342 }
2343 #[repr(C)]
2344 #[doc(hidden)]
2345 pub struct IRadialControllerConfiguration2_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     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2356 );
2357 #[repr(transparent)]
2358 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2359 #[doc(hidden)]
2360 pub struct IRadialControllerConfigurationStatics(::windows::runtime::IInspectable);
2361 unsafe impl ::windows::runtime::Interface for IRadialControllerConfigurationStatics {
2362     type Vtable = IRadialControllerConfigurationStatics_abi;
2363     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2042015973, 1690, 17542, [169, 157, 141, 183, 114, 185, 100, 47]);
2364 }
2365 #[repr(C)]
2366 #[doc(hidden)]
2367 pub struct IRadialControllerConfigurationStatics_abi(
2368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2375 );
2376 #[repr(transparent)]
2377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2378 #[doc(hidden)]
2379 pub struct IRadialControllerConfigurationStatics2(::windows::runtime::IInspectable);
2380 unsafe impl ::windows::runtime::Interface for IRadialControllerConfigurationStatics2 {
2381     type Vtable = IRadialControllerConfigurationStatics2_abi;
2382     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1407224599, 57861, 18643, [156, 175, 128, 255, 71, 196, 215, 199]);
2383 }
2384 #[repr(C)]
2385 #[doc(hidden)]
2386 pub struct IRadialControllerConfigurationStatics2_abi(
2387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2397 );
2398 #[repr(transparent)]
2399 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2400 #[doc(hidden)]
2401 pub struct IRadialControllerControlAcquiredEventArgs(::windows::runtime::IInspectable);
2402 unsafe impl ::windows::runtime::Interface for IRadialControllerControlAcquiredEventArgs {
2403     type Vtable = IRadialControllerControlAcquiredEventArgs_abi;
2404     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859769, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
2405 }
2406 #[repr(C)]
2407 #[doc(hidden)]
2408 pub struct IRadialControllerControlAcquiredEventArgs_abi(
2409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2416 );
2417 #[repr(transparent)]
2418 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2419 #[doc(hidden)]
2420 pub struct IRadialControllerControlAcquiredEventArgs2(::windows::runtime::IInspectable);
2421 unsafe impl ::windows::runtime::Interface for IRadialControllerControlAcquiredEventArgs2 {
2422     type Vtable = IRadialControllerControlAcquiredEventArgs2_abi;
2423     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144308, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2424 }
2425 #[repr(C)]
2426 #[doc(hidden)]
2427 pub struct IRadialControllerControlAcquiredEventArgs2_abi(
2428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2435     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2436     #[cfg(not(feature = "Devices_Haptics"))] usize,
2437 );
2438 #[repr(transparent)]
2439 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2440 #[doc(hidden)]
2441 pub struct IRadialControllerMenu(::windows::runtime::IInspectable);
2442 unsafe impl ::windows::runtime::Interface for IRadialControllerMenu {
2443     type Vtable = IRadialControllerMenu_abi;
2444     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2231808861, 63040, 17426, [171, 160, 186, 208, 119, 229, 234, 138]);
2445 }
2446 #[repr(C)]
2447 #[doc(hidden)]
2448 pub struct IRadialControllerMenu_abi(
2449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2455     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2456     #[cfg(not(feature = "Foundation_Collections"))] usize,
2457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, menuitem: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2462 );
2463 #[repr(transparent)]
2464 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2465 #[doc(hidden)]
2466 pub struct IRadialControllerMenuItem(::windows::runtime::IInspectable);
2467 unsafe impl ::windows::runtime::Interface for IRadialControllerMenuItem {
2468     type Vtable = IRadialControllerMenuItem_abi;
2469     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3356477837, 44299, 19612, [143, 47, 19, 106, 35, 115, 166, 186]);
2470 }
2471 #[repr(C)]
2472 #[doc(hidden)]
2473 pub struct IRadialControllerMenuItem_abi(
2474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2483     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2484     #[cfg(not(feature = "Foundation"))] usize,
2485     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2486     #[cfg(not(feature = "Foundation"))] usize,
2487 );
2488 #[repr(transparent)]
2489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2490 #[doc(hidden)]
2491 pub struct IRadialControllerMenuItemStatics(::windows::runtime::IInspectable);
2492 unsafe impl ::windows::runtime::Interface for IRadialControllerMenuItemStatics {
2493     type Vtable = IRadialControllerMenuItemStatics_abi;
2494     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(614336647, 55362, 17700, [157, 248, 224, 214, 71, 237, 200, 135]);
2495 }
2496 #[repr(C)]
2497 #[doc(hidden)]
2498 pub struct IRadialControllerMenuItemStatics_abi(
2499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2505     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displaytext: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, icon: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2506     #[cfg(not(feature = "Storage_Streams"))] usize,
2507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displaytext: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: RadialControllerMenuKnownIcon, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2508 );
2509 #[repr(transparent)]
2510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2511 #[doc(hidden)]
2512 pub struct IRadialControllerMenuItemStatics2(::windows::runtime::IInspectable);
2513 unsafe impl ::windows::runtime::Interface for IRadialControllerMenuItemStatics2 {
2514     type Vtable = IRadialControllerMenuItemStatics2_abi;
2515     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(213610686, 32318, 18621, [190, 4, 44, 127, 202, 169, 193, 255]);
2516 }
2517 #[repr(C)]
2518 #[doc(hidden)]
2519 pub struct IRadialControllerMenuItemStatics2_abi(
2520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displaytext: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, glyph: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, fontfamily: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2527     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displaytext: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, glyph: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, fontfamily: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, fonturi: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2528     #[cfg(not(feature = "Foundation"))] usize,
2529 );
2530 #[repr(transparent)]
2531 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2532 #[doc(hidden)]
2533 pub struct IRadialControllerRotationChangedEventArgs(::windows::runtime::IInspectable);
2534 unsafe impl ::windows::runtime::Interface for IRadialControllerRotationChangedEventArgs {
2535     type Vtable = IRadialControllerRotationChangedEventArgs_abi;
2536     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859765, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
2537 }
2538 #[repr(C)]
2539 #[doc(hidden)]
2540 pub struct IRadialControllerRotationChangedEventArgs_abi(
2541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2549 );
2550 #[repr(transparent)]
2551 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2552 #[doc(hidden)]
2553 pub struct IRadialControllerRotationChangedEventArgs2(::windows::runtime::IInspectable);
2554 unsafe impl ::windows::runtime::Interface for IRadialControllerRotationChangedEventArgs2 {
2555     type Vtable = IRadialControllerRotationChangedEventArgs2_abi;
2556     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144300, 19694, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2557 }
2558 #[repr(C)]
2559 #[doc(hidden)]
2560 pub struct IRadialControllerRotationChangedEventArgs2_abi(
2561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2568     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2569     #[cfg(not(feature = "Devices_Haptics"))] usize,
2570 );
2571 #[repr(transparent)]
2572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2573 #[doc(hidden)]
2574 pub struct IRadialControllerScreenContact(::windows::runtime::IInspectable);
2575 unsafe impl ::windows::runtime::Interface for IRadialControllerScreenContact {
2576     type Vtable = IRadialControllerScreenContact_abi;
2577     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859764, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
2578 }
2579 #[repr(C)]
2580 #[doc(hidden)]
2581 pub struct IRadialControllerScreenContact_abi(
2582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2588     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
2589     #[cfg(not(feature = "Foundation"))] usize,
2590     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
2591     #[cfg(not(feature = "Foundation"))] usize,
2592 );
2593 #[repr(transparent)]
2594 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2595 #[doc(hidden)]
2596 pub struct IRadialControllerScreenContactContinuedEventArgs(::windows::runtime::IInspectable);
2597 unsafe impl ::windows::runtime::Interface for IRadialControllerScreenContactContinuedEventArgs {
2598     type Vtable = IRadialControllerScreenContactContinuedEventArgs_abi;
2599     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859767, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
2600 }
2601 #[repr(C)]
2602 #[doc(hidden)]
2603 pub struct IRadialControllerScreenContactContinuedEventArgs_abi(
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2611 );
2612 #[repr(transparent)]
2613 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2614 #[doc(hidden)]
2615 pub struct IRadialControllerScreenContactContinuedEventArgs2(::windows::runtime::IInspectable);
2616 unsafe impl ::windows::runtime::Interface for IRadialControllerScreenContactContinuedEventArgs2 {
2617     type Vtable = IRadialControllerScreenContactContinuedEventArgs2_abi;
2618     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144305, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2619 }
2620 #[repr(C)]
2621 #[doc(hidden)]
2622 pub struct IRadialControllerScreenContactContinuedEventArgs2_abi(
2623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2630     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2631     #[cfg(not(feature = "Devices_Haptics"))] usize,
2632 );
2633 #[repr(transparent)]
2634 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2635 #[doc(hidden)]
2636 pub struct IRadialControllerScreenContactEndedEventArgs(::windows::runtime::IInspectable);
2637 unsafe impl ::windows::runtime::Interface for IRadialControllerScreenContactEndedEventArgs {
2638     type Vtable = IRadialControllerScreenContactEndedEventArgs_abi;
2639     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144306, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2640 }
2641 #[repr(C)]
2642 #[doc(hidden)]
2643 pub struct IRadialControllerScreenContactEndedEventArgs_abi(
2644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2651     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2652     #[cfg(not(feature = "Devices_Haptics"))] usize,
2653 );
2654 #[repr(transparent)]
2655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2656 #[doc(hidden)]
2657 pub struct IRadialControllerScreenContactStartedEventArgs(::windows::runtime::IInspectable);
2658 unsafe impl ::windows::runtime::Interface for IRadialControllerScreenContactStartedEventArgs {
2659     type Vtable = IRadialControllerScreenContactStartedEventArgs_abi;
2660     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859766, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
2661 }
2662 #[repr(C)]
2663 #[doc(hidden)]
2664 pub struct IRadialControllerScreenContactStartedEventArgs_abi(
2665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2672 );
2673 #[repr(transparent)]
2674 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2675 #[doc(hidden)]
2676 pub struct IRadialControllerScreenContactStartedEventArgs2(::windows::runtime::IInspectable);
2677 unsafe impl ::windows::runtime::Interface for IRadialControllerScreenContactStartedEventArgs2 {
2678     type Vtable = IRadialControllerScreenContactStartedEventArgs2_abi;
2679     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144304, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
2680 }
2681 #[repr(C)]
2682 #[doc(hidden)]
2683 pub struct IRadialControllerScreenContactStartedEventArgs2_abi(
2684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2691     #[cfg(feature = "Devices_Haptics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2692     #[cfg(not(feature = "Devices_Haptics"))] usize,
2693 );
2694 #[repr(transparent)]
2695 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2696 #[doc(hidden)]
2697 pub struct IRadialControllerStatics(::windows::runtime::IInspectable);
2698 unsafe impl ::windows::runtime::Interface for IRadialControllerStatics {
2699     type Vtable = IRadialControllerStatics_abi;
2700     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4208906423, 47180, 18580, [135, 170, 143, 37, 170, 95, 40, 139]);
2701 }
2702 #[repr(C)]
2703 #[doc(hidden)]
2704 pub struct IRadialControllerStatics_abi(
2705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2713 );
2714 #[repr(transparent)]
2715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2716 #[doc(hidden)]
2717 pub struct IRightTappedEventArgs(::windows::runtime::IInspectable);
2718 unsafe impl ::windows::runtime::Interface for IRightTappedEventArgs {
2719     type Vtable = IRightTappedEventArgs_abi;
2720     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1287602365, 44922, 18998, [148, 118, 177, 220, 225, 65, 112, 154]);
2721 }
2722 #[repr(C)]
2723 #[doc(hidden)]
2724 pub struct IRightTappedEventArgs_abi(
2725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2731     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
2732     #[cfg(not(feature = "Devices_Input"))] usize,
2733     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
2734     #[cfg(not(feature = "Foundation"))] usize,
2735 );
2736 #[repr(transparent)]
2737 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2738 #[doc(hidden)]
2739 pub struct IRightTappedEventArgs2(::windows::runtime::IInspectable);
2740 unsafe impl ::windows::runtime::Interface for IRightTappedEventArgs2 {
2741     type Vtable = IRightTappedEventArgs2_abi;
2742     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1640478651, 40791, 22615, [163, 60, 197, 140, 61, 250, 149, 158]);
2743 }
2744 #[repr(C)]
2745 #[doc(hidden)]
2746 pub struct IRightTappedEventArgs2_abi(
2747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2754 );
2755 #[repr(transparent)]
2756 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2757 #[doc(hidden)]
2758 pub struct ISystemButtonEventController(::windows::runtime::IInspectable);
2759 unsafe impl ::windows::runtime::Interface for ISystemButtonEventController {
2760     type Vtable = ISystemButtonEventController_abi;
2761     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1505268649, 29628, 21173, [186, 65, 130, 81, 27, 44, 180, 108]);
2762 }
2763 #[repr(C)]
2764 #[doc(hidden)]
2765 pub struct ISystemButtonEventController_abi(
2766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2772     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2773     #[cfg(not(feature = "Foundation"))] usize,
2774     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2775     #[cfg(not(feature = "Foundation"))] usize,
2776     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2777     #[cfg(not(feature = "Foundation"))] usize,
2778     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2779     #[cfg(not(feature = "Foundation"))] usize,
2780     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2781     #[cfg(not(feature = "Foundation"))] usize,
2782     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2783     #[cfg(not(feature = "Foundation"))] usize,
2784     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2785     #[cfg(not(feature = "Foundation"))] usize,
2786     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2787     #[cfg(not(feature = "Foundation"))] usize,
2788 );
2789 #[repr(transparent)]
2790 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2791 #[doc(hidden)]
2792 pub struct ISystemButtonEventControllerStatics(::windows::runtime::IInspectable);
2793 unsafe impl ::windows::runtime::Interface for ISystemButtonEventControllerStatics {
2794     type Vtable = ISystemButtonEventControllerStatics_abi;
2795     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1664069755, 8381, 24085, [175, 74, 0, 219, 242, 6, 79, 250]);
2796 }
2797 #[repr(C)]
2798 #[doc(hidden)]
2799 pub struct ISystemButtonEventControllerStatics_abi(
2800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2806     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, queue: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2807     #[cfg(not(feature = "System"))] usize,
2808 );
2809 #[repr(transparent)]
2810 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2811 #[doc(hidden)]
2812 pub struct ISystemFunctionButtonEventArgs(::windows::runtime::IInspectable);
2813 unsafe impl ::windows::runtime::Interface for ISystemFunctionButtonEventArgs {
2814     type Vtable = ISystemFunctionButtonEventArgs_abi;
2815     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1211337071, 32977, 24022, [146, 167, 98, 165, 8, 255, 239, 90]);
2816 }
2817 #[repr(C)]
2818 #[doc(hidden)]
2819 pub struct ISystemFunctionButtonEventArgs_abi(
2820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2829 );
2830 #[repr(transparent)]
2831 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2832 #[doc(hidden)]
2833 pub struct ISystemFunctionLockChangedEventArgs(::windows::runtime::IInspectable);
2834 unsafe impl ::windows::runtime::Interface for ISystemFunctionLockChangedEventArgs {
2835     type Vtable = ISystemFunctionLockChangedEventArgs_abi;
2836     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3439592968, 64761, 22620, [190, 171, 241, 210, 234, 243, 100, 171]);
2837 }
2838 #[repr(C)]
2839 #[doc(hidden)]
2840 pub struct ISystemFunctionLockChangedEventArgs_abi(
2841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2851 );
2852 #[repr(transparent)]
2853 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2854 #[doc(hidden)]
2855 pub struct ISystemFunctionLockIndicatorChangedEventArgs(::windows::runtime::IInspectable);
2856 unsafe impl ::windows::runtime::Interface for ISystemFunctionLockIndicatorChangedEventArgs {
2857     type Vtable = ISystemFunctionLockIndicatorChangedEventArgs_abi;
2858     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2987571534, 31343, 22702, [179, 4, 186, 230, 29, 3, 113, 185]);
2859 }
2860 #[repr(C)]
2861 #[doc(hidden)]
2862 pub struct ISystemFunctionLockIndicatorChangedEventArgs_abi(
2863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2873 );
2874 #[repr(transparent)]
2875 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2876 #[doc(hidden)]
2877 pub struct ITappedEventArgs(::windows::runtime::IInspectable);
2878 unsafe impl ::windows::runtime::Interface for ITappedEventArgs {
2879     type Vtable = ITappedEventArgs_abi;
2880     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3483444964, 9530, 19516, [149, 59, 57, 92, 55, 174, 211, 9]);
2881 }
2882 #[repr(C)]
2883 #[doc(hidden)]
2884 pub struct ITappedEventArgs_abi(
2885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2891     #[cfg(feature = "Devices_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Input::PointerDeviceType) -> ::windows::runtime::HRESULT,
2892     #[cfg(not(feature = "Devices_Input"))] usize,
2893     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
2894     #[cfg(not(feature = "Foundation"))] usize,
2895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2896 );
2897 #[repr(transparent)]
2898 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2899 #[doc(hidden)]
2900 pub struct ITappedEventArgs2(::windows::runtime::IInspectable);
2901 unsafe impl ::windows::runtime::Interface for ITappedEventArgs2 {
2902     type Vtable = ITappedEventArgs2_abi;
2903     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(692291826, 6014, 20949, [190, 86, 238, 8, 102, 250, 150, 140]);
2904 }
2905 #[repr(C)]
2906 #[doc(hidden)]
2907 pub struct ITappedEventArgs2_abi(
2908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2915 );
2916 #[repr(transparent)]
2917 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2918 pub struct InputActivationListener(::windows::runtime::IInspectable);
2919 impl InputActivationListener {
State(&self) -> ::windows::runtime::Result<InputActivationState>2920     pub fn State(&self) -> ::windows::runtime::Result<InputActivationState> {
2921         let this = self;
2922         unsafe {
2923             let mut result__: InputActivationState = ::std::mem::zeroed();
2924             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InputActivationState>(result__)
2925         }
2926     }
2927     #[cfg(feature = "Foundation")]
InputActivationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<InputActivationListener, InputActivationListenerActivationChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2928     pub fn InputActivationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<InputActivationListener, InputActivationListenerActivationChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2929         let this = self;
2930         unsafe {
2931             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2932             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2933         }
2934     }
2935     #[cfg(feature = "Foundation")]
RemoveInputActivationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2936     pub fn RemoveInputActivationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2937         let this = self;
2938         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2939     }
2940     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>2941     pub fn Close(&self) -> ::windows::runtime::Result<()> {
2942         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
2943         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2944     }
2945 }
2946 unsafe impl ::windows::runtime::RuntimeType for InputActivationListener {
2947     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.InputActivationListener;{5d6d4ed2-28c7-5ae3-aa74-c918a9f243ca})");
2948 }
2949 unsafe impl ::windows::runtime::Interface for InputActivationListener {
2950     type Vtable = IInputActivationListener_abi;
2951     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1567444690, 10439, 23267, [170, 116, 201, 24, 169, 242, 67, 202]);
2952 }
2953 impl ::windows::runtime::RuntimeName for InputActivationListener {
2954     const NAME: &'static str = "Windows.UI.Input.InputActivationListener";
2955 }
2956 impl ::std::convert::From<InputActivationListener> for ::windows::runtime::IUnknown {
from(value: InputActivationListener) -> Self2957     fn from(value: InputActivationListener) -> Self {
2958         unsafe { ::std::mem::transmute(value) }
2959     }
2960 }
2961 impl ::std::convert::From<&InputActivationListener> for ::windows::runtime::IUnknown {
from(value: &InputActivationListener) -> Self2962     fn from(value: &InputActivationListener) -> Self {
2963         ::std::convert::From::from(::std::clone::Clone::clone(value))
2964     }
2965 }
2966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2968         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2969     }
2970 }
2971 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2972     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2973         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2974     }
2975 }
2976 impl ::std::convert::From<InputActivationListener> for ::windows::runtime::IInspectable {
from(value: InputActivationListener) -> Self2977     fn from(value: InputActivationListener) -> Self {
2978         value.0
2979     }
2980 }
2981 impl ::std::convert::From<&InputActivationListener> for ::windows::runtime::IInspectable {
from(value: &InputActivationListener) -> Self2982     fn from(value: &InputActivationListener) -> Self {
2983         value.0.clone()
2984     }
2985 }
2986 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2987     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2988         ::windows::runtime::Param::Owned(self.0)
2989     }
2990 }
2991 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2992     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2993         ::windows::runtime::Param::Borrowed(&self.0)
2994     }
2995 }
2996 #[cfg(feature = "Foundation")]
2997 impl ::std::convert::TryFrom<InputActivationListener> for super::super::Foundation::IClosable {
2998     type Error = ::windows::runtime::Error;
try_from(value: InputActivationListener) -> ::windows::runtime::Result<Self>2999     fn try_from(value: InputActivationListener) -> ::windows::runtime::Result<Self> {
3000         ::std::convert::TryFrom::try_from(&value)
3001     }
3002 }
3003 #[cfg(feature = "Foundation")]
3004 impl ::std::convert::TryFrom<&InputActivationListener> for super::super::Foundation::IClosable {
3005     type Error = ::windows::runtime::Error;
try_from(value: &InputActivationListener) -> ::windows::runtime::Result<Self>3006     fn try_from(value: &InputActivationListener) -> ::windows::runtime::Result<Self> {
3007         ::windows::runtime::Interface::cast(value)
3008     }
3009 }
3010 #[cfg(feature = "Foundation")]
3011 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3012     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3013         ::windows::runtime::IntoParam::into_param(&self)
3014     }
3015 }
3016 #[cfg(feature = "Foundation")]
3017 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3018     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3019         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3020     }
3021 }
3022 impl ::std::convert::From<InputActivationListener> for AttachableInputObject {
from(value: InputActivationListener) -> Self3023     fn from(value: InputActivationListener) -> Self {
3024         ::std::convert::Into::<AttachableInputObject>::into(&value)
3025     }
3026 }
3027 impl ::std::convert::From<&InputActivationListener> for AttachableInputObject {
from(value: &InputActivationListener) -> Self3028     fn from(value: &InputActivationListener) -> Self {
3029         ::windows::runtime::Interface::cast(value).unwrap()
3030     }
3031 }
3032 impl<'a> ::windows::runtime::IntoParam<'a, AttachableInputObject> for InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject>3033     fn into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject> {
3034         ::windows::runtime::Param::Owned(::std::convert::Into::<AttachableInputObject>::into(self))
3035     }
3036 }
3037 impl<'a> ::windows::runtime::IntoParam<'a, AttachableInputObject> for &InputActivationListener {
into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject>3038     fn into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject> {
3039         ::windows::runtime::Param::Owned(::std::convert::Into::<AttachableInputObject>::into(::std::clone::Clone::clone(self)))
3040     }
3041 }
3042 unsafe impl ::std::marker::Send for InputActivationListener {}
3043 unsafe impl ::std::marker::Sync for InputActivationListener {}
3044 #[repr(transparent)]
3045 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3046 pub struct InputActivationListenerActivationChangedEventArgs(::windows::runtime::IInspectable);
3047 impl InputActivationListenerActivationChangedEventArgs {
State(&self) -> ::windows::runtime::Result<InputActivationState>3048     pub fn State(&self) -> ::windows::runtime::Result<InputActivationState> {
3049         let this = self;
3050         unsafe {
3051             let mut result__: InputActivationState = ::std::mem::zeroed();
3052             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InputActivationState>(result__)
3053         }
3054     }
3055 }
3056 unsafe impl ::windows::runtime::RuntimeType for InputActivationListenerActivationChangedEventArgs {
3057     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.InputActivationListenerActivationChangedEventArgs;{7699b465-1dcf-5791-b4b9-6cafbeed2056})");
3058 }
3059 unsafe impl ::windows::runtime::Interface for InputActivationListenerActivationChangedEventArgs {
3060     type Vtable = IInputActivationListenerActivationChangedEventArgs_abi;
3061     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1989784677, 7631, 22417, [180, 185, 108, 175, 190, 237, 32, 86]);
3062 }
3063 impl ::windows::runtime::RuntimeName for InputActivationListenerActivationChangedEventArgs {
3064     const NAME: &'static str = "Windows.UI.Input.InputActivationListenerActivationChangedEventArgs";
3065 }
3066 impl ::std::convert::From<InputActivationListenerActivationChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: InputActivationListenerActivationChangedEventArgs) -> Self3067     fn from(value: InputActivationListenerActivationChangedEventArgs) -> Self {
3068         unsafe { ::std::mem::transmute(value) }
3069     }
3070 }
3071 impl ::std::convert::From<&InputActivationListenerActivationChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &InputActivationListenerActivationChangedEventArgs) -> Self3072     fn from(value: &InputActivationListenerActivationChangedEventArgs) -> Self {
3073         ::std::convert::From::from(::std::clone::Clone::clone(value))
3074     }
3075 }
3076 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InputActivationListenerActivationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3077     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3078         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3079     }
3080 }
3081 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InputActivationListenerActivationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3082     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3083         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3084     }
3085 }
3086 impl ::std::convert::From<InputActivationListenerActivationChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: InputActivationListenerActivationChangedEventArgs) -> Self3087     fn from(value: InputActivationListenerActivationChangedEventArgs) -> Self {
3088         value.0
3089     }
3090 }
3091 impl ::std::convert::From<&InputActivationListenerActivationChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &InputActivationListenerActivationChangedEventArgs) -> Self3092     fn from(value: &InputActivationListenerActivationChangedEventArgs) -> Self {
3093         value.0.clone()
3094     }
3095 }
3096 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InputActivationListenerActivationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3097     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3098         ::windows::runtime::Param::Owned(self.0)
3099     }
3100 }
3101 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InputActivationListenerActivationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3102     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3103         ::windows::runtime::Param::Borrowed(&self.0)
3104     }
3105 }
3106 unsafe impl ::std::marker::Send for InputActivationListenerActivationChangedEventArgs {}
3107 unsafe impl ::std::marker::Sync for InputActivationListenerActivationChangedEventArgs {}
3108 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3109 #[repr(transparent)]
3110 pub struct InputActivationState(pub i32);
3111 impl InputActivationState {
3112     pub const None: InputActivationState = InputActivationState(0i32);
3113     pub const Deactivated: InputActivationState = InputActivationState(1i32);
3114     pub const ActivatedNotForeground: InputActivationState = InputActivationState(2i32);
3115     pub const ActivatedInForeground: InputActivationState = InputActivationState(3i32);
3116 }
3117 impl ::std::convert::From<i32> for InputActivationState {
from(value: i32) -> Self3118     fn from(value: i32) -> Self {
3119         Self(value)
3120     }
3121 }
3122 unsafe impl ::windows::runtime::Abi for InputActivationState {
3123     type Abi = Self;
3124     type DefaultType = Self;
3125 }
3126 unsafe impl ::windows::runtime::RuntimeType for InputActivationState {
3127     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.InputActivationState;i4)");
3128 }
3129 #[repr(transparent)]
3130 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3131 pub struct KeyboardDeliveryInterceptor(::windows::runtime::IInspectable);
3132 impl KeyboardDeliveryInterceptor {
IsInterceptionEnabledWhenInForeground(&self) -> ::windows::runtime::Result<bool>3133     pub fn IsInterceptionEnabledWhenInForeground(&self) -> ::windows::runtime::Result<bool> {
3134         let this = self;
3135         unsafe {
3136             let mut result__: bool = ::std::mem::zeroed();
3137             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3138         }
3139     }
SetIsInterceptionEnabledWhenInForeground(&self, value: bool) -> ::windows::runtime::Result<()>3140     pub fn SetIsInterceptionEnabledWhenInForeground(&self, value: bool) -> ::windows::runtime::Result<()> {
3141         let this = self;
3142         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3143     }
3144     #[cfg(all(feature = "Foundation", feature = "UI_Core"))]
KeyDown<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<KeyboardDeliveryInterceptor, super::Core::KeyEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3145     pub fn KeyDown<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<KeyboardDeliveryInterceptor, super::Core::KeyEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3146         let this = self;
3147         unsafe {
3148             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3149             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3150         }
3151     }
3152     #[cfg(feature = "Foundation")]
RemoveKeyDown<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3153     pub fn RemoveKeyDown<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3154         let this = self;
3155         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3156     }
3157     #[cfg(all(feature = "Foundation", feature = "UI_Core"))]
KeyUp<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<KeyboardDeliveryInterceptor, super::Core::KeyEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3158     pub fn KeyUp<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<KeyboardDeliveryInterceptor, super::Core::KeyEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3159         let this = self;
3160         unsafe {
3161             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3162             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3163         }
3164     }
3165     #[cfg(feature = "Foundation")]
RemoveKeyUp<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3166     pub fn RemoveKeyUp<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3167         let this = self;
3168         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3169     }
GetForCurrentView() -> ::windows::runtime::Result<KeyboardDeliveryInterceptor>3170     pub fn GetForCurrentView() -> ::windows::runtime::Result<KeyboardDeliveryInterceptor> {
3171         Self::IKeyboardDeliveryInterceptorStatics(|this| unsafe {
3172             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3173             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<KeyboardDeliveryInterceptor>(result__)
3174         })
3175     }
IKeyboardDeliveryInterceptorStatics<R, F: FnOnce(&IKeyboardDeliveryInterceptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3176     pub fn IKeyboardDeliveryInterceptorStatics<R, F: FnOnce(&IKeyboardDeliveryInterceptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3177         static mut SHARED: ::windows::runtime::FactoryCache<KeyboardDeliveryInterceptor, IKeyboardDeliveryInterceptorStatics> = ::windows::runtime::FactoryCache::new();
3178         unsafe { SHARED.call(callback) }
3179     }
3180 }
3181 unsafe impl ::windows::runtime::RuntimeType for KeyboardDeliveryInterceptor {
3182     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.KeyboardDeliveryInterceptor;{b4baf068-8f49-446c-8db5-8c0ffe85cc9e})");
3183 }
3184 unsafe impl ::windows::runtime::Interface for KeyboardDeliveryInterceptor {
3185     type Vtable = IKeyboardDeliveryInterceptor_abi;
3186     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3032150120, 36681, 17516, [141, 181, 140, 15, 254, 133, 204, 158]);
3187 }
3188 impl ::windows::runtime::RuntimeName for KeyboardDeliveryInterceptor {
3189     const NAME: &'static str = "Windows.UI.Input.KeyboardDeliveryInterceptor";
3190 }
3191 impl ::std::convert::From<KeyboardDeliveryInterceptor> for ::windows::runtime::IUnknown {
from(value: KeyboardDeliveryInterceptor) -> Self3192     fn from(value: KeyboardDeliveryInterceptor) -> Self {
3193         unsafe { ::std::mem::transmute(value) }
3194     }
3195 }
3196 impl ::std::convert::From<&KeyboardDeliveryInterceptor> for ::windows::runtime::IUnknown {
from(value: &KeyboardDeliveryInterceptor) -> Self3197     fn from(value: &KeyboardDeliveryInterceptor) -> Self {
3198         ::std::convert::From::from(::std::clone::Clone::clone(value))
3199     }
3200 }
3201 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for KeyboardDeliveryInterceptor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3202     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3203         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3204     }
3205 }
3206 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &KeyboardDeliveryInterceptor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3207     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3208         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3209     }
3210 }
3211 impl ::std::convert::From<KeyboardDeliveryInterceptor> for ::windows::runtime::IInspectable {
from(value: KeyboardDeliveryInterceptor) -> Self3212     fn from(value: KeyboardDeliveryInterceptor) -> Self {
3213         value.0
3214     }
3215 }
3216 impl ::std::convert::From<&KeyboardDeliveryInterceptor> for ::windows::runtime::IInspectable {
from(value: &KeyboardDeliveryInterceptor) -> Self3217     fn from(value: &KeyboardDeliveryInterceptor) -> Self {
3218         value.0.clone()
3219     }
3220 }
3221 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for KeyboardDeliveryInterceptor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3222     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3223         ::windows::runtime::Param::Owned(self.0)
3224     }
3225 }
3226 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a KeyboardDeliveryInterceptor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3227     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3228         ::windows::runtime::Param::Borrowed(&self.0)
3229     }
3230 }
3231 unsafe impl ::std::marker::Send for KeyboardDeliveryInterceptor {}
3232 unsafe impl ::std::marker::Sync for KeyboardDeliveryInterceptor {}
3233 #[repr(transparent)]
3234 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3235 pub struct ManipulationCompletedEventArgs(::windows::runtime::IInspectable);
3236 impl ManipulationCompletedEventArgs {
3237     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>3238     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
3239         let this = self;
3240         unsafe {
3241             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
3242             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
3243         }
3244     }
3245     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3246     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3247         let this = self;
3248         unsafe {
3249             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3250             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3251         }
3252     }
3253     #[cfg(feature = "Foundation")]
Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta>3254     pub fn Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta> {
3255         let this = self;
3256         unsafe {
3257             let mut result__: ManipulationDelta = ::std::mem::zeroed();
3258             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationDelta>(result__)
3259         }
3260     }
3261     #[cfg(feature = "Foundation")]
Velocities(&self) -> ::windows::runtime::Result<ManipulationVelocities>3262     pub fn Velocities(&self) -> ::windows::runtime::Result<ManipulationVelocities> {
3263         let this = self;
3264         unsafe {
3265             let mut result__: ManipulationVelocities = ::std::mem::zeroed();
3266             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationVelocities>(result__)
3267         }
3268     }
ContactCount(&self) -> ::windows::runtime::Result<u32>3269     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
3270         let this = &::windows::runtime::Interface::cast::<IManipulationCompletedEventArgs2>(self)?;
3271         unsafe {
3272             let mut result__: u32 = ::std::mem::zeroed();
3273             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3274         }
3275     }
CurrentContactCount(&self) -> ::windows::runtime::Result<u32>3276     pub fn CurrentContactCount(&self) -> ::windows::runtime::Result<u32> {
3277         let this = &::windows::runtime::Interface::cast::<IManipulationCompletedEventArgs2>(self)?;
3278         unsafe {
3279             let mut result__: u32 = ::std::mem::zeroed();
3280             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3281         }
3282     }
3283 }
3284 unsafe impl ::windows::runtime::RuntimeType for ManipulationCompletedEventArgs {
3285     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.ManipulationCompletedEventArgs;{b34ab22b-d19b-46ff-9f38-dec7754bb9e7})");
3286 }
3287 unsafe impl ::windows::runtime::Interface for ManipulationCompletedEventArgs {
3288     type Vtable = IManipulationCompletedEventArgs_abi;
3289     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3008016939, 53659, 18175, [159, 56, 222, 199, 117, 75, 185, 231]);
3290 }
3291 impl ::windows::runtime::RuntimeName for ManipulationCompletedEventArgs {
3292     const NAME: &'static str = "Windows.UI.Input.ManipulationCompletedEventArgs";
3293 }
3294 impl ::std::convert::From<ManipulationCompletedEventArgs> for ::windows::runtime::IUnknown {
from(value: ManipulationCompletedEventArgs) -> Self3295     fn from(value: ManipulationCompletedEventArgs) -> Self {
3296         unsafe { ::std::mem::transmute(value) }
3297     }
3298 }
3299 impl ::std::convert::From<&ManipulationCompletedEventArgs> for ::windows::runtime::IUnknown {
from(value: &ManipulationCompletedEventArgs) -> Self3300     fn from(value: &ManipulationCompletedEventArgs) -> Self {
3301         ::std::convert::From::from(::std::clone::Clone::clone(value))
3302     }
3303 }
3304 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ManipulationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3305     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3306         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3307     }
3308 }
3309 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ManipulationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3310     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3311         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3312     }
3313 }
3314 impl ::std::convert::From<ManipulationCompletedEventArgs> for ::windows::runtime::IInspectable {
from(value: ManipulationCompletedEventArgs) -> Self3315     fn from(value: ManipulationCompletedEventArgs) -> Self {
3316         value.0
3317     }
3318 }
3319 impl ::std::convert::From<&ManipulationCompletedEventArgs> for ::windows::runtime::IInspectable {
from(value: &ManipulationCompletedEventArgs) -> Self3320     fn from(value: &ManipulationCompletedEventArgs) -> Self {
3321         value.0.clone()
3322     }
3323 }
3324 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ManipulationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3325     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3326         ::windows::runtime::Param::Owned(self.0)
3327     }
3328 }
3329 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ManipulationCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3330     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3331         ::windows::runtime::Param::Borrowed(&self.0)
3332     }
3333 }
3334 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3335 #[repr(C)]
3336 #[cfg(feature = "Foundation")]
3337 pub struct ManipulationDelta {
3338     pub Translation: super::super::Foundation::Point,
3339     pub Scale: f32,
3340     pub Rotation: f32,
3341     pub Expansion: f32,
3342 }
3343 #[cfg(feature = "Foundation")]
3344 impl ManipulationDelta {}
3345 #[cfg(feature = "Foundation")]
3346 impl ::std::default::Default for ManipulationDelta {
default() -> Self3347     fn default() -> Self {
3348         unsafe { ::std::mem::zeroed() }
3349     }
3350 }
3351 #[cfg(feature = "Foundation")]
3352 impl ::std::fmt::Debug for ManipulationDelta {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3353     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3354         fmt.debug_struct("ManipulationDelta").field("Translation", &self.Translation).field("Scale", &self.Scale).field("Rotation", &self.Rotation).field("Expansion", &self.Expansion).finish()
3355     }
3356 }
3357 #[cfg(feature = "Foundation")]
3358 impl ::std::cmp::PartialEq for ManipulationDelta {
eq(&self, other: &Self) -> bool3359     fn eq(&self, other: &Self) -> bool {
3360         self.Translation == other.Translation && self.Scale == other.Scale && self.Rotation == other.Rotation && self.Expansion == other.Expansion
3361     }
3362 }
3363 #[cfg(feature = "Foundation")]
3364 impl ::std::cmp::Eq for ManipulationDelta {}
3365 #[cfg(feature = "Foundation")]
3366 unsafe impl ::windows::runtime::Abi for ManipulationDelta {
3367     type Abi = Self;
3368     type DefaultType = Self;
3369 }
3370 #[cfg(feature = "Foundation")]
3371 unsafe impl ::windows::runtime::RuntimeType for ManipulationDelta {
3372     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.UI.Input.ManipulationDelta;struct(Windows.Foundation.Point;f4;f4);f4;f4;f4)");
3373 }
3374 #[repr(transparent)]
3375 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3376 pub struct ManipulationInertiaStartingEventArgs(::windows::runtime::IInspectable);
3377 impl ManipulationInertiaStartingEventArgs {
3378     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>3379     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
3380         let this = self;
3381         unsafe {
3382             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
3383             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
3384         }
3385     }
3386     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3387     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3388         let this = self;
3389         unsafe {
3390             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3391             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3392         }
3393     }
3394     #[cfg(feature = "Foundation")]
Delta(&self) -> ::windows::runtime::Result<ManipulationDelta>3395     pub fn Delta(&self) -> ::windows::runtime::Result<ManipulationDelta> {
3396         let this = self;
3397         unsafe {
3398             let mut result__: ManipulationDelta = ::std::mem::zeroed();
3399             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationDelta>(result__)
3400         }
3401     }
3402     #[cfg(feature = "Foundation")]
Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta>3403     pub fn Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta> {
3404         let this = self;
3405         unsafe {
3406             let mut result__: ManipulationDelta = ::std::mem::zeroed();
3407             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationDelta>(result__)
3408         }
3409     }
3410     #[cfg(feature = "Foundation")]
Velocities(&self) -> ::windows::runtime::Result<ManipulationVelocities>3411     pub fn Velocities(&self) -> ::windows::runtime::Result<ManipulationVelocities> {
3412         let this = self;
3413         unsafe {
3414             let mut result__: ManipulationVelocities = ::std::mem::zeroed();
3415             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationVelocities>(result__)
3416         }
3417     }
ContactCount(&self) -> ::windows::runtime::Result<u32>3418     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
3419         let this = &::windows::runtime::Interface::cast::<IManipulationInertiaStartingEventArgs2>(self)?;
3420         unsafe {
3421             let mut result__: u32 = ::std::mem::zeroed();
3422             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3423         }
3424     }
3425 }
3426 unsafe impl ::windows::runtime::RuntimeType for ManipulationInertiaStartingEventArgs {
3427     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.ManipulationInertiaStartingEventArgs;{dd37a898-26bf-467a-9ce5-ccf3fb11371e})");
3428 }
3429 unsafe impl ::windows::runtime::Interface for ManipulationInertiaStartingEventArgs {
3430     type Vtable = IManipulationInertiaStartingEventArgs_abi;
3431     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3711412376, 9919, 18042, [156, 229, 204, 243, 251, 17, 55, 30]);
3432 }
3433 impl ::windows::runtime::RuntimeName for ManipulationInertiaStartingEventArgs {
3434     const NAME: &'static str = "Windows.UI.Input.ManipulationInertiaStartingEventArgs";
3435 }
3436 impl ::std::convert::From<ManipulationInertiaStartingEventArgs> for ::windows::runtime::IUnknown {
from(value: ManipulationInertiaStartingEventArgs) -> Self3437     fn from(value: ManipulationInertiaStartingEventArgs) -> Self {
3438         unsafe { ::std::mem::transmute(value) }
3439     }
3440 }
3441 impl ::std::convert::From<&ManipulationInertiaStartingEventArgs> for ::windows::runtime::IUnknown {
from(value: &ManipulationInertiaStartingEventArgs) -> Self3442     fn from(value: &ManipulationInertiaStartingEventArgs) -> Self {
3443         ::std::convert::From::from(::std::clone::Clone::clone(value))
3444     }
3445 }
3446 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ManipulationInertiaStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3447     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3448         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3449     }
3450 }
3451 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ManipulationInertiaStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3452     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3453         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3454     }
3455 }
3456 impl ::std::convert::From<ManipulationInertiaStartingEventArgs> for ::windows::runtime::IInspectable {
from(value: ManipulationInertiaStartingEventArgs) -> Self3457     fn from(value: ManipulationInertiaStartingEventArgs) -> Self {
3458         value.0
3459     }
3460 }
3461 impl ::std::convert::From<&ManipulationInertiaStartingEventArgs> for ::windows::runtime::IInspectable {
from(value: &ManipulationInertiaStartingEventArgs) -> Self3462     fn from(value: &ManipulationInertiaStartingEventArgs) -> Self {
3463         value.0.clone()
3464     }
3465 }
3466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ManipulationInertiaStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3468         ::windows::runtime::Param::Owned(self.0)
3469     }
3470 }
3471 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ManipulationInertiaStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3472     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3473         ::windows::runtime::Param::Borrowed(&self.0)
3474     }
3475 }
3476 #[repr(transparent)]
3477 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3478 pub struct ManipulationStartedEventArgs(::windows::runtime::IInspectable);
3479 impl ManipulationStartedEventArgs {
3480     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>3481     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
3482         let this = self;
3483         unsafe {
3484             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
3485             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
3486         }
3487     }
3488     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3489     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3490         let this = self;
3491         unsafe {
3492             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3493             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3494         }
3495     }
3496     #[cfg(feature = "Foundation")]
Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta>3497     pub fn Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta> {
3498         let this = self;
3499         unsafe {
3500             let mut result__: ManipulationDelta = ::std::mem::zeroed();
3501             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationDelta>(result__)
3502         }
3503     }
ContactCount(&self) -> ::windows::runtime::Result<u32>3504     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
3505         let this = &::windows::runtime::Interface::cast::<IManipulationStartedEventArgs2>(self)?;
3506         unsafe {
3507             let mut result__: u32 = ::std::mem::zeroed();
3508             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3509         }
3510     }
3511 }
3512 unsafe impl ::windows::runtime::RuntimeType for ManipulationStartedEventArgs {
3513     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.ManipulationStartedEventArgs;{ddec873e-cfce-4932-8c1d-3c3d011a34c0})");
3514 }
3515 unsafe impl ::windows::runtime::Interface for ManipulationStartedEventArgs {
3516     type Vtable = IManipulationStartedEventArgs_abi;
3517     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3723265854, 53198, 18738, [140, 29, 60, 61, 1, 26, 52, 192]);
3518 }
3519 impl ::windows::runtime::RuntimeName for ManipulationStartedEventArgs {
3520     const NAME: &'static str = "Windows.UI.Input.ManipulationStartedEventArgs";
3521 }
3522 impl ::std::convert::From<ManipulationStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: ManipulationStartedEventArgs) -> Self3523     fn from(value: ManipulationStartedEventArgs) -> Self {
3524         unsafe { ::std::mem::transmute(value) }
3525     }
3526 }
3527 impl ::std::convert::From<&ManipulationStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: &ManipulationStartedEventArgs) -> Self3528     fn from(value: &ManipulationStartedEventArgs) -> Self {
3529         ::std::convert::From::from(::std::clone::Clone::clone(value))
3530     }
3531 }
3532 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ManipulationStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3533     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3534         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3535     }
3536 }
3537 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ManipulationStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3538     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3539         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3540     }
3541 }
3542 impl ::std::convert::From<ManipulationStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: ManipulationStartedEventArgs) -> Self3543     fn from(value: ManipulationStartedEventArgs) -> Self {
3544         value.0
3545     }
3546 }
3547 impl ::std::convert::From<&ManipulationStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: &ManipulationStartedEventArgs) -> Self3548     fn from(value: &ManipulationStartedEventArgs) -> Self {
3549         value.0.clone()
3550     }
3551 }
3552 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ManipulationStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3553     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3554         ::windows::runtime::Param::Owned(self.0)
3555     }
3556 }
3557 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ManipulationStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3558     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3559         ::windows::runtime::Param::Borrowed(&self.0)
3560     }
3561 }
3562 #[repr(transparent)]
3563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3564 pub struct ManipulationUpdatedEventArgs(::windows::runtime::IInspectable);
3565 impl ManipulationUpdatedEventArgs {
3566     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>3567     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
3568         let this = self;
3569         unsafe {
3570             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
3571             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
3572         }
3573     }
3574     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3575     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3576         let this = self;
3577         unsafe {
3578             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3579             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3580         }
3581     }
3582     #[cfg(feature = "Foundation")]
Delta(&self) -> ::windows::runtime::Result<ManipulationDelta>3583     pub fn Delta(&self) -> ::windows::runtime::Result<ManipulationDelta> {
3584         let this = self;
3585         unsafe {
3586             let mut result__: ManipulationDelta = ::std::mem::zeroed();
3587             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationDelta>(result__)
3588         }
3589     }
3590     #[cfg(feature = "Foundation")]
Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta>3591     pub fn Cumulative(&self) -> ::windows::runtime::Result<ManipulationDelta> {
3592         let this = self;
3593         unsafe {
3594             let mut result__: ManipulationDelta = ::std::mem::zeroed();
3595             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationDelta>(result__)
3596         }
3597     }
3598     #[cfg(feature = "Foundation")]
Velocities(&self) -> ::windows::runtime::Result<ManipulationVelocities>3599     pub fn Velocities(&self) -> ::windows::runtime::Result<ManipulationVelocities> {
3600         let this = self;
3601         unsafe {
3602             let mut result__: ManipulationVelocities = ::std::mem::zeroed();
3603             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ManipulationVelocities>(result__)
3604         }
3605     }
ContactCount(&self) -> ::windows::runtime::Result<u32>3606     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
3607         let this = &::windows::runtime::Interface::cast::<IManipulationUpdatedEventArgs2>(self)?;
3608         unsafe {
3609             let mut result__: u32 = ::std::mem::zeroed();
3610             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3611         }
3612     }
CurrentContactCount(&self) -> ::windows::runtime::Result<u32>3613     pub fn CurrentContactCount(&self) -> ::windows::runtime::Result<u32> {
3614         let this = &::windows::runtime::Interface::cast::<IManipulationUpdatedEventArgs2>(self)?;
3615         unsafe {
3616             let mut result__: u32 = ::std::mem::zeroed();
3617             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3618         }
3619     }
3620 }
3621 unsafe impl ::windows::runtime::RuntimeType for ManipulationUpdatedEventArgs {
3622     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.ManipulationUpdatedEventArgs;{cb354ce5-abb8-4f9f-b3ce-8181aa61ad82})");
3623 }
3624 unsafe impl ::windows::runtime::Interface for ManipulationUpdatedEventArgs {
3625     type Vtable = IManipulationUpdatedEventArgs_abi;
3626     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3409267941, 43960, 20383, [179, 206, 129, 129, 170, 97, 173, 130]);
3627 }
3628 impl ::windows::runtime::RuntimeName for ManipulationUpdatedEventArgs {
3629     const NAME: &'static str = "Windows.UI.Input.ManipulationUpdatedEventArgs";
3630 }
3631 impl ::std::convert::From<ManipulationUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: ManipulationUpdatedEventArgs) -> Self3632     fn from(value: ManipulationUpdatedEventArgs) -> Self {
3633         unsafe { ::std::mem::transmute(value) }
3634     }
3635 }
3636 impl ::std::convert::From<&ManipulationUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: &ManipulationUpdatedEventArgs) -> Self3637     fn from(value: &ManipulationUpdatedEventArgs) -> Self {
3638         ::std::convert::From::from(::std::clone::Clone::clone(value))
3639     }
3640 }
3641 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ManipulationUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3642     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3643         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3644     }
3645 }
3646 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ManipulationUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3647     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3648         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3649     }
3650 }
3651 impl ::std::convert::From<ManipulationUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: ManipulationUpdatedEventArgs) -> Self3652     fn from(value: ManipulationUpdatedEventArgs) -> Self {
3653         value.0
3654     }
3655 }
3656 impl ::std::convert::From<&ManipulationUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: &ManipulationUpdatedEventArgs) -> Self3657     fn from(value: &ManipulationUpdatedEventArgs) -> Self {
3658         value.0.clone()
3659     }
3660 }
3661 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ManipulationUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3662     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3663         ::windows::runtime::Param::Owned(self.0)
3664     }
3665 }
3666 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ManipulationUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3667     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3668         ::windows::runtime::Param::Borrowed(&self.0)
3669     }
3670 }
3671 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3672 #[repr(C)]
3673 #[cfg(feature = "Foundation")]
3674 pub struct ManipulationVelocities {
3675     pub Linear: super::super::Foundation::Point,
3676     pub Angular: f32,
3677     pub Expansion: f32,
3678 }
3679 #[cfg(feature = "Foundation")]
3680 impl ManipulationVelocities {}
3681 #[cfg(feature = "Foundation")]
3682 impl ::std::default::Default for ManipulationVelocities {
default() -> Self3683     fn default() -> Self {
3684         unsafe { ::std::mem::zeroed() }
3685     }
3686 }
3687 #[cfg(feature = "Foundation")]
3688 impl ::std::fmt::Debug for ManipulationVelocities {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3689     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3690         fmt.debug_struct("ManipulationVelocities").field("Linear", &self.Linear).field("Angular", &self.Angular).field("Expansion", &self.Expansion).finish()
3691     }
3692 }
3693 #[cfg(feature = "Foundation")]
3694 impl ::std::cmp::PartialEq for ManipulationVelocities {
eq(&self, other: &Self) -> bool3695     fn eq(&self, other: &Self) -> bool {
3696         self.Linear == other.Linear && self.Angular == other.Angular && self.Expansion == other.Expansion
3697     }
3698 }
3699 #[cfg(feature = "Foundation")]
3700 impl ::std::cmp::Eq for ManipulationVelocities {}
3701 #[cfg(feature = "Foundation")]
3702 unsafe impl ::windows::runtime::Abi for ManipulationVelocities {
3703     type Abi = Self;
3704     type DefaultType = Self;
3705 }
3706 #[cfg(feature = "Foundation")]
3707 unsafe impl ::windows::runtime::RuntimeType for ManipulationVelocities {
3708     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.UI.Input.ManipulationVelocities;struct(Windows.Foundation.Point;f4;f4);f4;f4)");
3709 }
3710 #[repr(transparent)]
3711 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3712 pub struct MouseWheelParameters(::windows::runtime::IInspectable);
3713 impl MouseWheelParameters {
3714     #[cfg(feature = "Foundation")]
CharTranslation(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3715     pub fn CharTranslation(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3716         let this = self;
3717         unsafe {
3718             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3719             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3720         }
3721     }
3722     #[cfg(feature = "Foundation")]
SetCharTranslation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, value: Param0) -> ::windows::runtime::Result<()>3723     pub fn SetCharTranslation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3724         let this = self;
3725         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3726     }
DeltaScale(&self) -> ::windows::runtime::Result<f32>3727     pub fn DeltaScale(&self) -> ::windows::runtime::Result<f32> {
3728         let this = self;
3729         unsafe {
3730             let mut result__: f32 = ::std::mem::zeroed();
3731             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3732         }
3733     }
SetDeltaScale(&self, value: f32) -> ::windows::runtime::Result<()>3734     pub fn SetDeltaScale(&self, value: f32) -> ::windows::runtime::Result<()> {
3735         let this = self;
3736         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
3737     }
DeltaRotationAngle(&self) -> ::windows::runtime::Result<f32>3738     pub fn DeltaRotationAngle(&self) -> ::windows::runtime::Result<f32> {
3739         let this = self;
3740         unsafe {
3741             let mut result__: f32 = ::std::mem::zeroed();
3742             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3743         }
3744     }
SetDeltaRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>3745     pub fn SetDeltaRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
3746         let this = self;
3747         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
3748     }
3749     #[cfg(feature = "Foundation")]
PageTranslation(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3750     pub fn PageTranslation(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3751         let this = self;
3752         unsafe {
3753             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3754             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3755         }
3756     }
3757     #[cfg(feature = "Foundation")]
SetPageTranslation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, value: Param0) -> ::windows::runtime::Result<()>3758     pub fn SetPageTranslation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3759         let this = self;
3760         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3761     }
3762 }
3763 unsafe impl ::windows::runtime::RuntimeType for MouseWheelParameters {
3764     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.MouseWheelParameters;{ead0ca44-9ded-4037-8149-5e4cc2564468})");
3765 }
3766 unsafe impl ::windows::runtime::Interface for MouseWheelParameters {
3767     type Vtable = IMouseWheelParameters_abi;
3768     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3939551812, 40429, 16439, [129, 73, 94, 76, 194, 86, 68, 104]);
3769 }
3770 impl ::windows::runtime::RuntimeName for MouseWheelParameters {
3771     const NAME: &'static str = "Windows.UI.Input.MouseWheelParameters";
3772 }
3773 impl ::std::convert::From<MouseWheelParameters> for ::windows::runtime::IUnknown {
from(value: MouseWheelParameters) -> Self3774     fn from(value: MouseWheelParameters) -> Self {
3775         unsafe { ::std::mem::transmute(value) }
3776     }
3777 }
3778 impl ::std::convert::From<&MouseWheelParameters> for ::windows::runtime::IUnknown {
from(value: &MouseWheelParameters) -> Self3779     fn from(value: &MouseWheelParameters) -> Self {
3780         ::std::convert::From::from(::std::clone::Clone::clone(value))
3781     }
3782 }
3783 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MouseWheelParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3784     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3785         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3786     }
3787 }
3788 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MouseWheelParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3789     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3790         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3791     }
3792 }
3793 impl ::std::convert::From<MouseWheelParameters> for ::windows::runtime::IInspectable {
from(value: MouseWheelParameters) -> Self3794     fn from(value: MouseWheelParameters) -> Self {
3795         value.0
3796     }
3797 }
3798 impl ::std::convert::From<&MouseWheelParameters> for ::windows::runtime::IInspectable {
from(value: &MouseWheelParameters) -> Self3799     fn from(value: &MouseWheelParameters) -> Self {
3800         value.0.clone()
3801     }
3802 }
3803 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MouseWheelParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3804     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3805         ::windows::runtime::Param::Owned(self.0)
3806     }
3807 }
3808 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MouseWheelParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3809     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3810         ::windows::runtime::Param::Borrowed(&self.0)
3811     }
3812 }
3813 #[repr(transparent)]
3814 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3815 pub struct PointerPoint(::windows::runtime::IInspectable);
3816 impl PointerPoint {
3817     #[cfg(feature = "Devices_Input")]
PointerDevice(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDevice>3818     pub fn PointerDevice(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDevice> {
3819         let this = self;
3820         unsafe {
3821             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3822             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDevice>(result__)
3823         }
3824     }
3825     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3826     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3827         let this = self;
3828         unsafe {
3829             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3830             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3831         }
3832     }
3833     #[cfg(feature = "Foundation")]
RawPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>3834     pub fn RawPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
3835         let this = self;
3836         unsafe {
3837             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
3838             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
3839         }
3840     }
PointerId(&self) -> ::windows::runtime::Result<u32>3841     pub fn PointerId(&self) -> ::windows::runtime::Result<u32> {
3842         let this = self;
3843         unsafe {
3844             let mut result__: u32 = ::std::mem::zeroed();
3845             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3846         }
3847     }
FrameId(&self) -> ::windows::runtime::Result<u32>3848     pub fn FrameId(&self) -> ::windows::runtime::Result<u32> {
3849         let this = self;
3850         unsafe {
3851             let mut result__: u32 = ::std::mem::zeroed();
3852             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
3853         }
3854     }
Timestamp(&self) -> ::windows::runtime::Result<u64>3855     pub fn Timestamp(&self) -> ::windows::runtime::Result<u64> {
3856         let this = self;
3857         unsafe {
3858             let mut result__: u64 = ::std::mem::zeroed();
3859             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
3860         }
3861     }
IsInContact(&self) -> ::windows::runtime::Result<bool>3862     pub fn IsInContact(&self) -> ::windows::runtime::Result<bool> {
3863         let this = self;
3864         unsafe {
3865             let mut result__: bool = ::std::mem::zeroed();
3866             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3867         }
3868     }
Properties(&self) -> ::windows::runtime::Result<PointerPointProperties>3869     pub fn Properties(&self) -> ::windows::runtime::Result<PointerPointProperties> {
3870         let this = self;
3871         unsafe {
3872             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3873             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PointerPointProperties>(result__)
3874         }
3875     }
GetCurrentPoint(pointerid: u32) -> ::windows::runtime::Result<PointerPoint>3876     pub fn GetCurrentPoint(pointerid: u32) -> ::windows::runtime::Result<PointerPoint> {
3877         Self::IPointerPointStatics(|this| unsafe {
3878             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3879             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), pointerid, &mut result__).from_abi::<PointerPoint>(result__)
3880         })
3881     }
3882     #[cfg(feature = "Foundation_Collections")]
GetIntermediatePoints(pointerid: u32) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<PointerPoint>>3883     pub fn GetIntermediatePoints(pointerid: u32) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<PointerPoint>> {
3884         Self::IPointerPointStatics(|this| unsafe {
3885             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3886             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), pointerid, &mut result__).from_abi::<super::super::Foundation::Collections::IVector<PointerPoint>>(result__)
3887         })
3888     }
GetCurrentPointTransformed<'a, Param1: ::windows::runtime::IntoParam<'a, IPointerPointTransform>>(pointerid: u32, transform: Param1) -> ::windows::runtime::Result<PointerPoint>3889     pub fn GetCurrentPointTransformed<'a, Param1: ::windows::runtime::IntoParam<'a, IPointerPointTransform>>(pointerid: u32, transform: Param1) -> ::windows::runtime::Result<PointerPoint> {
3890         Self::IPointerPointStatics(|this| unsafe {
3891             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3892             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), pointerid, transform.into_param().abi(), &mut result__).from_abi::<PointerPoint>(result__)
3893         })
3894     }
3895     #[cfg(feature = "Foundation_Collections")]
GetIntermediatePointsTransformed<'a, Param1: ::windows::runtime::IntoParam<'a, IPointerPointTransform>>(pointerid: u32, transform: Param1) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<PointerPoint>>3896     pub fn GetIntermediatePointsTransformed<'a, Param1: ::windows::runtime::IntoParam<'a, IPointerPointTransform>>(pointerid: u32, transform: Param1) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<PointerPoint>> {
3897         Self::IPointerPointStatics(|this| unsafe {
3898             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3899             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), pointerid, transform.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<PointerPoint>>(result__)
3900         })
3901     }
IPointerPointStatics<R, F: FnOnce(&IPointerPointStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3902     pub fn IPointerPointStatics<R, F: FnOnce(&IPointerPointStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3903         static mut SHARED: ::windows::runtime::FactoryCache<PointerPoint, IPointerPointStatics> = ::windows::runtime::FactoryCache::new();
3904         unsafe { SHARED.call(callback) }
3905     }
3906 }
3907 unsafe impl ::windows::runtime::RuntimeType for PointerPoint {
3908     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.PointerPoint;{e995317d-7296-42d9-8233-c5be73b74a4a})");
3909 }
3910 unsafe impl ::windows::runtime::Interface for PointerPoint {
3911     type Vtable = IPointerPoint_abi;
3912     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3918868861, 29334, 17113, [130, 51, 197, 190, 115, 183, 74, 74]);
3913 }
3914 impl ::windows::runtime::RuntimeName for PointerPoint {
3915     const NAME: &'static str = "Windows.UI.Input.PointerPoint";
3916 }
3917 impl ::std::convert::From<PointerPoint> for ::windows::runtime::IUnknown {
from(value: PointerPoint) -> Self3918     fn from(value: PointerPoint) -> Self {
3919         unsafe { ::std::mem::transmute(value) }
3920     }
3921 }
3922 impl ::std::convert::From<&PointerPoint> for ::windows::runtime::IUnknown {
from(value: &PointerPoint) -> Self3923     fn from(value: &PointerPoint) -> Self {
3924         ::std::convert::From::from(::std::clone::Clone::clone(value))
3925     }
3926 }
3927 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PointerPoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3928     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3929         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3930     }
3931 }
3932 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PointerPoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3933     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3934         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3935     }
3936 }
3937 impl ::std::convert::From<PointerPoint> for ::windows::runtime::IInspectable {
from(value: PointerPoint) -> Self3938     fn from(value: PointerPoint) -> Self {
3939         value.0
3940     }
3941 }
3942 impl ::std::convert::From<&PointerPoint> for ::windows::runtime::IInspectable {
from(value: &PointerPoint) -> Self3943     fn from(value: &PointerPoint) -> Self {
3944         value.0.clone()
3945     }
3946 }
3947 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PointerPoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3948     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3949         ::windows::runtime::Param::Owned(self.0)
3950     }
3951 }
3952 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PointerPoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3953     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3954         ::windows::runtime::Param::Borrowed(&self.0)
3955     }
3956 }
3957 #[repr(transparent)]
3958 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3959 pub struct PointerPointProperties(::windows::runtime::IInspectable);
3960 impl PointerPointProperties {
Pressure(&self) -> ::windows::runtime::Result<f32>3961     pub fn Pressure(&self) -> ::windows::runtime::Result<f32> {
3962         let this = self;
3963         unsafe {
3964             let mut result__: f32 = ::std::mem::zeroed();
3965             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3966         }
3967     }
IsInverted(&self) -> ::windows::runtime::Result<bool>3968     pub fn IsInverted(&self) -> ::windows::runtime::Result<bool> {
3969         let this = self;
3970         unsafe {
3971             let mut result__: bool = ::std::mem::zeroed();
3972             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3973         }
3974     }
IsEraser(&self) -> ::windows::runtime::Result<bool>3975     pub fn IsEraser(&self) -> ::windows::runtime::Result<bool> {
3976         let this = self;
3977         unsafe {
3978             let mut result__: bool = ::std::mem::zeroed();
3979             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3980         }
3981     }
Orientation(&self) -> ::windows::runtime::Result<f32>3982     pub fn Orientation(&self) -> ::windows::runtime::Result<f32> {
3983         let this = self;
3984         unsafe {
3985             let mut result__: f32 = ::std::mem::zeroed();
3986             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3987         }
3988     }
XTilt(&self) -> ::windows::runtime::Result<f32>3989     pub fn XTilt(&self) -> ::windows::runtime::Result<f32> {
3990         let this = self;
3991         unsafe {
3992             let mut result__: f32 = ::std::mem::zeroed();
3993             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3994         }
3995     }
YTilt(&self) -> ::windows::runtime::Result<f32>3996     pub fn YTilt(&self) -> ::windows::runtime::Result<f32> {
3997         let this = self;
3998         unsafe {
3999             let mut result__: f32 = ::std::mem::zeroed();
4000             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
4001         }
4002     }
Twist(&self) -> ::windows::runtime::Result<f32>4003     pub fn Twist(&self) -> ::windows::runtime::Result<f32> {
4004         let this = self;
4005         unsafe {
4006             let mut result__: f32 = ::std::mem::zeroed();
4007             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
4008         }
4009     }
4010     #[cfg(feature = "Foundation")]
ContactRect(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect>4011     pub fn ContactRect(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect> {
4012         let this = self;
4013         unsafe {
4014             let mut result__: super::super::Foundation::Rect = ::std::mem::zeroed();
4015             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Rect>(result__)
4016         }
4017     }
4018     #[cfg(feature = "Foundation")]
ContactRectRaw(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect>4019     pub fn ContactRectRaw(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect> {
4020         let this = self;
4021         unsafe {
4022             let mut result__: super::super::Foundation::Rect = ::std::mem::zeroed();
4023             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Rect>(result__)
4024         }
4025     }
TouchConfidence(&self) -> ::windows::runtime::Result<bool>4026     pub fn TouchConfidence(&self) -> ::windows::runtime::Result<bool> {
4027         let this = self;
4028         unsafe {
4029             let mut result__: bool = ::std::mem::zeroed();
4030             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4031         }
4032     }
IsLeftButtonPressed(&self) -> ::windows::runtime::Result<bool>4033     pub fn IsLeftButtonPressed(&self) -> ::windows::runtime::Result<bool> {
4034         let this = self;
4035         unsafe {
4036             let mut result__: bool = ::std::mem::zeroed();
4037             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4038         }
4039     }
IsRightButtonPressed(&self) -> ::windows::runtime::Result<bool>4040     pub fn IsRightButtonPressed(&self) -> ::windows::runtime::Result<bool> {
4041         let this = self;
4042         unsafe {
4043             let mut result__: bool = ::std::mem::zeroed();
4044             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4045         }
4046     }
IsMiddleButtonPressed(&self) -> ::windows::runtime::Result<bool>4047     pub fn IsMiddleButtonPressed(&self) -> ::windows::runtime::Result<bool> {
4048         let this = self;
4049         unsafe {
4050             let mut result__: bool = ::std::mem::zeroed();
4051             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4052         }
4053     }
MouseWheelDelta(&self) -> ::windows::runtime::Result<i32>4054     pub fn MouseWheelDelta(&self) -> ::windows::runtime::Result<i32> {
4055         let this = self;
4056         unsafe {
4057             let mut result__: i32 = ::std::mem::zeroed();
4058             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
4059         }
4060     }
IsHorizontalMouseWheel(&self) -> ::windows::runtime::Result<bool>4061     pub fn IsHorizontalMouseWheel(&self) -> ::windows::runtime::Result<bool> {
4062         let this = self;
4063         unsafe {
4064             let mut result__: bool = ::std::mem::zeroed();
4065             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4066         }
4067     }
IsPrimary(&self) -> ::windows::runtime::Result<bool>4068     pub fn IsPrimary(&self) -> ::windows::runtime::Result<bool> {
4069         let this = self;
4070         unsafe {
4071             let mut result__: bool = ::std::mem::zeroed();
4072             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4073         }
4074     }
IsInRange(&self) -> ::windows::runtime::Result<bool>4075     pub fn IsInRange(&self) -> ::windows::runtime::Result<bool> {
4076         let this = self;
4077         unsafe {
4078             let mut result__: bool = ::std::mem::zeroed();
4079             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4080         }
4081     }
IsCanceled(&self) -> ::windows::runtime::Result<bool>4082     pub fn IsCanceled(&self) -> ::windows::runtime::Result<bool> {
4083         let this = self;
4084         unsafe {
4085             let mut result__: bool = ::std::mem::zeroed();
4086             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4087         }
4088     }
IsBarrelButtonPressed(&self) -> ::windows::runtime::Result<bool>4089     pub fn IsBarrelButtonPressed(&self) -> ::windows::runtime::Result<bool> {
4090         let this = self;
4091         unsafe {
4092             let mut result__: bool = ::std::mem::zeroed();
4093             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4094         }
4095     }
IsXButton1Pressed(&self) -> ::windows::runtime::Result<bool>4096     pub fn IsXButton1Pressed(&self) -> ::windows::runtime::Result<bool> {
4097         let this = self;
4098         unsafe {
4099             let mut result__: bool = ::std::mem::zeroed();
4100             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4101         }
4102     }
IsXButton2Pressed(&self) -> ::windows::runtime::Result<bool>4103     pub fn IsXButton2Pressed(&self) -> ::windows::runtime::Result<bool> {
4104         let this = self;
4105         unsafe {
4106             let mut result__: bool = ::std::mem::zeroed();
4107             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4108         }
4109     }
PointerUpdateKind(&self) -> ::windows::runtime::Result<PointerUpdateKind>4110     pub fn PointerUpdateKind(&self) -> ::windows::runtime::Result<PointerUpdateKind> {
4111         let this = self;
4112         unsafe {
4113             let mut result__: PointerUpdateKind = ::std::mem::zeroed();
4114             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PointerUpdateKind>(result__)
4115         }
4116     }
HasUsage(&self, usagepage: u32, usageid: u32) -> ::windows::runtime::Result<bool>4117     pub fn HasUsage(&self, usagepage: u32, usageid: u32) -> ::windows::runtime::Result<bool> {
4118         let this = self;
4119         unsafe {
4120             let mut result__: bool = ::std::mem::zeroed();
4121             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), usagepage, usageid, &mut result__).from_abi::<bool>(result__)
4122         }
4123     }
GetUsageValue(&self, usagepage: u32, usageid: u32) -> ::windows::runtime::Result<i32>4124     pub fn GetUsageValue(&self, usagepage: u32, usageid: u32) -> ::windows::runtime::Result<i32> {
4125         let this = self;
4126         unsafe {
4127             let mut result__: i32 = ::std::mem::zeroed();
4128             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), usagepage, usageid, &mut result__).from_abi::<i32>(result__)
4129         }
4130     }
4131     #[cfg(feature = "Foundation")]
ZDistance(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>>4132     pub fn ZDistance(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>> {
4133         let this = &::windows::runtime::Interface::cast::<IPointerPointProperties2>(self)?;
4134         unsafe {
4135             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4136             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f32>>(result__)
4137         }
4138     }
4139 }
4140 unsafe impl ::windows::runtime::RuntimeType for PointerPointProperties {
4141     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.PointerPointProperties;{c79d8a4b-c163-4ee7-803f-67ce79f9972d})");
4142 }
4143 unsafe impl ::windows::runtime::Interface for PointerPointProperties {
4144     type Vtable = IPointerPointProperties_abi;
4145     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3348990539, 49507, 20199, [128, 63, 103, 206, 121, 249, 151, 45]);
4146 }
4147 impl ::windows::runtime::RuntimeName for PointerPointProperties {
4148     const NAME: &'static str = "Windows.UI.Input.PointerPointProperties";
4149 }
4150 impl ::std::convert::From<PointerPointProperties> for ::windows::runtime::IUnknown {
from(value: PointerPointProperties) -> Self4151     fn from(value: PointerPointProperties) -> Self {
4152         unsafe { ::std::mem::transmute(value) }
4153     }
4154 }
4155 impl ::std::convert::From<&PointerPointProperties> for ::windows::runtime::IUnknown {
from(value: &PointerPointProperties) -> Self4156     fn from(value: &PointerPointProperties) -> Self {
4157         ::std::convert::From::from(::std::clone::Clone::clone(value))
4158     }
4159 }
4160 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PointerPointProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4161     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4162         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4163     }
4164 }
4165 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PointerPointProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4166     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4167         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4168     }
4169 }
4170 impl ::std::convert::From<PointerPointProperties> for ::windows::runtime::IInspectable {
from(value: PointerPointProperties) -> Self4171     fn from(value: PointerPointProperties) -> Self {
4172         value.0
4173     }
4174 }
4175 impl ::std::convert::From<&PointerPointProperties> for ::windows::runtime::IInspectable {
from(value: &PointerPointProperties) -> Self4176     fn from(value: &PointerPointProperties) -> Self {
4177         value.0.clone()
4178     }
4179 }
4180 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PointerPointProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4181     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4182         ::windows::runtime::Param::Owned(self.0)
4183     }
4184 }
4185 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PointerPointProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4186     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4187         ::windows::runtime::Param::Borrowed(&self.0)
4188     }
4189 }
4190 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4191 #[repr(transparent)]
4192 pub struct PointerUpdateKind(pub i32);
4193 impl PointerUpdateKind {
4194     pub const Other: PointerUpdateKind = PointerUpdateKind(0i32);
4195     pub const LeftButtonPressed: PointerUpdateKind = PointerUpdateKind(1i32);
4196     pub const LeftButtonReleased: PointerUpdateKind = PointerUpdateKind(2i32);
4197     pub const RightButtonPressed: PointerUpdateKind = PointerUpdateKind(3i32);
4198     pub const RightButtonReleased: PointerUpdateKind = PointerUpdateKind(4i32);
4199     pub const MiddleButtonPressed: PointerUpdateKind = PointerUpdateKind(5i32);
4200     pub const MiddleButtonReleased: PointerUpdateKind = PointerUpdateKind(6i32);
4201     pub const XButton1Pressed: PointerUpdateKind = PointerUpdateKind(7i32);
4202     pub const XButton1Released: PointerUpdateKind = PointerUpdateKind(8i32);
4203     pub const XButton2Pressed: PointerUpdateKind = PointerUpdateKind(9i32);
4204     pub const XButton2Released: PointerUpdateKind = PointerUpdateKind(10i32);
4205 }
4206 impl ::std::convert::From<i32> for PointerUpdateKind {
from(value: i32) -> Self4207     fn from(value: i32) -> Self {
4208         Self(value)
4209     }
4210 }
4211 unsafe impl ::windows::runtime::Abi for PointerUpdateKind {
4212     type Abi = Self;
4213     type DefaultType = Self;
4214 }
4215 unsafe impl ::windows::runtime::RuntimeType for PointerUpdateKind {
4216     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.PointerUpdateKind;i4)");
4217 }
4218 #[repr(transparent)]
4219 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4220 pub struct PointerVisualizationSettings(::windows::runtime::IInspectable);
4221 impl PointerVisualizationSettings {
SetIsContactFeedbackEnabled(&self, value: bool) -> ::windows::runtime::Result<()>4222     pub fn SetIsContactFeedbackEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
4223         let this = self;
4224         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value).ok() }
4225     }
IsContactFeedbackEnabled(&self) -> ::windows::runtime::Result<bool>4226     pub fn IsContactFeedbackEnabled(&self) -> ::windows::runtime::Result<bool> {
4227         let this = self;
4228         unsafe {
4229             let mut result__: bool = ::std::mem::zeroed();
4230             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4231         }
4232     }
SetIsBarrelButtonFeedbackEnabled(&self, value: bool) -> ::windows::runtime::Result<()>4233     pub fn SetIsBarrelButtonFeedbackEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
4234         let this = self;
4235         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
4236     }
IsBarrelButtonFeedbackEnabled(&self) -> ::windows::runtime::Result<bool>4237     pub fn IsBarrelButtonFeedbackEnabled(&self) -> ::windows::runtime::Result<bool> {
4238         let this = self;
4239         unsafe {
4240             let mut result__: bool = ::std::mem::zeroed();
4241             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4242         }
4243     }
GetForCurrentView() -> ::windows::runtime::Result<PointerVisualizationSettings>4244     pub fn GetForCurrentView() -> ::windows::runtime::Result<PointerVisualizationSettings> {
4245         Self::IPointerVisualizationSettingsStatics(|this| unsafe {
4246             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4247             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PointerVisualizationSettings>(result__)
4248         })
4249     }
IPointerVisualizationSettingsStatics<R, F: FnOnce(&IPointerVisualizationSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4250     pub fn IPointerVisualizationSettingsStatics<R, F: FnOnce(&IPointerVisualizationSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4251         static mut SHARED: ::windows::runtime::FactoryCache<PointerVisualizationSettings, IPointerVisualizationSettingsStatics> = ::windows::runtime::FactoryCache::new();
4252         unsafe { SHARED.call(callback) }
4253     }
4254 }
4255 unsafe impl ::windows::runtime::RuntimeType for PointerVisualizationSettings {
4256     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.PointerVisualizationSettings;{4d1e6461-84f7-499d-bd91-2a36e2b7aaa2})");
4257 }
4258 unsafe impl ::windows::runtime::Interface for PointerVisualizationSettings {
4259     type Vtable = IPointerVisualizationSettings_abi;
4260     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1293837409, 34039, 18845, [189, 145, 42, 54, 226, 183, 170, 162]);
4261 }
4262 impl ::windows::runtime::RuntimeName for PointerVisualizationSettings {
4263     const NAME: &'static str = "Windows.UI.Input.PointerVisualizationSettings";
4264 }
4265 impl ::std::convert::From<PointerVisualizationSettings> for ::windows::runtime::IUnknown {
from(value: PointerVisualizationSettings) -> Self4266     fn from(value: PointerVisualizationSettings) -> Self {
4267         unsafe { ::std::mem::transmute(value) }
4268     }
4269 }
4270 impl ::std::convert::From<&PointerVisualizationSettings> for ::windows::runtime::IUnknown {
from(value: &PointerVisualizationSettings) -> Self4271     fn from(value: &PointerVisualizationSettings) -> Self {
4272         ::std::convert::From::from(::std::clone::Clone::clone(value))
4273     }
4274 }
4275 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PointerVisualizationSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4276     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4277         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4278     }
4279 }
4280 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PointerVisualizationSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4281     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4282         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4283     }
4284 }
4285 impl ::std::convert::From<PointerVisualizationSettings> for ::windows::runtime::IInspectable {
from(value: PointerVisualizationSettings) -> Self4286     fn from(value: PointerVisualizationSettings) -> Self {
4287         value.0
4288     }
4289 }
4290 impl ::std::convert::From<&PointerVisualizationSettings> for ::windows::runtime::IInspectable {
from(value: &PointerVisualizationSettings) -> Self4291     fn from(value: &PointerVisualizationSettings) -> Self {
4292         value.0.clone()
4293     }
4294 }
4295 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PointerVisualizationSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4296     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4297         ::windows::runtime::Param::Owned(self.0)
4298     }
4299 }
4300 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PointerVisualizationSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4301     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4302         ::windows::runtime::Param::Borrowed(&self.0)
4303     }
4304 }
4305 unsafe impl ::std::marker::Send for PointerVisualizationSettings {}
4306 unsafe impl ::std::marker::Sync for PointerVisualizationSettings {}
4307 #[repr(transparent)]
4308 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4309 pub struct RadialController(::windows::runtime::IInspectable);
4310 impl RadialController {
Menu(&self) -> ::windows::runtime::Result<RadialControllerMenu>4311     pub fn Menu(&self) -> ::windows::runtime::Result<RadialControllerMenu> {
4312         let this = self;
4313         unsafe {
4314             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4315             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerMenu>(result__)
4316         }
4317     }
RotationResolutionInDegrees(&self) -> ::windows::runtime::Result<f64>4318     pub fn RotationResolutionInDegrees(&self) -> ::windows::runtime::Result<f64> {
4319         let this = self;
4320         unsafe {
4321             let mut result__: f64 = ::std::mem::zeroed();
4322             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
4323         }
4324     }
SetRotationResolutionInDegrees(&self, value: f64) -> ::windows::runtime::Result<()>4325     pub fn SetRotationResolutionInDegrees(&self, value: f64) -> ::windows::runtime::Result<()> {
4326         let this = self;
4327         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
4328     }
UseAutomaticHapticFeedback(&self) -> ::windows::runtime::Result<bool>4329     pub fn UseAutomaticHapticFeedback(&self) -> ::windows::runtime::Result<bool> {
4330         let this = self;
4331         unsafe {
4332             let mut result__: bool = ::std::mem::zeroed();
4333             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4334         }
4335     }
SetUseAutomaticHapticFeedback(&self, value: bool) -> ::windows::runtime::Result<()>4336     pub fn SetUseAutomaticHapticFeedback(&self, value: bool) -> ::windows::runtime::Result<()> {
4337         let this = self;
4338         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value).ok() }
4339     }
4340     #[cfg(feature = "Foundation")]
ScreenContactStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerScreenContactStartedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4341     pub fn ScreenContactStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerScreenContactStartedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4342         let this = self;
4343         unsafe {
4344             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4345             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4346         }
4347     }
4348     #[cfg(feature = "Foundation")]
RemoveScreenContactStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4349     pub fn RemoveScreenContactStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4350         let this = self;
4351         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4352     }
4353     #[cfg(feature = "Foundation")]
ScreenContactEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4354     pub fn ScreenContactEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4355         let this = self;
4356         unsafe {
4357             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4358             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4359         }
4360     }
4361     #[cfg(feature = "Foundation")]
RemoveScreenContactEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4362     pub fn RemoveScreenContactEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4363         let this = self;
4364         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4365     }
4366     #[cfg(feature = "Foundation")]
ScreenContactContinued<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerScreenContactContinuedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4367     pub fn ScreenContactContinued<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerScreenContactContinuedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4368         let this = self;
4369         unsafe {
4370             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4371             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4372         }
4373     }
4374     #[cfg(feature = "Foundation")]
RemoveScreenContactContinued<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4375     pub fn RemoveScreenContactContinued<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4376         let this = self;
4377         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4378     }
4379     #[cfg(feature = "Foundation")]
ControlLost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4380     pub fn ControlLost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4381         let this = self;
4382         unsafe {
4383             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4384             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4385         }
4386     }
4387     #[cfg(feature = "Foundation")]
RemoveControlLost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4388     pub fn RemoveControlLost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4389         let this = self;
4390         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4391     }
4392     #[cfg(feature = "Foundation")]
RotationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerRotationChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4393     pub fn RotationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerRotationChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4394         let this = self;
4395         unsafe {
4396             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4397             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4398         }
4399     }
4400     #[cfg(feature = "Foundation")]
RemoveRotationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4401     pub fn RemoveRotationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4402         let this = self;
4403         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4404     }
4405     #[cfg(feature = "Foundation")]
ButtonClicked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonClickedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4406     pub fn ButtonClicked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonClickedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4407         let this = self;
4408         unsafe {
4409             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4410             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4411         }
4412     }
4413     #[cfg(feature = "Foundation")]
RemoveButtonClicked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4414     pub fn RemoveButtonClicked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4415         let this = self;
4416         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4417     }
4418     #[cfg(feature = "Foundation")]
ControlAcquired<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerControlAcquiredEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4419     pub fn ControlAcquired<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerControlAcquiredEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4420         let this = self;
4421         unsafe {
4422             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4423             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4424         }
4425     }
4426     #[cfg(feature = "Foundation")]
RemoveControlAcquired<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4427     pub fn RemoveControlAcquired<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4428         let this = self;
4429         unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4430     }
IsSupported() -> ::windows::runtime::Result<bool>4431     pub fn IsSupported() -> ::windows::runtime::Result<bool> {
4432         Self::IRadialControllerStatics(|this| unsafe {
4433             let mut result__: bool = ::std::mem::zeroed();
4434             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4435         })
4436     }
CreateForCurrentView() -> ::windows::runtime::Result<RadialController>4437     pub fn CreateForCurrentView() -> ::windows::runtime::Result<RadialController> {
4438         Self::IRadialControllerStatics(|this| unsafe {
4439             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4440             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialController>(result__)
4441         })
4442     }
4443     #[cfg(feature = "Foundation")]
ButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonPressedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4444     pub fn ButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonPressedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4445         let this = &::windows::runtime::Interface::cast::<IRadialController2>(self)?;
4446         unsafe {
4447             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4448             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4449         }
4450     }
4451     #[cfg(feature = "Foundation")]
RemoveButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4452     pub fn RemoveButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4453         let this = &::windows::runtime::Interface::cast::<IRadialController2>(self)?;
4454         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4455     }
4456     #[cfg(feature = "Foundation")]
ButtonHolding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonHoldingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4457     pub fn ButtonHolding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonHoldingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4458         let this = &::windows::runtime::Interface::cast::<IRadialController2>(self)?;
4459         unsafe {
4460             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4461             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4462         }
4463     }
4464     #[cfg(feature = "Foundation")]
RemoveButtonHolding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4465     pub fn RemoveButtonHolding<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4466         let this = &::windows::runtime::Interface::cast::<IRadialController2>(self)?;
4467         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4468     }
4469     #[cfg(feature = "Foundation")]
ButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonReleasedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4470     pub fn ButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialController, RadialControllerButtonReleasedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4471         let this = &::windows::runtime::Interface::cast::<IRadialController2>(self)?;
4472         unsafe {
4473             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4474             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4475         }
4476     }
4477     #[cfg(feature = "Foundation")]
RemoveButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4478     pub fn RemoveButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4479         let this = &::windows::runtime::Interface::cast::<IRadialController2>(self)?;
4480         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4481     }
IRadialControllerStatics<R, F: FnOnce(&IRadialControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4482     pub fn IRadialControllerStatics<R, F: FnOnce(&IRadialControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4483         static mut SHARED: ::windows::runtime::FactoryCache<RadialController, IRadialControllerStatics> = ::windows::runtime::FactoryCache::new();
4484         unsafe { SHARED.call(callback) }
4485     }
4486 }
4487 unsafe impl ::windows::runtime::RuntimeType for RadialController {
4488     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialController;{3055d1c8-df51-43d4-b23b-0e1037467a09})");
4489 }
4490 unsafe impl ::windows::runtime::Interface for RadialController {
4491     type Vtable = IRadialController_abi;
4492     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(810930632, 57169, 17364, [178, 59, 14, 16, 55, 70, 122, 9]);
4493 }
4494 impl ::windows::runtime::RuntimeName for RadialController {
4495     const NAME: &'static str = "Windows.UI.Input.RadialController";
4496 }
4497 impl ::std::convert::From<RadialController> for ::windows::runtime::IUnknown {
from(value: RadialController) -> Self4498     fn from(value: RadialController) -> Self {
4499         unsafe { ::std::mem::transmute(value) }
4500     }
4501 }
4502 impl ::std::convert::From<&RadialController> for ::windows::runtime::IUnknown {
from(value: &RadialController) -> Self4503     fn from(value: &RadialController) -> Self {
4504         ::std::convert::From::from(::std::clone::Clone::clone(value))
4505     }
4506 }
4507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4510     }
4511 }
4512 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4513     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4514         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4515     }
4516 }
4517 impl ::std::convert::From<RadialController> for ::windows::runtime::IInspectable {
from(value: RadialController) -> Self4518     fn from(value: RadialController) -> Self {
4519         value.0
4520     }
4521 }
4522 impl ::std::convert::From<&RadialController> for ::windows::runtime::IInspectable {
from(value: &RadialController) -> Self4523     fn from(value: &RadialController) -> Self {
4524         value.0.clone()
4525     }
4526 }
4527 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4528     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4529         ::windows::runtime::Param::Owned(self.0)
4530     }
4531 }
4532 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4533     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4534         ::windows::runtime::Param::Borrowed(&self.0)
4535     }
4536 }
4537 unsafe impl ::std::marker::Send for RadialController {}
4538 unsafe impl ::std::marker::Sync for RadialController {}
4539 #[repr(transparent)]
4540 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4541 pub struct RadialControllerButtonClickedEventArgs(::windows::runtime::IInspectable);
4542 impl RadialControllerButtonClickedEventArgs {
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>4543     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
4544         let this = self;
4545         unsafe {
4546             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4547             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
4548         }
4549     }
4550     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>4551     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
4552         let this = &::windows::runtime::Interface::cast::<IRadialControllerButtonClickedEventArgs2>(self)?;
4553         unsafe {
4554             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4555             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
4556         }
4557     }
4558 }
4559 unsafe impl ::windows::runtime::RuntimeType for RadialControllerButtonClickedEventArgs {
4560     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerButtonClickedEventArgs;{206aa438-e651-11e5-bf62-2c27d7404e85})");
4561 }
4562 unsafe impl ::windows::runtime::Interface for RadialControllerButtonClickedEventArgs {
4563     type Vtable = IRadialControllerButtonClickedEventArgs_abi;
4564     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859768, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
4565 }
4566 impl ::windows::runtime::RuntimeName for RadialControllerButtonClickedEventArgs {
4567     const NAME: &'static str = "Windows.UI.Input.RadialControllerButtonClickedEventArgs";
4568 }
4569 impl ::std::convert::From<RadialControllerButtonClickedEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerButtonClickedEventArgs) -> Self4570     fn from(value: RadialControllerButtonClickedEventArgs) -> Self {
4571         unsafe { ::std::mem::transmute(value) }
4572     }
4573 }
4574 impl ::std::convert::From<&RadialControllerButtonClickedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerButtonClickedEventArgs) -> Self4575     fn from(value: &RadialControllerButtonClickedEventArgs) -> Self {
4576         ::std::convert::From::from(::std::clone::Clone::clone(value))
4577     }
4578 }
4579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerButtonClickedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4582     }
4583 }
4584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerButtonClickedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4586         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4587     }
4588 }
4589 impl ::std::convert::From<RadialControllerButtonClickedEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerButtonClickedEventArgs) -> Self4590     fn from(value: RadialControllerButtonClickedEventArgs) -> Self {
4591         value.0
4592     }
4593 }
4594 impl ::std::convert::From<&RadialControllerButtonClickedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerButtonClickedEventArgs) -> Self4595     fn from(value: &RadialControllerButtonClickedEventArgs) -> Self {
4596         value.0.clone()
4597     }
4598 }
4599 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerButtonClickedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4600     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4601         ::windows::runtime::Param::Owned(self.0)
4602     }
4603 }
4604 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerButtonClickedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4605     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4606         ::windows::runtime::Param::Borrowed(&self.0)
4607     }
4608 }
4609 unsafe impl ::std::marker::Send for RadialControllerButtonClickedEventArgs {}
4610 unsafe impl ::std::marker::Sync for RadialControllerButtonClickedEventArgs {}
4611 #[repr(transparent)]
4612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4613 pub struct RadialControllerButtonHoldingEventArgs(::windows::runtime::IInspectable);
4614 impl RadialControllerButtonHoldingEventArgs {
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>4615     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
4616         let this = self;
4617         unsafe {
4618             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4619             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
4620         }
4621     }
4622     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>4623     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
4624         let this = self;
4625         unsafe {
4626             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4627             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
4628         }
4629     }
4630 }
4631 unsafe impl ::windows::runtime::RuntimeType for RadialControllerButtonHoldingEventArgs {
4632     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerButtonHoldingEventArgs;{3d577eee-3cee-11e6-b535-001bdc06ab3b})");
4633 }
4634 unsafe impl ::windows::runtime::Interface for RadialControllerButtonHoldingEventArgs {
4635     type Vtable = IRadialControllerButtonHoldingEventArgs_abi;
4636     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144302, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
4637 }
4638 impl ::windows::runtime::RuntimeName for RadialControllerButtonHoldingEventArgs {
4639     const NAME: &'static str = "Windows.UI.Input.RadialControllerButtonHoldingEventArgs";
4640 }
4641 impl ::std::convert::From<RadialControllerButtonHoldingEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerButtonHoldingEventArgs) -> Self4642     fn from(value: RadialControllerButtonHoldingEventArgs) -> Self {
4643         unsafe { ::std::mem::transmute(value) }
4644     }
4645 }
4646 impl ::std::convert::From<&RadialControllerButtonHoldingEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerButtonHoldingEventArgs) -> Self4647     fn from(value: &RadialControllerButtonHoldingEventArgs) -> Self {
4648         ::std::convert::From::from(::std::clone::Clone::clone(value))
4649     }
4650 }
4651 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerButtonHoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4652     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4653         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4654     }
4655 }
4656 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerButtonHoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4657     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4658         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4659     }
4660 }
4661 impl ::std::convert::From<RadialControllerButtonHoldingEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerButtonHoldingEventArgs) -> Self4662     fn from(value: RadialControllerButtonHoldingEventArgs) -> Self {
4663         value.0
4664     }
4665 }
4666 impl ::std::convert::From<&RadialControllerButtonHoldingEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerButtonHoldingEventArgs) -> Self4667     fn from(value: &RadialControllerButtonHoldingEventArgs) -> Self {
4668         value.0.clone()
4669     }
4670 }
4671 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerButtonHoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4672     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4673         ::windows::runtime::Param::Owned(self.0)
4674     }
4675 }
4676 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerButtonHoldingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4677     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4678         ::windows::runtime::Param::Borrowed(&self.0)
4679     }
4680 }
4681 unsafe impl ::std::marker::Send for RadialControllerButtonHoldingEventArgs {}
4682 unsafe impl ::std::marker::Sync for RadialControllerButtonHoldingEventArgs {}
4683 #[repr(transparent)]
4684 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4685 pub struct RadialControllerButtonPressedEventArgs(::windows::runtime::IInspectable);
4686 impl RadialControllerButtonPressedEventArgs {
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>4687     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
4688         let this = self;
4689         unsafe {
4690             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4691             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
4692         }
4693     }
4694     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>4695     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
4696         let this = self;
4697         unsafe {
4698             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4699             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
4700         }
4701     }
4702 }
4703 unsafe impl ::windows::runtime::RuntimeType for RadialControllerButtonPressedEventArgs {
4704     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerButtonPressedEventArgs;{3d577eed-4cee-11e6-b535-001bdc06ab3b})");
4705 }
4706 unsafe impl ::windows::runtime::Interface for RadialControllerButtonPressedEventArgs {
4707     type Vtable = IRadialControllerButtonPressedEventArgs_abi;
4708     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144301, 19694, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
4709 }
4710 impl ::windows::runtime::RuntimeName for RadialControllerButtonPressedEventArgs {
4711     const NAME: &'static str = "Windows.UI.Input.RadialControllerButtonPressedEventArgs";
4712 }
4713 impl ::std::convert::From<RadialControllerButtonPressedEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerButtonPressedEventArgs) -> Self4714     fn from(value: RadialControllerButtonPressedEventArgs) -> Self {
4715         unsafe { ::std::mem::transmute(value) }
4716     }
4717 }
4718 impl ::std::convert::From<&RadialControllerButtonPressedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerButtonPressedEventArgs) -> Self4719     fn from(value: &RadialControllerButtonPressedEventArgs) -> Self {
4720         ::std::convert::From::from(::std::clone::Clone::clone(value))
4721     }
4722 }
4723 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4724     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4725         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4726     }
4727 }
4728 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4729     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4730         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4731     }
4732 }
4733 impl ::std::convert::From<RadialControllerButtonPressedEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerButtonPressedEventArgs) -> Self4734     fn from(value: RadialControllerButtonPressedEventArgs) -> Self {
4735         value.0
4736     }
4737 }
4738 impl ::std::convert::From<&RadialControllerButtonPressedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerButtonPressedEventArgs) -> Self4739     fn from(value: &RadialControllerButtonPressedEventArgs) -> Self {
4740         value.0.clone()
4741     }
4742 }
4743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4744     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4745         ::windows::runtime::Param::Owned(self.0)
4746     }
4747 }
4748 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4749     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4750         ::windows::runtime::Param::Borrowed(&self.0)
4751     }
4752 }
4753 unsafe impl ::std::marker::Send for RadialControllerButtonPressedEventArgs {}
4754 unsafe impl ::std::marker::Sync for RadialControllerButtonPressedEventArgs {}
4755 #[repr(transparent)]
4756 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4757 pub struct RadialControllerButtonReleasedEventArgs(::windows::runtime::IInspectable);
4758 impl RadialControllerButtonReleasedEventArgs {
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>4759     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
4760         let this = self;
4761         unsafe {
4762             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4763             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
4764         }
4765     }
4766     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>4767     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
4768         let this = self;
4769         unsafe {
4770             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4771             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
4772         }
4773     }
4774 }
4775 unsafe impl ::windows::runtime::RuntimeType for RadialControllerButtonReleasedEventArgs {
4776     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerButtonReleasedEventArgs;{3d577eef-3cee-11e6-b535-001bdc06ab3b})");
4777 }
4778 unsafe impl ::windows::runtime::Interface for RadialControllerButtonReleasedEventArgs {
4779     type Vtable = IRadialControllerButtonReleasedEventArgs_abi;
4780     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144303, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
4781 }
4782 impl ::windows::runtime::RuntimeName for RadialControllerButtonReleasedEventArgs {
4783     const NAME: &'static str = "Windows.UI.Input.RadialControllerButtonReleasedEventArgs";
4784 }
4785 impl ::std::convert::From<RadialControllerButtonReleasedEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerButtonReleasedEventArgs) -> Self4786     fn from(value: RadialControllerButtonReleasedEventArgs) -> Self {
4787         unsafe { ::std::mem::transmute(value) }
4788     }
4789 }
4790 impl ::std::convert::From<&RadialControllerButtonReleasedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerButtonReleasedEventArgs) -> Self4791     fn from(value: &RadialControllerButtonReleasedEventArgs) -> Self {
4792         ::std::convert::From::from(::std::clone::Clone::clone(value))
4793     }
4794 }
4795 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerButtonReleasedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4796     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4797         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4798     }
4799 }
4800 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerButtonReleasedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4801     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4802         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4803     }
4804 }
4805 impl ::std::convert::From<RadialControllerButtonReleasedEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerButtonReleasedEventArgs) -> Self4806     fn from(value: RadialControllerButtonReleasedEventArgs) -> Self {
4807         value.0
4808     }
4809 }
4810 impl ::std::convert::From<&RadialControllerButtonReleasedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerButtonReleasedEventArgs) -> Self4811     fn from(value: &RadialControllerButtonReleasedEventArgs) -> Self {
4812         value.0.clone()
4813     }
4814 }
4815 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerButtonReleasedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4816     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4817         ::windows::runtime::Param::Owned(self.0)
4818     }
4819 }
4820 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerButtonReleasedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4821     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4822         ::windows::runtime::Param::Borrowed(&self.0)
4823     }
4824 }
4825 unsafe impl ::std::marker::Send for RadialControllerButtonReleasedEventArgs {}
4826 unsafe impl ::std::marker::Sync for RadialControllerButtonReleasedEventArgs {}
4827 #[repr(transparent)]
4828 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4829 pub struct RadialControllerConfiguration(::windows::runtime::IInspectable);
4830 impl RadialControllerConfiguration {
4831     #[cfg(feature = "Foundation_Collections")]
SetDefaultMenuItems<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<RadialControllerSystemMenuItemKind>>>(&self, buttons: Param0) -> ::windows::runtime::Result<()>4832     pub fn SetDefaultMenuItems<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<RadialControllerSystemMenuItemKind>>>(&self, buttons: Param0) -> ::windows::runtime::Result<()> {
4833         let this = self;
4834         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), buttons.into_param().abi()).ok() }
4835     }
ResetToDefaultMenuItems(&self) -> ::windows::runtime::Result<()>4836     pub fn ResetToDefaultMenuItems(&self) -> ::windows::runtime::Result<()> {
4837         let this = self;
4838         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
4839     }
TrySelectDefaultMenuItem(&self, r#type: RadialControllerSystemMenuItemKind) -> ::windows::runtime::Result<bool>4840     pub fn TrySelectDefaultMenuItem(&self, r#type: RadialControllerSystemMenuItemKind) -> ::windows::runtime::Result<bool> {
4841         let this = self;
4842         unsafe {
4843             let mut result__: bool = ::std::mem::zeroed();
4844             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
4845         }
4846     }
GetForCurrentView() -> ::windows::runtime::Result<RadialControllerConfiguration>4847     pub fn GetForCurrentView() -> ::windows::runtime::Result<RadialControllerConfiguration> {
4848         Self::IRadialControllerConfigurationStatics(|this| unsafe {
4849             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4850             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerConfiguration>(result__)
4851         })
4852     }
SetActiveControllerWhenMenuIsSuppressed<'a, Param0: ::windows::runtime::IntoParam<'a, RadialController>>(&self, value: Param0) -> ::windows::runtime::Result<()>4853     pub fn SetActiveControllerWhenMenuIsSuppressed<'a, Param0: ::windows::runtime::IntoParam<'a, RadialController>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4854         let this = &::windows::runtime::Interface::cast::<IRadialControllerConfiguration2>(self)?;
4855         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4856     }
ActiveControllerWhenMenuIsSuppressed(&self) -> ::windows::runtime::Result<RadialController>4857     pub fn ActiveControllerWhenMenuIsSuppressed(&self) -> ::windows::runtime::Result<RadialController> {
4858         let this = &::windows::runtime::Interface::cast::<IRadialControllerConfiguration2>(self)?;
4859         unsafe {
4860             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4861             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialController>(result__)
4862         }
4863     }
SetIsMenuSuppressed(&self, value: bool) -> ::windows::runtime::Result<()>4864     pub fn SetIsMenuSuppressed(&self, value: bool) -> ::windows::runtime::Result<()> {
4865         let this = &::windows::runtime::Interface::cast::<IRadialControllerConfiguration2>(self)?;
4866         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
4867     }
IsMenuSuppressed(&self) -> ::windows::runtime::Result<bool>4868     pub fn IsMenuSuppressed(&self) -> ::windows::runtime::Result<bool> {
4869         let this = &::windows::runtime::Interface::cast::<IRadialControllerConfiguration2>(self)?;
4870         unsafe {
4871             let mut result__: bool = ::std::mem::zeroed();
4872             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4873         }
4874     }
SetAppController<'a, Param0: ::windows::runtime::IntoParam<'a, RadialController>>(value: Param0) -> ::windows::runtime::Result<()>4875     pub fn SetAppController<'a, Param0: ::windows::runtime::IntoParam<'a, RadialController>>(value: Param0) -> ::windows::runtime::Result<()> {
4876         Self::IRadialControllerConfigurationStatics2(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() })
4877     }
AppController() -> ::windows::runtime::Result<RadialController>4878     pub fn AppController() -> ::windows::runtime::Result<RadialController> {
4879         Self::IRadialControllerConfigurationStatics2(|this| unsafe {
4880             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4881             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialController>(result__)
4882         })
4883     }
SetIsAppControllerEnabled(value: bool) -> ::windows::runtime::Result<()>4884     pub fn SetIsAppControllerEnabled(value: bool) -> ::windows::runtime::Result<()> {
4885         Self::IRadialControllerConfigurationStatics2(|this| unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() })
4886     }
IsAppControllerEnabled() -> ::windows::runtime::Result<bool>4887     pub fn IsAppControllerEnabled() -> ::windows::runtime::Result<bool> {
4888         Self::IRadialControllerConfigurationStatics2(|this| unsafe {
4889             let mut result__: bool = ::std::mem::zeroed();
4890             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4891         })
4892     }
IRadialControllerConfigurationStatics<R, F: FnOnce(&IRadialControllerConfigurationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4893     pub fn IRadialControllerConfigurationStatics<R, F: FnOnce(&IRadialControllerConfigurationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4894         static mut SHARED: ::windows::runtime::FactoryCache<RadialControllerConfiguration, IRadialControllerConfigurationStatics> = ::windows::runtime::FactoryCache::new();
4895         unsafe { SHARED.call(callback) }
4896     }
IRadialControllerConfigurationStatics2<R, F: FnOnce(&IRadialControllerConfigurationStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4897     pub fn IRadialControllerConfigurationStatics2<R, F: FnOnce(&IRadialControllerConfigurationStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4898         static mut SHARED: ::windows::runtime::FactoryCache<RadialControllerConfiguration, IRadialControllerConfigurationStatics2> = ::windows::runtime::FactoryCache::new();
4899         unsafe { SHARED.call(callback) }
4900     }
4901 }
4902 unsafe impl ::windows::runtime::RuntimeType for RadialControllerConfiguration {
4903     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerConfiguration;{a6b79ecb-6a52-4430-910c-56370a9d6b42})");
4904 }
4905 unsafe impl ::windows::runtime::Interface for RadialControllerConfiguration {
4906     type Vtable = IRadialControllerConfiguration_abi;
4907     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2797051595, 27218, 17456, [145, 12, 86, 55, 10, 157, 107, 66]);
4908 }
4909 impl ::windows::runtime::RuntimeName for RadialControllerConfiguration {
4910     const NAME: &'static str = "Windows.UI.Input.RadialControllerConfiguration";
4911 }
4912 impl ::std::convert::From<RadialControllerConfiguration> for ::windows::runtime::IUnknown {
from(value: RadialControllerConfiguration) -> Self4913     fn from(value: RadialControllerConfiguration) -> Self {
4914         unsafe { ::std::mem::transmute(value) }
4915     }
4916 }
4917 impl ::std::convert::From<&RadialControllerConfiguration> for ::windows::runtime::IUnknown {
from(value: &RadialControllerConfiguration) -> Self4918     fn from(value: &RadialControllerConfiguration) -> Self {
4919         ::std::convert::From::from(::std::clone::Clone::clone(value))
4920     }
4921 }
4922 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4923     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4924         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4925     }
4926 }
4927 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4928     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4929         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4930     }
4931 }
4932 impl ::std::convert::From<RadialControllerConfiguration> for ::windows::runtime::IInspectable {
from(value: RadialControllerConfiguration) -> Self4933     fn from(value: RadialControllerConfiguration) -> Self {
4934         value.0
4935     }
4936 }
4937 impl ::std::convert::From<&RadialControllerConfiguration> for ::windows::runtime::IInspectable {
from(value: &RadialControllerConfiguration) -> Self4938     fn from(value: &RadialControllerConfiguration) -> Self {
4939         value.0.clone()
4940     }
4941 }
4942 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4943     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4944         ::windows::runtime::Param::Owned(self.0)
4945     }
4946 }
4947 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4948     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4949         ::windows::runtime::Param::Borrowed(&self.0)
4950     }
4951 }
4952 unsafe impl ::std::marker::Send for RadialControllerConfiguration {}
4953 unsafe impl ::std::marker::Sync for RadialControllerConfiguration {}
4954 #[repr(transparent)]
4955 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4956 pub struct RadialControllerControlAcquiredEventArgs(::windows::runtime::IInspectable);
4957 impl RadialControllerControlAcquiredEventArgs {
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>4958     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
4959         let this = self;
4960         unsafe {
4961             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4962             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
4963         }
4964     }
IsButtonPressed(&self) -> ::windows::runtime::Result<bool>4965     pub fn IsButtonPressed(&self) -> ::windows::runtime::Result<bool> {
4966         let this = &::windows::runtime::Interface::cast::<IRadialControllerControlAcquiredEventArgs2>(self)?;
4967         unsafe {
4968             let mut result__: bool = ::std::mem::zeroed();
4969             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4970         }
4971     }
4972     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>4973     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
4974         let this = &::windows::runtime::Interface::cast::<IRadialControllerControlAcquiredEventArgs2>(self)?;
4975         unsafe {
4976             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4977             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
4978         }
4979     }
4980 }
4981 unsafe impl ::windows::runtime::RuntimeType for RadialControllerControlAcquiredEventArgs {
4982     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerControlAcquiredEventArgs;{206aa439-e651-11e5-bf62-2c27d7404e85})");
4983 }
4984 unsafe impl ::windows::runtime::Interface for RadialControllerControlAcquiredEventArgs {
4985     type Vtable = IRadialControllerControlAcquiredEventArgs_abi;
4986     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859769, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
4987 }
4988 impl ::windows::runtime::RuntimeName for RadialControllerControlAcquiredEventArgs {
4989     const NAME: &'static str = "Windows.UI.Input.RadialControllerControlAcquiredEventArgs";
4990 }
4991 impl ::std::convert::From<RadialControllerControlAcquiredEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerControlAcquiredEventArgs) -> Self4992     fn from(value: RadialControllerControlAcquiredEventArgs) -> Self {
4993         unsafe { ::std::mem::transmute(value) }
4994     }
4995 }
4996 impl ::std::convert::From<&RadialControllerControlAcquiredEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerControlAcquiredEventArgs) -> Self4997     fn from(value: &RadialControllerControlAcquiredEventArgs) -> Self {
4998         ::std::convert::From::from(::std::clone::Clone::clone(value))
4999     }
5000 }
5001 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerControlAcquiredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5002     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5003         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5004     }
5005 }
5006 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerControlAcquiredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5007     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5008         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5009     }
5010 }
5011 impl ::std::convert::From<RadialControllerControlAcquiredEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerControlAcquiredEventArgs) -> Self5012     fn from(value: RadialControllerControlAcquiredEventArgs) -> Self {
5013         value.0
5014     }
5015 }
5016 impl ::std::convert::From<&RadialControllerControlAcquiredEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerControlAcquiredEventArgs) -> Self5017     fn from(value: &RadialControllerControlAcquiredEventArgs) -> Self {
5018         value.0.clone()
5019     }
5020 }
5021 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerControlAcquiredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5022     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5023         ::windows::runtime::Param::Owned(self.0)
5024     }
5025 }
5026 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerControlAcquiredEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5027     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5028         ::windows::runtime::Param::Borrowed(&self.0)
5029     }
5030 }
5031 unsafe impl ::std::marker::Send for RadialControllerControlAcquiredEventArgs {}
5032 unsafe impl ::std::marker::Sync for RadialControllerControlAcquiredEventArgs {}
5033 #[repr(transparent)]
5034 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5035 pub struct RadialControllerMenu(::windows::runtime::IInspectable);
5036 impl RadialControllerMenu {
5037     #[cfg(feature = "Foundation_Collections")]
Items(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<RadialControllerMenuItem>>5038     pub fn Items(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<RadialControllerMenuItem>> {
5039         let this = self;
5040         unsafe {
5041             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5042             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<RadialControllerMenuItem>>(result__)
5043         }
5044     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>5045     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
5046         let this = self;
5047         unsafe {
5048             let mut result__: bool = ::std::mem::zeroed();
5049             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5050         }
5051     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>5052     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
5053         let this = self;
5054         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
5055     }
GetSelectedMenuItem(&self) -> ::windows::runtime::Result<RadialControllerMenuItem>5056     pub fn GetSelectedMenuItem(&self) -> ::windows::runtime::Result<RadialControllerMenuItem> {
5057         let this = self;
5058         unsafe {
5059             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5060             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerMenuItem>(result__)
5061         }
5062     }
SelectMenuItem<'a, Param0: ::windows::runtime::IntoParam<'a, RadialControllerMenuItem>>(&self, menuitem: Param0) -> ::windows::runtime::Result<()>5063     pub fn SelectMenuItem<'a, Param0: ::windows::runtime::IntoParam<'a, RadialControllerMenuItem>>(&self, menuitem: Param0) -> ::windows::runtime::Result<()> {
5064         let this = self;
5065         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), menuitem.into_param().abi()).ok() }
5066     }
TrySelectPreviouslySelectedMenuItem(&self) -> ::windows::runtime::Result<bool>5067     pub fn TrySelectPreviouslySelectedMenuItem(&self) -> ::windows::runtime::Result<bool> {
5068         let this = self;
5069         unsafe {
5070             let mut result__: bool = ::std::mem::zeroed();
5071             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5072         }
5073     }
5074 }
5075 unsafe impl ::windows::runtime::RuntimeType for RadialControllerMenu {
5076     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerMenu;{8506b35d-f640-4412-aba0-bad077e5ea8a})");
5077 }
5078 unsafe impl ::windows::runtime::Interface for RadialControllerMenu {
5079     type Vtable = IRadialControllerMenu_abi;
5080     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2231808861, 63040, 17426, [171, 160, 186, 208, 119, 229, 234, 138]);
5081 }
5082 impl ::windows::runtime::RuntimeName for RadialControllerMenu {
5083     const NAME: &'static str = "Windows.UI.Input.RadialControllerMenu";
5084 }
5085 impl ::std::convert::From<RadialControllerMenu> for ::windows::runtime::IUnknown {
from(value: RadialControllerMenu) -> Self5086     fn from(value: RadialControllerMenu) -> Self {
5087         unsafe { ::std::mem::transmute(value) }
5088     }
5089 }
5090 impl ::std::convert::From<&RadialControllerMenu> for ::windows::runtime::IUnknown {
from(value: &RadialControllerMenu) -> Self5091     fn from(value: &RadialControllerMenu) -> Self {
5092         ::std::convert::From::from(::std::clone::Clone::clone(value))
5093     }
5094 }
5095 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerMenu {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5096     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5097         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5098     }
5099 }
5100 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerMenu {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5101     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5102         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5103     }
5104 }
5105 impl ::std::convert::From<RadialControllerMenu> for ::windows::runtime::IInspectable {
from(value: RadialControllerMenu) -> Self5106     fn from(value: RadialControllerMenu) -> Self {
5107         value.0
5108     }
5109 }
5110 impl ::std::convert::From<&RadialControllerMenu> for ::windows::runtime::IInspectable {
from(value: &RadialControllerMenu) -> Self5111     fn from(value: &RadialControllerMenu) -> Self {
5112         value.0.clone()
5113     }
5114 }
5115 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerMenu {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5116     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5117         ::windows::runtime::Param::Owned(self.0)
5118     }
5119 }
5120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerMenu {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5122         ::windows::runtime::Param::Borrowed(&self.0)
5123     }
5124 }
5125 unsafe impl ::std::marker::Send for RadialControllerMenu {}
5126 unsafe impl ::std::marker::Sync for RadialControllerMenu {}
5127 #[repr(transparent)]
5128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5129 pub struct RadialControllerMenuItem(::windows::runtime::IInspectable);
5130 impl RadialControllerMenuItem {
DisplayText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5131     pub fn DisplayText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5132         let this = self;
5133         unsafe {
5134             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5135             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5136         }
5137     }
Tag(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable>5138     pub fn Tag(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
5139         let this = self;
5140         unsafe {
5141             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5142             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
5143         }
5144     }
SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, value: Param0) -> ::windows::runtime::Result<()>5145     pub fn SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5146         let this = self;
5147         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5148     }
5149     #[cfg(feature = "Foundation")]
Invoked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialControllerMenuItem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5150     pub fn Invoked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<RadialControllerMenuItem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5151         let this = self;
5152         unsafe {
5153             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5154             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5155         }
5156     }
5157     #[cfg(feature = "Foundation")]
RemoveInvoked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5158     pub fn RemoveInvoked<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5159         let this = self;
5160         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5161     }
5162     #[cfg(feature = "Storage_Streams")]
CreateFromIcon<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::RandomAccessStreamReference>>(displaytext: Param0, icon: Param1) -> ::windows::runtime::Result<RadialControllerMenuItem>5163     pub fn CreateFromIcon<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::RandomAccessStreamReference>>(displaytext: Param0, icon: Param1) -> ::windows::runtime::Result<RadialControllerMenuItem> {
5164         Self::IRadialControllerMenuItemStatics(|this| unsafe {
5165             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5166             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), displaytext.into_param().abi(), icon.into_param().abi(), &mut result__).from_abi::<RadialControllerMenuItem>(result__)
5167         })
5168     }
CreateFromKnownIcon<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(displaytext: Param0, value: RadialControllerMenuKnownIcon) -> ::windows::runtime::Result<RadialControllerMenuItem>5169     pub fn CreateFromKnownIcon<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(displaytext: Param0, value: RadialControllerMenuKnownIcon) -> ::windows::runtime::Result<RadialControllerMenuItem> {
5170         Self::IRadialControllerMenuItemStatics(|this| unsafe {
5171             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5172             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), displaytext.into_param().abi(), value, &mut result__).from_abi::<RadialControllerMenuItem>(result__)
5173         })
5174     }
CreateFromFontGlyph<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(displaytext: Param0, glyph: Param1, fontfamily: Param2) -> ::windows::runtime::Result<RadialControllerMenuItem>5175     pub fn CreateFromFontGlyph<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(displaytext: Param0, glyph: Param1, fontfamily: Param2) -> ::windows::runtime::Result<RadialControllerMenuItem> {
5176         Self::IRadialControllerMenuItemStatics2(|this| unsafe {
5177             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5178             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), displaytext.into_param().abi(), glyph.into_param().abi(), fontfamily.into_param().abi(), &mut result__).from_abi::<RadialControllerMenuItem>(result__)
5179         })
5180     }
5181     #[cfg(feature = "Foundation")]
CreateFromFontGlyphWithUri<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(displaytext: Param0, glyph: Param1, fontfamily: Param2, fonturi: Param3) -> ::windows::runtime::Result<RadialControllerMenuItem>5182     pub fn CreateFromFontGlyphWithUri<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(displaytext: Param0, glyph: Param1, fontfamily: Param2, fonturi: Param3) -> ::windows::runtime::Result<RadialControllerMenuItem> {
5183         Self::IRadialControllerMenuItemStatics2(|this| unsafe {
5184             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5185             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), displaytext.into_param().abi(), glyph.into_param().abi(), fontfamily.into_param().abi(), fonturi.into_param().abi(), &mut result__).from_abi::<RadialControllerMenuItem>(result__)
5186         })
5187     }
IRadialControllerMenuItemStatics<R, F: FnOnce(&IRadialControllerMenuItemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5188     pub fn IRadialControllerMenuItemStatics<R, F: FnOnce(&IRadialControllerMenuItemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5189         static mut SHARED: ::windows::runtime::FactoryCache<RadialControllerMenuItem, IRadialControllerMenuItemStatics> = ::windows::runtime::FactoryCache::new();
5190         unsafe { SHARED.call(callback) }
5191     }
IRadialControllerMenuItemStatics2<R, F: FnOnce(&IRadialControllerMenuItemStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5192     pub fn IRadialControllerMenuItemStatics2<R, F: FnOnce(&IRadialControllerMenuItemStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5193         static mut SHARED: ::windows::runtime::FactoryCache<RadialControllerMenuItem, IRadialControllerMenuItemStatics2> = ::windows::runtime::FactoryCache::new();
5194         unsafe { SHARED.call(callback) }
5195     }
5196 }
5197 unsafe impl ::windows::runtime::RuntimeType for RadialControllerMenuItem {
5198     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerMenuItem;{c80fc98d-ad0b-4c9c-8f2f-136a2373a6ba})");
5199 }
5200 unsafe impl ::windows::runtime::Interface for RadialControllerMenuItem {
5201     type Vtable = IRadialControllerMenuItem_abi;
5202     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3356477837, 44299, 19612, [143, 47, 19, 106, 35, 115, 166, 186]);
5203 }
5204 impl ::windows::runtime::RuntimeName for RadialControllerMenuItem {
5205     const NAME: &'static str = "Windows.UI.Input.RadialControllerMenuItem";
5206 }
5207 impl ::std::convert::From<RadialControllerMenuItem> for ::windows::runtime::IUnknown {
from(value: RadialControllerMenuItem) -> Self5208     fn from(value: RadialControllerMenuItem) -> Self {
5209         unsafe { ::std::mem::transmute(value) }
5210     }
5211 }
5212 impl ::std::convert::From<&RadialControllerMenuItem> for ::windows::runtime::IUnknown {
from(value: &RadialControllerMenuItem) -> Self5213     fn from(value: &RadialControllerMenuItem) -> Self {
5214         ::std::convert::From::from(::std::clone::Clone::clone(value))
5215     }
5216 }
5217 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerMenuItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5218     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5219         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5220     }
5221 }
5222 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerMenuItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5223     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5224         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5225     }
5226 }
5227 impl ::std::convert::From<RadialControllerMenuItem> for ::windows::runtime::IInspectable {
from(value: RadialControllerMenuItem) -> Self5228     fn from(value: RadialControllerMenuItem) -> Self {
5229         value.0
5230     }
5231 }
5232 impl ::std::convert::From<&RadialControllerMenuItem> for ::windows::runtime::IInspectable {
from(value: &RadialControllerMenuItem) -> Self5233     fn from(value: &RadialControllerMenuItem) -> Self {
5234         value.0.clone()
5235     }
5236 }
5237 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerMenuItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5238     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5239         ::windows::runtime::Param::Owned(self.0)
5240     }
5241 }
5242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerMenuItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5244         ::windows::runtime::Param::Borrowed(&self.0)
5245     }
5246 }
5247 unsafe impl ::std::marker::Send for RadialControllerMenuItem {}
5248 unsafe impl ::std::marker::Sync for RadialControllerMenuItem {}
5249 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5250 #[repr(transparent)]
5251 pub struct RadialControllerMenuKnownIcon(pub i32);
5252 impl RadialControllerMenuKnownIcon {
5253     pub const Scroll: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(0i32);
5254     pub const Zoom: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(1i32);
5255     pub const UndoRedo: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(2i32);
5256     pub const Volume: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(3i32);
5257     pub const NextPreviousTrack: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(4i32);
5258     pub const Ruler: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(5i32);
5259     pub const InkColor: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(6i32);
5260     pub const InkThickness: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(7i32);
5261     pub const PenType: RadialControllerMenuKnownIcon = RadialControllerMenuKnownIcon(8i32);
5262 }
5263 impl ::std::convert::From<i32> for RadialControllerMenuKnownIcon {
from(value: i32) -> Self5264     fn from(value: i32) -> Self {
5265         Self(value)
5266     }
5267 }
5268 unsafe impl ::windows::runtime::Abi for RadialControllerMenuKnownIcon {
5269     type Abi = Self;
5270     type DefaultType = Self;
5271 }
5272 unsafe impl ::windows::runtime::RuntimeType for RadialControllerMenuKnownIcon {
5273     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.RadialControllerMenuKnownIcon;i4)");
5274 }
5275 #[repr(transparent)]
5276 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5277 pub struct RadialControllerRotationChangedEventArgs(::windows::runtime::IInspectable);
5278 impl RadialControllerRotationChangedEventArgs {
RotationDeltaInDegrees(&self) -> ::windows::runtime::Result<f64>5279     pub fn RotationDeltaInDegrees(&self) -> ::windows::runtime::Result<f64> {
5280         let this = self;
5281         unsafe {
5282             let mut result__: f64 = ::std::mem::zeroed();
5283             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
5284         }
5285     }
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>5286     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
5287         let this = self;
5288         unsafe {
5289             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5290             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
5291         }
5292     }
IsButtonPressed(&self) -> ::windows::runtime::Result<bool>5293     pub fn IsButtonPressed(&self) -> ::windows::runtime::Result<bool> {
5294         let this = &::windows::runtime::Interface::cast::<IRadialControllerRotationChangedEventArgs2>(self)?;
5295         unsafe {
5296             let mut result__: bool = ::std::mem::zeroed();
5297             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5298         }
5299     }
5300     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>5301     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
5302         let this = &::windows::runtime::Interface::cast::<IRadialControllerRotationChangedEventArgs2>(self)?;
5303         unsafe {
5304             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5305             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
5306         }
5307     }
5308 }
5309 unsafe impl ::windows::runtime::RuntimeType for RadialControllerRotationChangedEventArgs {
5310     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerRotationChangedEventArgs;{206aa435-e651-11e5-bf62-2c27d7404e85})");
5311 }
5312 unsafe impl ::windows::runtime::Interface for RadialControllerRotationChangedEventArgs {
5313     type Vtable = IRadialControllerRotationChangedEventArgs_abi;
5314     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859765, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
5315 }
5316 impl ::windows::runtime::RuntimeName for RadialControllerRotationChangedEventArgs {
5317     const NAME: &'static str = "Windows.UI.Input.RadialControllerRotationChangedEventArgs";
5318 }
5319 impl ::std::convert::From<RadialControllerRotationChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerRotationChangedEventArgs) -> Self5320     fn from(value: RadialControllerRotationChangedEventArgs) -> Self {
5321         unsafe { ::std::mem::transmute(value) }
5322     }
5323 }
5324 impl ::std::convert::From<&RadialControllerRotationChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerRotationChangedEventArgs) -> Self5325     fn from(value: &RadialControllerRotationChangedEventArgs) -> Self {
5326         ::std::convert::From::from(::std::clone::Clone::clone(value))
5327     }
5328 }
5329 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerRotationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5330     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5331         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5332     }
5333 }
5334 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerRotationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5335     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5336         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5337     }
5338 }
5339 impl ::std::convert::From<RadialControllerRotationChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerRotationChangedEventArgs) -> Self5340     fn from(value: RadialControllerRotationChangedEventArgs) -> Self {
5341         value.0
5342     }
5343 }
5344 impl ::std::convert::From<&RadialControllerRotationChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerRotationChangedEventArgs) -> Self5345     fn from(value: &RadialControllerRotationChangedEventArgs) -> Self {
5346         value.0.clone()
5347     }
5348 }
5349 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerRotationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5350     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5351         ::windows::runtime::Param::Owned(self.0)
5352     }
5353 }
5354 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerRotationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5355     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5356         ::windows::runtime::Param::Borrowed(&self.0)
5357     }
5358 }
5359 unsafe impl ::std::marker::Send for RadialControllerRotationChangedEventArgs {}
5360 unsafe impl ::std::marker::Sync for RadialControllerRotationChangedEventArgs {}
5361 #[repr(transparent)]
5362 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5363 pub struct RadialControllerScreenContact(::windows::runtime::IInspectable);
5364 impl RadialControllerScreenContact {
5365     #[cfg(feature = "Foundation")]
Bounds(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect>5366     pub fn Bounds(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect> {
5367         let this = self;
5368         unsafe {
5369             let mut result__: super::super::Foundation::Rect = ::std::mem::zeroed();
5370             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Rect>(result__)
5371         }
5372     }
5373     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>5374     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
5375         let this = self;
5376         unsafe {
5377             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
5378             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
5379         }
5380     }
5381 }
5382 unsafe impl ::windows::runtime::RuntimeType for RadialControllerScreenContact {
5383     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerScreenContact;{206aa434-e651-11e5-bf62-2c27d7404e85})");
5384 }
5385 unsafe impl ::windows::runtime::Interface for RadialControllerScreenContact {
5386     type Vtable = IRadialControllerScreenContact_abi;
5387     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859764, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
5388 }
5389 impl ::windows::runtime::RuntimeName for RadialControllerScreenContact {
5390     const NAME: &'static str = "Windows.UI.Input.RadialControllerScreenContact";
5391 }
5392 impl ::std::convert::From<RadialControllerScreenContact> for ::windows::runtime::IUnknown {
from(value: RadialControllerScreenContact) -> Self5393     fn from(value: RadialControllerScreenContact) -> Self {
5394         unsafe { ::std::mem::transmute(value) }
5395     }
5396 }
5397 impl ::std::convert::From<&RadialControllerScreenContact> for ::windows::runtime::IUnknown {
from(value: &RadialControllerScreenContact) -> Self5398     fn from(value: &RadialControllerScreenContact) -> Self {
5399         ::std::convert::From::from(::std::clone::Clone::clone(value))
5400     }
5401 }
5402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerScreenContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5404         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5405     }
5406 }
5407 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerScreenContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5408     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5409         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5410     }
5411 }
5412 impl ::std::convert::From<RadialControllerScreenContact> for ::windows::runtime::IInspectable {
from(value: RadialControllerScreenContact) -> Self5413     fn from(value: RadialControllerScreenContact) -> Self {
5414         value.0
5415     }
5416 }
5417 impl ::std::convert::From<&RadialControllerScreenContact> for ::windows::runtime::IInspectable {
from(value: &RadialControllerScreenContact) -> Self5418     fn from(value: &RadialControllerScreenContact) -> Self {
5419         value.0.clone()
5420     }
5421 }
5422 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerScreenContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5423     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5424         ::windows::runtime::Param::Owned(self.0)
5425     }
5426 }
5427 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerScreenContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5428     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5429         ::windows::runtime::Param::Borrowed(&self.0)
5430     }
5431 }
5432 unsafe impl ::std::marker::Send for RadialControllerScreenContact {}
5433 unsafe impl ::std::marker::Sync for RadialControllerScreenContact {}
5434 #[repr(transparent)]
5435 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5436 pub struct RadialControllerScreenContactContinuedEventArgs(::windows::runtime::IInspectable);
5437 impl RadialControllerScreenContactContinuedEventArgs {
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>5438     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
5439         let this = self;
5440         unsafe {
5441             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5442             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
5443         }
5444     }
IsButtonPressed(&self) -> ::windows::runtime::Result<bool>5445     pub fn IsButtonPressed(&self) -> ::windows::runtime::Result<bool> {
5446         let this = &::windows::runtime::Interface::cast::<IRadialControllerScreenContactContinuedEventArgs2>(self)?;
5447         unsafe {
5448             let mut result__: bool = ::std::mem::zeroed();
5449             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5450         }
5451     }
5452     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>5453     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
5454         let this = &::windows::runtime::Interface::cast::<IRadialControllerScreenContactContinuedEventArgs2>(self)?;
5455         unsafe {
5456             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5457             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
5458         }
5459     }
5460 }
5461 unsafe impl ::windows::runtime::RuntimeType for RadialControllerScreenContactContinuedEventArgs {
5462     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerScreenContactContinuedEventArgs;{206aa437-e651-11e5-bf62-2c27d7404e85})");
5463 }
5464 unsafe impl ::windows::runtime::Interface for RadialControllerScreenContactContinuedEventArgs {
5465     type Vtable = IRadialControllerScreenContactContinuedEventArgs_abi;
5466     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859767, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
5467 }
5468 impl ::windows::runtime::RuntimeName for RadialControllerScreenContactContinuedEventArgs {
5469     const NAME: &'static str = "Windows.UI.Input.RadialControllerScreenContactContinuedEventArgs";
5470 }
5471 impl ::std::convert::From<RadialControllerScreenContactContinuedEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerScreenContactContinuedEventArgs) -> Self5472     fn from(value: RadialControllerScreenContactContinuedEventArgs) -> Self {
5473         unsafe { ::std::mem::transmute(value) }
5474     }
5475 }
5476 impl ::std::convert::From<&RadialControllerScreenContactContinuedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerScreenContactContinuedEventArgs) -> Self5477     fn from(value: &RadialControllerScreenContactContinuedEventArgs) -> Self {
5478         ::std::convert::From::from(::std::clone::Clone::clone(value))
5479     }
5480 }
5481 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerScreenContactContinuedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5482     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5483         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5484     }
5485 }
5486 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerScreenContactContinuedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5487     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5488         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5489     }
5490 }
5491 impl ::std::convert::From<RadialControllerScreenContactContinuedEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerScreenContactContinuedEventArgs) -> Self5492     fn from(value: RadialControllerScreenContactContinuedEventArgs) -> Self {
5493         value.0
5494     }
5495 }
5496 impl ::std::convert::From<&RadialControllerScreenContactContinuedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerScreenContactContinuedEventArgs) -> Self5497     fn from(value: &RadialControllerScreenContactContinuedEventArgs) -> Self {
5498         value.0.clone()
5499     }
5500 }
5501 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerScreenContactContinuedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5502     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5503         ::windows::runtime::Param::Owned(self.0)
5504     }
5505 }
5506 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerScreenContactContinuedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5507     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5508         ::windows::runtime::Param::Borrowed(&self.0)
5509     }
5510 }
5511 unsafe impl ::std::marker::Send for RadialControllerScreenContactContinuedEventArgs {}
5512 unsafe impl ::std::marker::Sync for RadialControllerScreenContactContinuedEventArgs {}
5513 #[repr(transparent)]
5514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5515 pub struct RadialControllerScreenContactEndedEventArgs(::windows::runtime::IInspectable);
5516 impl RadialControllerScreenContactEndedEventArgs {
IsButtonPressed(&self) -> ::windows::runtime::Result<bool>5517     pub fn IsButtonPressed(&self) -> ::windows::runtime::Result<bool> {
5518         let this = self;
5519         unsafe {
5520             let mut result__: bool = ::std::mem::zeroed();
5521             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5522         }
5523     }
5524     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>5525     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
5526         let this = self;
5527         unsafe {
5528             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5529             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
5530         }
5531     }
5532 }
5533 unsafe impl ::windows::runtime::RuntimeType for RadialControllerScreenContactEndedEventArgs {
5534     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerScreenContactEndedEventArgs;{3d577ef2-3cee-11e6-b535-001bdc06ab3b})");
5535 }
5536 unsafe impl ::windows::runtime::Interface for RadialControllerScreenContactEndedEventArgs {
5537     type Vtable = IRadialControllerScreenContactEndedEventArgs_abi;
5538     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029144306, 15598, 4582, [181, 53, 0, 27, 220, 6, 171, 59]);
5539 }
5540 impl ::windows::runtime::RuntimeName for RadialControllerScreenContactEndedEventArgs {
5541     const NAME: &'static str = "Windows.UI.Input.RadialControllerScreenContactEndedEventArgs";
5542 }
5543 impl ::std::convert::From<RadialControllerScreenContactEndedEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerScreenContactEndedEventArgs) -> Self5544     fn from(value: RadialControllerScreenContactEndedEventArgs) -> Self {
5545         unsafe { ::std::mem::transmute(value) }
5546     }
5547 }
5548 impl ::std::convert::From<&RadialControllerScreenContactEndedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerScreenContactEndedEventArgs) -> Self5549     fn from(value: &RadialControllerScreenContactEndedEventArgs) -> Self {
5550         ::std::convert::From::from(::std::clone::Clone::clone(value))
5551     }
5552 }
5553 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerScreenContactEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5554     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5555         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5556     }
5557 }
5558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerScreenContactEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5560         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5561     }
5562 }
5563 impl ::std::convert::From<RadialControllerScreenContactEndedEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerScreenContactEndedEventArgs) -> Self5564     fn from(value: RadialControllerScreenContactEndedEventArgs) -> Self {
5565         value.0
5566     }
5567 }
5568 impl ::std::convert::From<&RadialControllerScreenContactEndedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerScreenContactEndedEventArgs) -> Self5569     fn from(value: &RadialControllerScreenContactEndedEventArgs) -> Self {
5570         value.0.clone()
5571     }
5572 }
5573 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerScreenContactEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5574     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5575         ::windows::runtime::Param::Owned(self.0)
5576     }
5577 }
5578 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerScreenContactEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5579     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5580         ::windows::runtime::Param::Borrowed(&self.0)
5581     }
5582 }
5583 unsafe impl ::std::marker::Send for RadialControllerScreenContactEndedEventArgs {}
5584 unsafe impl ::std::marker::Sync for RadialControllerScreenContactEndedEventArgs {}
5585 #[repr(transparent)]
5586 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5587 pub struct RadialControllerScreenContactStartedEventArgs(::windows::runtime::IInspectable);
5588 impl RadialControllerScreenContactStartedEventArgs {
Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact>5589     pub fn Contact(&self) -> ::windows::runtime::Result<RadialControllerScreenContact> {
5590         let this = self;
5591         unsafe {
5592             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5593             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RadialControllerScreenContact>(result__)
5594         }
5595     }
IsButtonPressed(&self) -> ::windows::runtime::Result<bool>5596     pub fn IsButtonPressed(&self) -> ::windows::runtime::Result<bool> {
5597         let this = &::windows::runtime::Interface::cast::<IRadialControllerScreenContactStartedEventArgs2>(self)?;
5598         unsafe {
5599             let mut result__: bool = ::std::mem::zeroed();
5600             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5601         }
5602     }
5603     #[cfg(feature = "Devices_Haptics")]
SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController>5604     pub fn SimpleHapticsController(&self) -> ::windows::runtime::Result<super::super::Devices::Haptics::SimpleHapticsController> {
5605         let this = &::windows::runtime::Interface::cast::<IRadialControllerScreenContactStartedEventArgs2>(self)?;
5606         unsafe {
5607             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5608             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Haptics::SimpleHapticsController>(result__)
5609         }
5610     }
5611 }
5612 unsafe impl ::windows::runtime::RuntimeType for RadialControllerScreenContactStartedEventArgs {
5613     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RadialControllerScreenContactStartedEventArgs;{206aa436-e651-11e5-bf62-2c27d7404e85})");
5614 }
5615 unsafe impl ::windows::runtime::Interface for RadialControllerScreenContactStartedEventArgs {
5616     type Vtable = IRadialControllerScreenContactStartedEventArgs_abi;
5617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543859766, 58961, 4581, [191, 98, 44, 39, 215, 64, 78, 133]);
5618 }
5619 impl ::windows::runtime::RuntimeName for RadialControllerScreenContactStartedEventArgs {
5620     const NAME: &'static str = "Windows.UI.Input.RadialControllerScreenContactStartedEventArgs";
5621 }
5622 impl ::std::convert::From<RadialControllerScreenContactStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: RadialControllerScreenContactStartedEventArgs) -> Self5623     fn from(value: RadialControllerScreenContactStartedEventArgs) -> Self {
5624         unsafe { ::std::mem::transmute(value) }
5625     }
5626 }
5627 impl ::std::convert::From<&RadialControllerScreenContactStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RadialControllerScreenContactStartedEventArgs) -> Self5628     fn from(value: &RadialControllerScreenContactStartedEventArgs) -> Self {
5629         ::std::convert::From::from(::std::clone::Clone::clone(value))
5630     }
5631 }
5632 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RadialControllerScreenContactStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5633     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5634         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5635     }
5636 }
5637 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RadialControllerScreenContactStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5638     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5639         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5640     }
5641 }
5642 impl ::std::convert::From<RadialControllerScreenContactStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: RadialControllerScreenContactStartedEventArgs) -> Self5643     fn from(value: RadialControllerScreenContactStartedEventArgs) -> Self {
5644         value.0
5645     }
5646 }
5647 impl ::std::convert::From<&RadialControllerScreenContactStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RadialControllerScreenContactStartedEventArgs) -> Self5648     fn from(value: &RadialControllerScreenContactStartedEventArgs) -> Self {
5649         value.0.clone()
5650     }
5651 }
5652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RadialControllerScreenContactStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5654         ::windows::runtime::Param::Owned(self.0)
5655     }
5656 }
5657 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RadialControllerScreenContactStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5658     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5659         ::windows::runtime::Param::Borrowed(&self.0)
5660     }
5661 }
5662 unsafe impl ::std::marker::Send for RadialControllerScreenContactStartedEventArgs {}
5663 unsafe impl ::std::marker::Sync for RadialControllerScreenContactStartedEventArgs {}
5664 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5665 #[repr(transparent)]
5666 pub struct RadialControllerSystemMenuItemKind(pub i32);
5667 impl RadialControllerSystemMenuItemKind {
5668     pub const Scroll: RadialControllerSystemMenuItemKind = RadialControllerSystemMenuItemKind(0i32);
5669     pub const Zoom: RadialControllerSystemMenuItemKind = RadialControllerSystemMenuItemKind(1i32);
5670     pub const UndoRedo: RadialControllerSystemMenuItemKind = RadialControllerSystemMenuItemKind(2i32);
5671     pub const Volume: RadialControllerSystemMenuItemKind = RadialControllerSystemMenuItemKind(3i32);
5672     pub const NextPreviousTrack: RadialControllerSystemMenuItemKind = RadialControllerSystemMenuItemKind(4i32);
5673 }
5674 impl ::std::convert::From<i32> for RadialControllerSystemMenuItemKind {
from(value: i32) -> Self5675     fn from(value: i32) -> Self {
5676         Self(value)
5677     }
5678 }
5679 unsafe impl ::windows::runtime::Abi for RadialControllerSystemMenuItemKind {
5680     type Abi = Self;
5681     type DefaultType = Self;
5682 }
5683 unsafe impl ::windows::runtime::RuntimeType for RadialControllerSystemMenuItemKind {
5684     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.RadialControllerSystemMenuItemKind;i4)");
5685 }
5686 #[repr(transparent)]
5687 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5688 pub struct RightTappedEventArgs(::windows::runtime::IInspectable);
5689 impl RightTappedEventArgs {
5690     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>5691     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
5692         let this = self;
5693         unsafe {
5694             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
5695             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
5696         }
5697     }
5698     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>5699     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
5700         let this = self;
5701         unsafe {
5702             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
5703             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
5704         }
5705     }
ContactCount(&self) -> ::windows::runtime::Result<u32>5706     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
5707         let this = &::windows::runtime::Interface::cast::<IRightTappedEventArgs2>(self)?;
5708         unsafe {
5709             let mut result__: u32 = ::std::mem::zeroed();
5710             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
5711         }
5712     }
5713 }
5714 unsafe impl ::windows::runtime::RuntimeType for RightTappedEventArgs {
5715     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.RightTappedEventArgs;{4cbf40bd-af7a-4a36-9476-b1dce141709a})");
5716 }
5717 unsafe impl ::windows::runtime::Interface for RightTappedEventArgs {
5718     type Vtable = IRightTappedEventArgs_abi;
5719     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1287602365, 44922, 18998, [148, 118, 177, 220, 225, 65, 112, 154]);
5720 }
5721 impl ::windows::runtime::RuntimeName for RightTappedEventArgs {
5722     const NAME: &'static str = "Windows.UI.Input.RightTappedEventArgs";
5723 }
5724 impl ::std::convert::From<RightTappedEventArgs> for ::windows::runtime::IUnknown {
from(value: RightTappedEventArgs) -> Self5725     fn from(value: RightTappedEventArgs) -> Self {
5726         unsafe { ::std::mem::transmute(value) }
5727     }
5728 }
5729 impl ::std::convert::From<&RightTappedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RightTappedEventArgs) -> Self5730     fn from(value: &RightTappedEventArgs) -> Self {
5731         ::std::convert::From::from(::std::clone::Clone::clone(value))
5732     }
5733 }
5734 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RightTappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5735     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5736         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5737     }
5738 }
5739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RightTappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5741         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5742     }
5743 }
5744 impl ::std::convert::From<RightTappedEventArgs> for ::windows::runtime::IInspectable {
from(value: RightTappedEventArgs) -> Self5745     fn from(value: RightTappedEventArgs) -> Self {
5746         value.0
5747     }
5748 }
5749 impl ::std::convert::From<&RightTappedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RightTappedEventArgs) -> Self5750     fn from(value: &RightTappedEventArgs) -> Self {
5751         value.0.clone()
5752     }
5753 }
5754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RightTappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5756         ::windows::runtime::Param::Owned(self.0)
5757     }
5758 }
5759 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RightTappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5760     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5761         ::windows::runtime::Param::Borrowed(&self.0)
5762     }
5763 }
5764 #[repr(transparent)]
5765 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5766 pub struct SystemButtonEventController(::windows::runtime::IInspectable);
5767 impl SystemButtonEventController {
5768     #[cfg(feature = "Foundation")]
SystemFunctionButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionButtonEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5769     pub fn SystemFunctionButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionButtonEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5770         let this = self;
5771         unsafe {
5772             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5773             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5774         }
5775     }
5776     #[cfg(feature = "Foundation")]
RemoveSystemFunctionButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5777     pub fn RemoveSystemFunctionButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5778         let this = self;
5779         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5780     }
5781     #[cfg(feature = "Foundation")]
SystemFunctionButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionButtonEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5782     pub fn SystemFunctionButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionButtonEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5783         let this = self;
5784         unsafe {
5785             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5786             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5787         }
5788     }
5789     #[cfg(feature = "Foundation")]
RemoveSystemFunctionButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5790     pub fn RemoveSystemFunctionButtonReleased<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5791         let this = self;
5792         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5793     }
5794     #[cfg(feature = "Foundation")]
SystemFunctionLockChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionLockChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5795     pub fn SystemFunctionLockChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionLockChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5796         let this = self;
5797         unsafe {
5798             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5799             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5800         }
5801     }
5802     #[cfg(feature = "Foundation")]
RemoveSystemFunctionLockChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5803     pub fn RemoveSystemFunctionLockChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5804         let this = self;
5805         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5806     }
5807     #[cfg(feature = "Foundation")]
SystemFunctionLockIndicatorChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionLockIndicatorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5808     pub fn SystemFunctionLockIndicatorChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SystemButtonEventController, SystemFunctionLockIndicatorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5809         let this = self;
5810         unsafe {
5811             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5812             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5813         }
5814     }
5815     #[cfg(feature = "Foundation")]
RemoveSystemFunctionLockIndicatorChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5816     pub fn RemoveSystemFunctionLockIndicatorChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5817         let this = self;
5818         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5819     }
5820     #[cfg(feature = "System")]
CreateForDispatcherQueue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::DispatcherQueue>>(queue: Param0) -> ::windows::runtime::Result<SystemButtonEventController>5821     pub fn CreateForDispatcherQueue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::DispatcherQueue>>(queue: Param0) -> ::windows::runtime::Result<SystemButtonEventController> {
5822         Self::ISystemButtonEventControllerStatics(|this| unsafe {
5823             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5824             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), queue.into_param().abi(), &mut result__).from_abi::<SystemButtonEventController>(result__)
5825         })
5826     }
5827     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>5828     pub fn Close(&self) -> ::windows::runtime::Result<()> {
5829         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
5830         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
5831     }
ISystemButtonEventControllerStatics<R, F: FnOnce(&ISystemButtonEventControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5832     pub fn ISystemButtonEventControllerStatics<R, F: FnOnce(&ISystemButtonEventControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5833         static mut SHARED: ::windows::runtime::FactoryCache<SystemButtonEventController, ISystemButtonEventControllerStatics> = ::windows::runtime::FactoryCache::new();
5834         unsafe { SHARED.call(callback) }
5835     }
5836 }
5837 unsafe impl ::windows::runtime::RuntimeType for SystemButtonEventController {
5838     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.SystemButtonEventController;{59b893a9-73bc-52b5-ba41-82511b2cb46c})");
5839 }
5840 unsafe impl ::windows::runtime::Interface for SystemButtonEventController {
5841     type Vtable = ISystemButtonEventController_abi;
5842     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1505268649, 29628, 21173, [186, 65, 130, 81, 27, 44, 180, 108]);
5843 }
5844 impl ::windows::runtime::RuntimeName for SystemButtonEventController {
5845     const NAME: &'static str = "Windows.UI.Input.SystemButtonEventController";
5846 }
5847 impl ::std::convert::From<SystemButtonEventController> for ::windows::runtime::IUnknown {
from(value: SystemButtonEventController) -> Self5848     fn from(value: SystemButtonEventController) -> Self {
5849         unsafe { ::std::mem::transmute(value) }
5850     }
5851 }
5852 impl ::std::convert::From<&SystemButtonEventController> for ::windows::runtime::IUnknown {
from(value: &SystemButtonEventController) -> Self5853     fn from(value: &SystemButtonEventController) -> Self {
5854         ::std::convert::From::from(::std::clone::Clone::clone(value))
5855     }
5856 }
5857 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5858     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5859         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5860     }
5861 }
5862 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5863     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5864         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5865     }
5866 }
5867 impl ::std::convert::From<SystemButtonEventController> for ::windows::runtime::IInspectable {
from(value: SystemButtonEventController) -> Self5868     fn from(value: SystemButtonEventController) -> Self {
5869         value.0
5870     }
5871 }
5872 impl ::std::convert::From<&SystemButtonEventController> for ::windows::runtime::IInspectable {
from(value: &SystemButtonEventController) -> Self5873     fn from(value: &SystemButtonEventController) -> Self {
5874         value.0.clone()
5875     }
5876 }
5877 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5878     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5879         ::windows::runtime::Param::Owned(self.0)
5880     }
5881 }
5882 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5883     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5884         ::windows::runtime::Param::Borrowed(&self.0)
5885     }
5886 }
5887 #[cfg(feature = "Foundation")]
5888 impl ::std::convert::TryFrom<SystemButtonEventController> for super::super::Foundation::IClosable {
5889     type Error = ::windows::runtime::Error;
try_from(value: SystemButtonEventController) -> ::windows::runtime::Result<Self>5890     fn try_from(value: SystemButtonEventController) -> ::windows::runtime::Result<Self> {
5891         ::std::convert::TryFrom::try_from(&value)
5892     }
5893 }
5894 #[cfg(feature = "Foundation")]
5895 impl ::std::convert::TryFrom<&SystemButtonEventController> for super::super::Foundation::IClosable {
5896     type Error = ::windows::runtime::Error;
try_from(value: &SystemButtonEventController) -> ::windows::runtime::Result<Self>5897     fn try_from(value: &SystemButtonEventController) -> ::windows::runtime::Result<Self> {
5898         ::windows::runtime::Interface::cast(value)
5899     }
5900 }
5901 #[cfg(feature = "Foundation")]
5902 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5903     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5904         ::windows::runtime::IntoParam::into_param(&self)
5905     }
5906 }
5907 #[cfg(feature = "Foundation")]
5908 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5909     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5910         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5911     }
5912 }
5913 impl ::std::convert::From<SystemButtonEventController> for AttachableInputObject {
from(value: SystemButtonEventController) -> Self5914     fn from(value: SystemButtonEventController) -> Self {
5915         ::std::convert::Into::<AttachableInputObject>::into(&value)
5916     }
5917 }
5918 impl ::std::convert::From<&SystemButtonEventController> for AttachableInputObject {
from(value: &SystemButtonEventController) -> Self5919     fn from(value: &SystemButtonEventController) -> Self {
5920         ::windows::runtime::Interface::cast(value).unwrap()
5921     }
5922 }
5923 impl<'a> ::windows::runtime::IntoParam<'a, AttachableInputObject> for SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject>5924     fn into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject> {
5925         ::windows::runtime::Param::Owned(::std::convert::Into::<AttachableInputObject>::into(self))
5926     }
5927 }
5928 impl<'a> ::windows::runtime::IntoParam<'a, AttachableInputObject> for &SystemButtonEventController {
into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject>5929     fn into_param(self) -> ::windows::runtime::Param<'a, AttachableInputObject> {
5930         ::windows::runtime::Param::Owned(::std::convert::Into::<AttachableInputObject>::into(::std::clone::Clone::clone(self)))
5931     }
5932 }
5933 unsafe impl ::std::marker::Send for SystemButtonEventController {}
5934 unsafe impl ::std::marker::Sync for SystemButtonEventController {}
5935 #[repr(transparent)]
5936 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5937 pub struct SystemFunctionButtonEventArgs(::windows::runtime::IInspectable);
5938 impl SystemFunctionButtonEventArgs {
Timestamp(&self) -> ::windows::runtime::Result<u64>5939     pub fn Timestamp(&self) -> ::windows::runtime::Result<u64> {
5940         let this = self;
5941         unsafe {
5942             let mut result__: u64 = ::std::mem::zeroed();
5943             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
5944         }
5945     }
Handled(&self) -> ::windows::runtime::Result<bool>5946     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
5947         let this = self;
5948         unsafe {
5949             let mut result__: bool = ::std::mem::zeroed();
5950             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5951         }
5952     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>5953     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
5954         let this = self;
5955         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
5956     }
5957 }
5958 unsafe impl ::windows::runtime::RuntimeType for SystemFunctionButtonEventArgs {
5959     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.SystemFunctionButtonEventArgs;{4833896f-80d1-5dd6-92a7-62a508ffef5a})");
5960 }
5961 unsafe impl ::windows::runtime::Interface for SystemFunctionButtonEventArgs {
5962     type Vtable = ISystemFunctionButtonEventArgs_abi;
5963     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1211337071, 32977, 24022, [146, 167, 98, 165, 8, 255, 239, 90]);
5964 }
5965 impl ::windows::runtime::RuntimeName for SystemFunctionButtonEventArgs {
5966     const NAME: &'static str = "Windows.UI.Input.SystemFunctionButtonEventArgs";
5967 }
5968 impl ::std::convert::From<SystemFunctionButtonEventArgs> for ::windows::runtime::IUnknown {
from(value: SystemFunctionButtonEventArgs) -> Self5969     fn from(value: SystemFunctionButtonEventArgs) -> Self {
5970         unsafe { ::std::mem::transmute(value) }
5971     }
5972 }
5973 impl ::std::convert::From<&SystemFunctionButtonEventArgs> for ::windows::runtime::IUnknown {
from(value: &SystemFunctionButtonEventArgs) -> Self5974     fn from(value: &SystemFunctionButtonEventArgs) -> Self {
5975         ::std::convert::From::from(::std::clone::Clone::clone(value))
5976     }
5977 }
5978 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemFunctionButtonEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5979     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5980         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5981     }
5982 }
5983 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemFunctionButtonEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5984     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5985         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5986     }
5987 }
5988 impl ::std::convert::From<SystemFunctionButtonEventArgs> for ::windows::runtime::IInspectable {
from(value: SystemFunctionButtonEventArgs) -> Self5989     fn from(value: SystemFunctionButtonEventArgs) -> Self {
5990         value.0
5991     }
5992 }
5993 impl ::std::convert::From<&SystemFunctionButtonEventArgs> for ::windows::runtime::IInspectable {
from(value: &SystemFunctionButtonEventArgs) -> Self5994     fn from(value: &SystemFunctionButtonEventArgs) -> Self {
5995         value.0.clone()
5996     }
5997 }
5998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemFunctionButtonEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6000         ::windows::runtime::Param::Owned(self.0)
6001     }
6002 }
6003 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemFunctionButtonEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6004     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6005         ::windows::runtime::Param::Borrowed(&self.0)
6006     }
6007 }
6008 unsafe impl ::std::marker::Send for SystemFunctionButtonEventArgs {}
6009 unsafe impl ::std::marker::Sync for SystemFunctionButtonEventArgs {}
6010 #[repr(transparent)]
6011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6012 pub struct SystemFunctionLockChangedEventArgs(::windows::runtime::IInspectable);
6013 impl SystemFunctionLockChangedEventArgs {
Timestamp(&self) -> ::windows::runtime::Result<u64>6014     pub fn Timestamp(&self) -> ::windows::runtime::Result<u64> {
6015         let this = self;
6016         unsafe {
6017             let mut result__: u64 = ::std::mem::zeroed();
6018             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
6019         }
6020     }
IsLocked(&self) -> ::windows::runtime::Result<bool>6021     pub fn IsLocked(&self) -> ::windows::runtime::Result<bool> {
6022         let this = self;
6023         unsafe {
6024             let mut result__: bool = ::std::mem::zeroed();
6025             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6026         }
6027     }
Handled(&self) -> ::windows::runtime::Result<bool>6028     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
6029         let this = self;
6030         unsafe {
6031             let mut result__: bool = ::std::mem::zeroed();
6032             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6033         }
6034     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>6035     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
6036         let this = self;
6037         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
6038     }
6039 }
6040 unsafe impl ::windows::runtime::RuntimeType for SystemFunctionLockChangedEventArgs {
6041     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.SystemFunctionLockChangedEventArgs;{cd040608-fcf9-585c-beab-f1d2eaf364ab})");
6042 }
6043 unsafe impl ::windows::runtime::Interface for SystemFunctionLockChangedEventArgs {
6044     type Vtable = ISystemFunctionLockChangedEventArgs_abi;
6045     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3439592968, 64761, 22620, [190, 171, 241, 210, 234, 243, 100, 171]);
6046 }
6047 impl ::windows::runtime::RuntimeName for SystemFunctionLockChangedEventArgs {
6048     const NAME: &'static str = "Windows.UI.Input.SystemFunctionLockChangedEventArgs";
6049 }
6050 impl ::std::convert::From<SystemFunctionLockChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: SystemFunctionLockChangedEventArgs) -> Self6051     fn from(value: SystemFunctionLockChangedEventArgs) -> Self {
6052         unsafe { ::std::mem::transmute(value) }
6053     }
6054 }
6055 impl ::std::convert::From<&SystemFunctionLockChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &SystemFunctionLockChangedEventArgs) -> Self6056     fn from(value: &SystemFunctionLockChangedEventArgs) -> Self {
6057         ::std::convert::From::from(::std::clone::Clone::clone(value))
6058     }
6059 }
6060 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemFunctionLockChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6061     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6062         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6063     }
6064 }
6065 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemFunctionLockChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6066     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6067         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6068     }
6069 }
6070 impl ::std::convert::From<SystemFunctionLockChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: SystemFunctionLockChangedEventArgs) -> Self6071     fn from(value: SystemFunctionLockChangedEventArgs) -> Self {
6072         value.0
6073     }
6074 }
6075 impl ::std::convert::From<&SystemFunctionLockChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &SystemFunctionLockChangedEventArgs) -> Self6076     fn from(value: &SystemFunctionLockChangedEventArgs) -> Self {
6077         value.0.clone()
6078     }
6079 }
6080 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemFunctionLockChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6081     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6082         ::windows::runtime::Param::Owned(self.0)
6083     }
6084 }
6085 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemFunctionLockChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6086     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6087         ::windows::runtime::Param::Borrowed(&self.0)
6088     }
6089 }
6090 unsafe impl ::std::marker::Send for SystemFunctionLockChangedEventArgs {}
6091 unsafe impl ::std::marker::Sync for SystemFunctionLockChangedEventArgs {}
6092 #[repr(transparent)]
6093 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6094 pub struct SystemFunctionLockIndicatorChangedEventArgs(::windows::runtime::IInspectable);
6095 impl SystemFunctionLockIndicatorChangedEventArgs {
Timestamp(&self) -> ::windows::runtime::Result<u64>6096     pub fn Timestamp(&self) -> ::windows::runtime::Result<u64> {
6097         let this = self;
6098         unsafe {
6099             let mut result__: u64 = ::std::mem::zeroed();
6100             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
6101         }
6102     }
IsIndicatorOn(&self) -> ::windows::runtime::Result<bool>6103     pub fn IsIndicatorOn(&self) -> ::windows::runtime::Result<bool> {
6104         let this = self;
6105         unsafe {
6106             let mut result__: bool = ::std::mem::zeroed();
6107             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6108         }
6109     }
Handled(&self) -> ::windows::runtime::Result<bool>6110     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
6111         let this = self;
6112         unsafe {
6113             let mut result__: bool = ::std::mem::zeroed();
6114             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6115         }
6116     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>6117     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
6118         let this = self;
6119         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
6120     }
6121 }
6122 unsafe impl ::windows::runtime::RuntimeType for SystemFunctionLockIndicatorChangedEventArgs {
6123     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.SystemFunctionLockIndicatorChangedEventArgs;{b212b94e-7a6f-58ae-b304-bae61d0371b9})");
6124 }
6125 unsafe impl ::windows::runtime::Interface for SystemFunctionLockIndicatorChangedEventArgs {
6126     type Vtable = ISystemFunctionLockIndicatorChangedEventArgs_abi;
6127     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2987571534, 31343, 22702, [179, 4, 186, 230, 29, 3, 113, 185]);
6128 }
6129 impl ::windows::runtime::RuntimeName for SystemFunctionLockIndicatorChangedEventArgs {
6130     const NAME: &'static str = "Windows.UI.Input.SystemFunctionLockIndicatorChangedEventArgs";
6131 }
6132 impl ::std::convert::From<SystemFunctionLockIndicatorChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: SystemFunctionLockIndicatorChangedEventArgs) -> Self6133     fn from(value: SystemFunctionLockIndicatorChangedEventArgs) -> Self {
6134         unsafe { ::std::mem::transmute(value) }
6135     }
6136 }
6137 impl ::std::convert::From<&SystemFunctionLockIndicatorChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &SystemFunctionLockIndicatorChangedEventArgs) -> Self6138     fn from(value: &SystemFunctionLockIndicatorChangedEventArgs) -> Self {
6139         ::std::convert::From::from(::std::clone::Clone::clone(value))
6140     }
6141 }
6142 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemFunctionLockIndicatorChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6143     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6144         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6145     }
6146 }
6147 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemFunctionLockIndicatorChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6148     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6149         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6150     }
6151 }
6152 impl ::std::convert::From<SystemFunctionLockIndicatorChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: SystemFunctionLockIndicatorChangedEventArgs) -> Self6153     fn from(value: SystemFunctionLockIndicatorChangedEventArgs) -> Self {
6154         value.0
6155     }
6156 }
6157 impl ::std::convert::From<&SystemFunctionLockIndicatorChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &SystemFunctionLockIndicatorChangedEventArgs) -> Self6158     fn from(value: &SystemFunctionLockIndicatorChangedEventArgs) -> Self {
6159         value.0.clone()
6160     }
6161 }
6162 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemFunctionLockIndicatorChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6163     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6164         ::windows::runtime::Param::Owned(self.0)
6165     }
6166 }
6167 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemFunctionLockIndicatorChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6168     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6169         ::windows::runtime::Param::Borrowed(&self.0)
6170     }
6171 }
6172 unsafe impl ::std::marker::Send for SystemFunctionLockIndicatorChangedEventArgs {}
6173 unsafe impl ::std::marker::Sync for SystemFunctionLockIndicatorChangedEventArgs {}
6174 #[repr(transparent)]
6175 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6176 pub struct TappedEventArgs(::windows::runtime::IInspectable);
6177 impl TappedEventArgs {
6178     #[cfg(feature = "Devices_Input")]
PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType>6179     pub fn PointerDeviceType(&self) -> ::windows::runtime::Result<super::super::Devices::Input::PointerDeviceType> {
6180         let this = self;
6181         unsafe {
6182             let mut result__: super::super::Devices::Input::PointerDeviceType = ::std::mem::zeroed();
6183             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Input::PointerDeviceType>(result__)
6184         }
6185     }
6186     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point>6187     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::Point> {
6188         let this = self;
6189         unsafe {
6190             let mut result__: super::super::Foundation::Point = ::std::mem::zeroed();
6191             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Point>(result__)
6192         }
6193     }
TapCount(&self) -> ::windows::runtime::Result<u32>6194     pub fn TapCount(&self) -> ::windows::runtime::Result<u32> {
6195         let this = self;
6196         unsafe {
6197             let mut result__: u32 = ::std::mem::zeroed();
6198             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
6199         }
6200     }
ContactCount(&self) -> ::windows::runtime::Result<u32>6201     pub fn ContactCount(&self) -> ::windows::runtime::Result<u32> {
6202         let this = &::windows::runtime::Interface::cast::<ITappedEventArgs2>(self)?;
6203         unsafe {
6204             let mut result__: u32 = ::std::mem::zeroed();
6205             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
6206         }
6207     }
6208 }
6209 unsafe impl ::windows::runtime::RuntimeType for TappedEventArgs {
6210     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.TappedEventArgs;{cfa126e4-253a-4c3c-953b-395c37aed309})");
6211 }
6212 unsafe impl ::windows::runtime::Interface for TappedEventArgs {
6213     type Vtable = ITappedEventArgs_abi;
6214     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3483444964, 9530, 19516, [149, 59, 57, 92, 55, 174, 211, 9]);
6215 }
6216 impl ::windows::runtime::RuntimeName for TappedEventArgs {
6217     const NAME: &'static str = "Windows.UI.Input.TappedEventArgs";
6218 }
6219 impl ::std::convert::From<TappedEventArgs> for ::windows::runtime::IUnknown {
from(value: TappedEventArgs) -> Self6220     fn from(value: TappedEventArgs) -> Self {
6221         unsafe { ::std::mem::transmute(value) }
6222     }
6223 }
6224 impl ::std::convert::From<&TappedEventArgs> for ::windows::runtime::IUnknown {
from(value: &TappedEventArgs) -> Self6225     fn from(value: &TappedEventArgs) -> Self {
6226         ::std::convert::From::from(::std::clone::Clone::clone(value))
6227     }
6228 }
6229 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for TappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6230     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6231         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6232     }
6233 }
6234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &TappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6235     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6236         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6237     }
6238 }
6239 impl ::std::convert::From<TappedEventArgs> for ::windows::runtime::IInspectable {
from(value: TappedEventArgs) -> Self6240     fn from(value: TappedEventArgs) -> Self {
6241         value.0
6242     }
6243 }
6244 impl ::std::convert::From<&TappedEventArgs> for ::windows::runtime::IInspectable {
from(value: &TappedEventArgs) -> Self6245     fn from(value: &TappedEventArgs) -> Self {
6246         value.0.clone()
6247     }
6248 }
6249 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for TappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6250     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6251         ::windows::runtime::Param::Owned(self.0)
6252     }
6253 }
6254 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a TappedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6255     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6256         ::windows::runtime::Param::Borrowed(&self.0)
6257     }
6258 }
6259