1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3 #[repr(C)]
4 pub struct HolographicAdapterId {
5     pub LowPart: u32,
6     pub HighPart: i32,
7 }
8 impl HolographicAdapterId {}
9 impl ::std::default::Default for HolographicAdapterId {
default() -> Self10     fn default() -> Self {
11         unsafe { ::std::mem::zeroed() }
12     }
13 }
14 impl ::std::fmt::Debug for HolographicAdapterId {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result15     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16         fmt.debug_struct("HolographicAdapterId").field("LowPart", &self.LowPart).field("HighPart", &self.HighPart).finish()
17     }
18 }
19 impl ::std::cmp::PartialEq for HolographicAdapterId {
eq(&self, other: &Self) -> bool20     fn eq(&self, other: &Self) -> bool {
21         self.LowPart == other.LowPart && self.HighPart == other.HighPart
22     }
23 }
24 impl ::std::cmp::Eq for HolographicAdapterId {}
25 unsafe impl ::windows::runtime::Abi for HolographicAdapterId {
26     type Abi = Self;
27     type DefaultType = Self;
28 }
29 unsafe impl ::windows::runtime::RuntimeType for HolographicAdapterId {
30     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.Graphics.Holographic.HolographicAdapterId;u4;i4)");
31 }
32 #[repr(transparent)]
33 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
34 pub struct HolographicCamera(::windows::runtime::IInspectable);
35 impl HolographicCamera {
36     #[cfg(feature = "Foundation")]
RenderTargetSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size>37     pub fn RenderTargetSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size> {
38         let this = self;
39         unsafe {
40             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
41             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
42         }
43     }
ViewportScaleFactor(&self) -> ::windows::runtime::Result<f64>44     pub fn ViewportScaleFactor(&self) -> ::windows::runtime::Result<f64> {
45         let this = self;
46         unsafe {
47             let mut result__: f64 = ::std::mem::zeroed();
48             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
49         }
50     }
SetViewportScaleFactor(&self, value: f64) -> ::windows::runtime::Result<()>51     pub fn SetViewportScaleFactor(&self, value: f64) -> ::windows::runtime::Result<()> {
52         let this = self;
53         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
54     }
IsStereo(&self) -> ::windows::runtime::Result<bool>55     pub fn IsStereo(&self) -> ::windows::runtime::Result<bool> {
56         let this = self;
57         unsafe {
58             let mut result__: bool = ::std::mem::zeroed();
59             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
60         }
61     }
Id(&self) -> ::windows::runtime::Result<u32>62     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
63         let this = self;
64         unsafe {
65             let mut result__: u32 = ::std::mem::zeroed();
66             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
67         }
68     }
SetNearPlaneDistance(&self, value: f64) -> ::windows::runtime::Result<()>69     pub fn SetNearPlaneDistance(&self, value: f64) -> ::windows::runtime::Result<()> {
70         let this = self;
71         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
72     }
SetFarPlaneDistance(&self, value: f64) -> ::windows::runtime::Result<()>73     pub fn SetFarPlaneDistance(&self, value: f64) -> ::windows::runtime::Result<()> {
74         let this = self;
75         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
76     }
LeftViewportParameters(&self) -> ::windows::runtime::Result<HolographicCameraViewportParameters>77     pub fn LeftViewportParameters(&self) -> ::windows::runtime::Result<HolographicCameraViewportParameters> {
78         let this = &::windows::runtime::Interface::cast::<IHolographicCamera2>(self)?;
79         unsafe {
80             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
81             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicCameraViewportParameters>(result__)
82         }
83     }
RightViewportParameters(&self) -> ::windows::runtime::Result<HolographicCameraViewportParameters>84     pub fn RightViewportParameters(&self) -> ::windows::runtime::Result<HolographicCameraViewportParameters> {
85         let this = &::windows::runtime::Interface::cast::<IHolographicCamera2>(self)?;
86         unsafe {
87             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
88             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicCameraViewportParameters>(result__)
89         }
90     }
Display(&self) -> ::windows::runtime::Result<HolographicDisplay>91     pub fn Display(&self) -> ::windows::runtime::Result<HolographicDisplay> {
92         let this = &::windows::runtime::Interface::cast::<IHolographicCamera2>(self)?;
93         unsafe {
94             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
95             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicDisplay>(result__)
96         }
97     }
IsPrimaryLayerEnabled(&self) -> ::windows::runtime::Result<bool>98     pub fn IsPrimaryLayerEnabled(&self) -> ::windows::runtime::Result<bool> {
99         let this = &::windows::runtime::Interface::cast::<IHolographicCamera3>(self)?;
100         unsafe {
101             let mut result__: bool = ::std::mem::zeroed();
102             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
103         }
104     }
SetIsPrimaryLayerEnabled(&self, value: bool) -> ::windows::runtime::Result<()>105     pub fn SetIsPrimaryLayerEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
106         let this = &::windows::runtime::Interface::cast::<IHolographicCamera3>(self)?;
107         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
108     }
MaxQuadLayerCount(&self) -> ::windows::runtime::Result<u32>109     pub fn MaxQuadLayerCount(&self) -> ::windows::runtime::Result<u32> {
110         let this = &::windows::runtime::Interface::cast::<IHolographicCamera3>(self)?;
111         unsafe {
112             let mut result__: u32 = ::std::mem::zeroed();
113             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
114         }
115     }
116     #[cfg(feature = "Foundation_Collections")]
QuadLayers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<HolographicQuadLayer>>117     pub fn QuadLayers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<HolographicQuadLayer>> {
118         let this = &::windows::runtime::Interface::cast::<IHolographicCamera3>(self)?;
119         unsafe {
120             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
121             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<HolographicQuadLayer>>(result__)
122         }
123     }
CanOverrideViewport(&self) -> ::windows::runtime::Result<bool>124     pub fn CanOverrideViewport(&self) -> ::windows::runtime::Result<bool> {
125         let this = &::windows::runtime::Interface::cast::<IHolographicCamera4>(self)?;
126         unsafe {
127             let mut result__: bool = ::std::mem::zeroed();
128             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
129         }
130     }
IsHardwareContentProtectionSupported(&self) -> ::windows::runtime::Result<bool>131     pub fn IsHardwareContentProtectionSupported(&self) -> ::windows::runtime::Result<bool> {
132         let this = &::windows::runtime::Interface::cast::<IHolographicCamera5>(self)?;
133         unsafe {
134             let mut result__: bool = ::std::mem::zeroed();
135             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
136         }
137     }
IsHardwareContentProtectionEnabled(&self) -> ::windows::runtime::Result<bool>138     pub fn IsHardwareContentProtectionEnabled(&self) -> ::windows::runtime::Result<bool> {
139         let this = &::windows::runtime::Interface::cast::<IHolographicCamera5>(self)?;
140         unsafe {
141             let mut result__: bool = ::std::mem::zeroed();
142             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
143         }
144     }
SetIsHardwareContentProtectionEnabled(&self, value: bool) -> ::windows::runtime::Result<()>145     pub fn SetIsHardwareContentProtectionEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
146         let this = &::windows::runtime::Interface::cast::<IHolographicCamera5>(self)?;
147         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
148     }
ViewConfiguration(&self) -> ::windows::runtime::Result<HolographicViewConfiguration>149     pub fn ViewConfiguration(&self) -> ::windows::runtime::Result<HolographicViewConfiguration> {
150         let this = &::windows::runtime::Interface::cast::<IHolographicCamera6>(self)?;
151         unsafe {
152             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
153             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicViewConfiguration>(result__)
154         }
155     }
156 }
157 unsafe impl ::windows::runtime::RuntimeType for HolographicCamera {
158     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicCamera;{e4e98445-9bed-4980-9ba0-e87680d1cb74})");
159 }
160 unsafe impl ::windows::runtime::Interface for HolographicCamera {
161     type Vtable = IHolographicCamera_abi;
162     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3840508997, 39917, 18816, [155, 160, 232, 118, 128, 209, 203, 116]);
163 }
164 impl ::windows::runtime::RuntimeName for HolographicCamera {
165     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicCamera";
166 }
167 impl ::std::convert::From<HolographicCamera> for ::windows::runtime::IUnknown {
from(value: HolographicCamera) -> Self168     fn from(value: HolographicCamera) -> Self {
169         unsafe { ::std::mem::transmute(value) }
170     }
171 }
172 impl ::std::convert::From<&HolographicCamera> for ::windows::runtime::IUnknown {
from(value: &HolographicCamera) -> Self173     fn from(value: &HolographicCamera) -> Self {
174         ::std::convert::From::from(::std::clone::Clone::clone(value))
175     }
176 }
177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicCamera {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
179         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
180     }
181 }
182 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicCamera {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>183     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
184         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
185     }
186 }
187 impl ::std::convert::From<HolographicCamera> for ::windows::runtime::IInspectable {
from(value: HolographicCamera) -> Self188     fn from(value: HolographicCamera) -> Self {
189         value.0
190     }
191 }
192 impl ::std::convert::From<&HolographicCamera> for ::windows::runtime::IInspectable {
from(value: &HolographicCamera) -> Self193     fn from(value: &HolographicCamera) -> Self {
194         value.0.clone()
195     }
196 }
197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicCamera {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
199         ::windows::runtime::Param::Owned(self.0)
200     }
201 }
202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicCamera {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>203     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
204         ::windows::runtime::Param::Borrowed(&self.0)
205     }
206 }
207 unsafe impl ::std::marker::Send for HolographicCamera {}
208 unsafe impl ::std::marker::Sync for HolographicCamera {}
209 #[repr(transparent)]
210 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
211 pub struct HolographicCameraPose(::windows::runtime::IInspectable);
212 impl HolographicCameraPose {
HolographicCamera(&self) -> ::windows::runtime::Result<HolographicCamera>213     pub fn HolographicCamera(&self) -> ::windows::runtime::Result<HolographicCamera> {
214         let this = self;
215         unsafe {
216             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
217             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicCamera>(result__)
218         }
219     }
220     #[cfg(feature = "Foundation")]
Viewport(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect>221     pub fn Viewport(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect> {
222         let this = self;
223         unsafe {
224             let mut result__: super::super::Foundation::Rect = ::std::mem::zeroed();
225             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Rect>(result__)
226         }
227     }
228     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
TryGetViewTransform<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>(&self, coordinatesystem: Param0) -> ::windows::runtime::Result<super::super::Foundation::IReference<HolographicStereoTransform>>229     pub fn TryGetViewTransform<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>(&self, coordinatesystem: Param0) -> ::windows::runtime::Result<super::super::Foundation::IReference<HolographicStereoTransform>> {
230         let this = self;
231         unsafe {
232             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
233             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IReference<HolographicStereoTransform>>(result__)
234         }
235     }
236     #[cfg(feature = "Foundation_Numerics")]
ProjectionTransform(&self) -> ::windows::runtime::Result<HolographicStereoTransform>237     pub fn ProjectionTransform(&self) -> ::windows::runtime::Result<HolographicStereoTransform> {
238         let this = self;
239         unsafe {
240             let mut result__: HolographicStereoTransform = ::std::mem::zeroed();
241             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicStereoTransform>(result__)
242         }
243     }
244     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
TryGetCullingFrustum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>(&self, coordinatesystem: Param0) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Perception::Spatial::SpatialBoundingFrustum>>245     pub fn TryGetCullingFrustum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>(&self, coordinatesystem: Param0) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Perception::Spatial::SpatialBoundingFrustum>> {
246         let this = self;
247         unsafe {
248             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
249             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Perception::Spatial::SpatialBoundingFrustum>>(result__)
250         }
251     }
252     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
TryGetVisibleFrustum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>(&self, coordinatesystem: Param0) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Perception::Spatial::SpatialBoundingFrustum>>253     pub fn TryGetVisibleFrustum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>>(&self, coordinatesystem: Param0) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Perception::Spatial::SpatialBoundingFrustum>> {
254         let this = self;
255         unsafe {
256             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
257             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Perception::Spatial::SpatialBoundingFrustum>>(result__)
258         }
259     }
NearPlaneDistance(&self) -> ::windows::runtime::Result<f64>260     pub fn NearPlaneDistance(&self) -> ::windows::runtime::Result<f64> {
261         let this = self;
262         unsafe {
263             let mut result__: f64 = ::std::mem::zeroed();
264             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
265         }
266     }
FarPlaneDistance(&self) -> ::windows::runtime::Result<f64>267     pub fn FarPlaneDistance(&self) -> ::windows::runtime::Result<f64> {
268         let this = self;
269         unsafe {
270             let mut result__: f64 = ::std::mem::zeroed();
271             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
272         }
273     }
274     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
OverrideViewTransform<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, HolographicStereoTransform>>(&self, coordinatesystem: Param0, coordinatesystemtoviewtransform: Param1) -> ::windows::runtime::Result<()>275     pub fn OverrideViewTransform<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, HolographicStereoTransform>>(&self, coordinatesystem: Param0, coordinatesystemtoviewtransform: Param1) -> ::windows::runtime::Result<()> {
276         let this = &::windows::runtime::Interface::cast::<IHolographicCameraPose2>(self)?;
277         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), coordinatesystemtoviewtransform.into_param().abi()).ok() }
278     }
279     #[cfg(feature = "Foundation_Numerics")]
OverrideProjectionTransform<'a, Param0: ::windows::runtime::IntoParam<'a, HolographicStereoTransform>>(&self, projectiontransform: Param0) -> ::windows::runtime::Result<()>280     pub fn OverrideProjectionTransform<'a, Param0: ::windows::runtime::IntoParam<'a, HolographicStereoTransform>>(&self, projectiontransform: Param0) -> ::windows::runtime::Result<()> {
281         let this = &::windows::runtime::Interface::cast::<IHolographicCameraPose2>(self)?;
282         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), projectiontransform.into_param().abi()).ok() }
283     }
284     #[cfg(feature = "Foundation")]
OverrideViewport<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, leftviewport: Param0, rightviewport: Param1) -> ::windows::runtime::Result<()>285     pub fn OverrideViewport<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, leftviewport: Param0, rightviewport: Param1) -> ::windows::runtime::Result<()> {
286         let this = &::windows::runtime::Interface::cast::<IHolographicCameraPose2>(self)?;
287         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), leftviewport.into_param().abi(), rightviewport.into_param().abi()).ok() }
288     }
289 }
290 unsafe impl ::windows::runtime::RuntimeType for HolographicCameraPose {
291     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicCameraPose;{0d7d7e30-12de-45bd-912b-c7f6561599d1})");
292 }
293 unsafe impl ::windows::runtime::Interface for HolographicCameraPose {
294     type Vtable = IHolographicCameraPose_abi;
295     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(226328112, 4830, 17853, [145, 43, 199, 246, 86, 21, 153, 209]);
296 }
297 impl ::windows::runtime::RuntimeName for HolographicCameraPose {
298     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicCameraPose";
299 }
300 impl ::std::convert::From<HolographicCameraPose> for ::windows::runtime::IUnknown {
from(value: HolographicCameraPose) -> Self301     fn from(value: HolographicCameraPose) -> Self {
302         unsafe { ::std::mem::transmute(value) }
303     }
304 }
305 impl ::std::convert::From<&HolographicCameraPose> for ::windows::runtime::IUnknown {
from(value: &HolographicCameraPose) -> Self306     fn from(value: &HolographicCameraPose) -> Self {
307         ::std::convert::From::from(::std::clone::Clone::clone(value))
308     }
309 }
310 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicCameraPose {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>311     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
312         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
313     }
314 }
315 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicCameraPose {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>316     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
317         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
318     }
319 }
320 impl ::std::convert::From<HolographicCameraPose> for ::windows::runtime::IInspectable {
from(value: HolographicCameraPose) -> Self321     fn from(value: HolographicCameraPose) -> Self {
322         value.0
323     }
324 }
325 impl ::std::convert::From<&HolographicCameraPose> for ::windows::runtime::IInspectable {
from(value: &HolographicCameraPose) -> Self326     fn from(value: &HolographicCameraPose) -> Self {
327         value.0.clone()
328     }
329 }
330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicCameraPose {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
332         ::windows::runtime::Param::Owned(self.0)
333     }
334 }
335 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicCameraPose {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>336     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
337         ::windows::runtime::Param::Borrowed(&self.0)
338     }
339 }
340 unsafe impl ::std::marker::Send for HolographicCameraPose {}
341 unsafe impl ::std::marker::Sync for HolographicCameraPose {}
342 #[repr(transparent)]
343 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
344 pub struct HolographicCameraRenderingParameters(::windows::runtime::IInspectable);
345 impl HolographicCameraRenderingParameters {
346     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
SetFocusPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, coordinatesystem: Param0, position: Param1) -> ::windows::runtime::Result<()>347     pub fn SetFocusPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, coordinatesystem: Param0, position: Param1) -> ::windows::runtime::Result<()> {
348         let this = self;
349         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), position.into_param().abi()).ok() }
350     }
351     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
SetFocusPointWithNormal<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, coordinatesystem: Param0, position: Param1, normal: Param2) -> ::windows::runtime::Result<()>352     pub fn SetFocusPointWithNormal<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, coordinatesystem: Param0, position: Param1, normal: Param2) -> ::windows::runtime::Result<()> {
353         let this = self;
354         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), position.into_param().abi(), normal.into_param().abi()).ok() }
355     }
356     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
SetFocusPointWithNormalLinearVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>( &self, coordinatesystem: Param0, position: Param1, normal: Param2, linearvelocity: Param3, ) -> ::windows::runtime::Result<()>357     pub fn SetFocusPointWithNormalLinearVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(
358         &self,
359         coordinatesystem: Param0,
360         position: Param1,
361         normal: Param2,
362         linearvelocity: Param3,
363     ) -> ::windows::runtime::Result<()> {
364         let this = self;
365         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), position.into_param().abi(), normal.into_param().abi(), linearvelocity.into_param().abi()).ok() }
366     }
367     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
Direct3D11Device(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DDevice>368     pub fn Direct3D11Device(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DDevice> {
369         let this = self;
370         unsafe {
371             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
372             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::DirectX::Direct3D11::IDirect3DDevice>(result__)
373         }
374     }
375     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
Direct3D11BackBuffer(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DSurface>376     pub fn Direct3D11BackBuffer(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DSurface> {
377         let this = self;
378         unsafe {
379             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
380             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::DirectX::Direct3D11::IDirect3DSurface>(result__)
381         }
382     }
ReprojectionMode(&self) -> ::windows::runtime::Result<HolographicReprojectionMode>383     pub fn ReprojectionMode(&self) -> ::windows::runtime::Result<HolographicReprojectionMode> {
384         let this = &::windows::runtime::Interface::cast::<IHolographicCameraRenderingParameters2>(self)?;
385         unsafe {
386             let mut result__: HolographicReprojectionMode = ::std::mem::zeroed();
387             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicReprojectionMode>(result__)
388         }
389     }
SetReprojectionMode(&self, value: HolographicReprojectionMode) -> ::windows::runtime::Result<()>390     pub fn SetReprojectionMode(&self, value: HolographicReprojectionMode) -> ::windows::runtime::Result<()> {
391         let this = &::windows::runtime::Interface::cast::<IHolographicCameraRenderingParameters2>(self)?;
392         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
393     }
394     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
CommitDirect3D11DepthBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, super::DirectX::Direct3D11::IDirect3DSurface>>(&self, value: Param0) -> ::windows::runtime::Result<()>395     pub fn CommitDirect3D11DepthBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, super::DirectX::Direct3D11::IDirect3DSurface>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
396         let this = &::windows::runtime::Interface::cast::<IHolographicCameraRenderingParameters2>(self)?;
397         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
398     }
IsContentProtectionEnabled(&self) -> ::windows::runtime::Result<bool>399     pub fn IsContentProtectionEnabled(&self) -> ::windows::runtime::Result<bool> {
400         let this = &::windows::runtime::Interface::cast::<IHolographicCameraRenderingParameters3>(self)?;
401         unsafe {
402             let mut result__: bool = ::std::mem::zeroed();
403             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
404         }
405     }
SetIsContentProtectionEnabled(&self, value: bool) -> ::windows::runtime::Result<()>406     pub fn SetIsContentProtectionEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
407         let this = &::windows::runtime::Interface::cast::<IHolographicCameraRenderingParameters3>(self)?;
408         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
409     }
DepthReprojectionMethod(&self) -> ::windows::runtime::Result<HolographicDepthReprojectionMethod>410     pub fn DepthReprojectionMethod(&self) -> ::windows::runtime::Result<HolographicDepthReprojectionMethod> {
411         let this = &::windows::runtime::Interface::cast::<IHolographicCameraRenderingParameters4>(self)?;
412         unsafe {
413             let mut result__: HolographicDepthReprojectionMethod = ::std::mem::zeroed();
414             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicDepthReprojectionMethod>(result__)
415         }
416     }
SetDepthReprojectionMethod(&self, value: HolographicDepthReprojectionMethod) -> ::windows::runtime::Result<()>417     pub fn SetDepthReprojectionMethod(&self, value: HolographicDepthReprojectionMethod) -> ::windows::runtime::Result<()> {
418         let this = &::windows::runtime::Interface::cast::<IHolographicCameraRenderingParameters4>(self)?;
419         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
420     }
421 }
422 unsafe impl ::windows::runtime::RuntimeType for HolographicCameraRenderingParameters {
423     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicCameraRenderingParameters;{8eac2ed1-5bf4-4e16-8236-ae0800c11d0d})");
424 }
425 unsafe impl ::windows::runtime::Interface for HolographicCameraRenderingParameters {
426     type Vtable = IHolographicCameraRenderingParameters_abi;
427     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2393648849, 23540, 19990, [130, 54, 174, 8, 0, 193, 29, 13]);
428 }
429 impl ::windows::runtime::RuntimeName for HolographicCameraRenderingParameters {
430     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicCameraRenderingParameters";
431 }
432 impl ::std::convert::From<HolographicCameraRenderingParameters> for ::windows::runtime::IUnknown {
from(value: HolographicCameraRenderingParameters) -> Self433     fn from(value: HolographicCameraRenderingParameters) -> Self {
434         unsafe { ::std::mem::transmute(value) }
435     }
436 }
437 impl ::std::convert::From<&HolographicCameraRenderingParameters> for ::windows::runtime::IUnknown {
from(value: &HolographicCameraRenderingParameters) -> Self438     fn from(value: &HolographicCameraRenderingParameters) -> Self {
439         ::std::convert::From::from(::std::clone::Clone::clone(value))
440     }
441 }
442 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicCameraRenderingParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>443     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
444         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
445     }
446 }
447 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicCameraRenderingParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>448     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
449         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
450     }
451 }
452 impl ::std::convert::From<HolographicCameraRenderingParameters> for ::windows::runtime::IInspectable {
from(value: HolographicCameraRenderingParameters) -> Self453     fn from(value: HolographicCameraRenderingParameters) -> Self {
454         value.0
455     }
456 }
457 impl ::std::convert::From<&HolographicCameraRenderingParameters> for ::windows::runtime::IInspectable {
from(value: &HolographicCameraRenderingParameters) -> Self458     fn from(value: &HolographicCameraRenderingParameters) -> Self {
459         value.0.clone()
460     }
461 }
462 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicCameraRenderingParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>463     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
464         ::windows::runtime::Param::Owned(self.0)
465     }
466 }
467 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicCameraRenderingParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>468     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
469         ::windows::runtime::Param::Borrowed(&self.0)
470     }
471 }
472 unsafe impl ::std::marker::Send for HolographicCameraRenderingParameters {}
473 unsafe impl ::std::marker::Sync for HolographicCameraRenderingParameters {}
474 #[repr(transparent)]
475 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
476 pub struct HolographicCameraViewportParameters(::windows::runtime::IInspectable);
477 impl HolographicCameraViewportParameters {
478     #[cfg(feature = "Foundation_Numerics")]
HiddenAreaMesh(&self) -> ::windows::runtime::Result<::windows::runtime::Array<super::super::Foundation::Numerics::Vector2>>479     pub fn HiddenAreaMesh(&self) -> ::windows::runtime::Result<::windows::runtime::Array<super::super::Foundation::Numerics::Vector2>> {
480         let this = self;
481         unsafe {
482             let mut result__: ::windows::runtime::Array<super::super::Foundation::Numerics::Vector2> = ::std::mem::zeroed();
483             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), ::windows::runtime::Array::<super::super::Foundation::Numerics::Vector2>::set_abi_len(&mut result__), &mut result__ as *mut _ as _).and_then(|| result__)
484         }
485     }
486     #[cfg(feature = "Foundation_Numerics")]
VisibleAreaMesh(&self) -> ::windows::runtime::Result<::windows::runtime::Array<super::super::Foundation::Numerics::Vector2>>487     pub fn VisibleAreaMesh(&self) -> ::windows::runtime::Result<::windows::runtime::Array<super::super::Foundation::Numerics::Vector2>> {
488         let this = self;
489         unsafe {
490             let mut result__: ::windows::runtime::Array<super::super::Foundation::Numerics::Vector2> = ::std::mem::zeroed();
491             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), ::windows::runtime::Array::<super::super::Foundation::Numerics::Vector2>::set_abi_len(&mut result__), &mut result__ as *mut _ as _).and_then(|| result__)
492         }
493     }
494 }
495 unsafe impl ::windows::runtime::RuntimeType for HolographicCameraViewportParameters {
496     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicCameraViewportParameters;{80cdf3f7-842a-41e1-93ed-5692ab1fbb10})");
497 }
498 unsafe impl ::windows::runtime::Interface for HolographicCameraViewportParameters {
499     type Vtable = IHolographicCameraViewportParameters_abi;
500     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2160980983, 33834, 16865, [147, 237, 86, 146, 171, 31, 187, 16]);
501 }
502 impl ::windows::runtime::RuntimeName for HolographicCameraViewportParameters {
503     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicCameraViewportParameters";
504 }
505 impl ::std::convert::From<HolographicCameraViewportParameters> for ::windows::runtime::IUnknown {
from(value: HolographicCameraViewportParameters) -> Self506     fn from(value: HolographicCameraViewportParameters) -> Self {
507         unsafe { ::std::mem::transmute(value) }
508     }
509 }
510 impl ::std::convert::From<&HolographicCameraViewportParameters> for ::windows::runtime::IUnknown {
from(value: &HolographicCameraViewportParameters) -> Self511     fn from(value: &HolographicCameraViewportParameters) -> Self {
512         ::std::convert::From::from(::std::clone::Clone::clone(value))
513     }
514 }
515 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicCameraViewportParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>516     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
517         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
518     }
519 }
520 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicCameraViewportParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>521     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
522         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
523     }
524 }
525 impl ::std::convert::From<HolographicCameraViewportParameters> for ::windows::runtime::IInspectable {
from(value: HolographicCameraViewportParameters) -> Self526     fn from(value: HolographicCameraViewportParameters) -> Self {
527         value.0
528     }
529 }
530 impl ::std::convert::From<&HolographicCameraViewportParameters> for ::windows::runtime::IInspectable {
from(value: &HolographicCameraViewportParameters) -> Self531     fn from(value: &HolographicCameraViewportParameters) -> Self {
532         value.0.clone()
533     }
534 }
535 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicCameraViewportParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>536     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
537         ::windows::runtime::Param::Owned(self.0)
538     }
539 }
540 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicCameraViewportParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>541     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
542         ::windows::runtime::Param::Borrowed(&self.0)
543     }
544 }
545 unsafe impl ::std::marker::Send for HolographicCameraViewportParameters {}
546 unsafe impl ::std::marker::Sync for HolographicCameraViewportParameters {}
547 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
548 #[repr(transparent)]
549 pub struct HolographicDepthReprojectionMethod(pub i32);
550 impl HolographicDepthReprojectionMethod {
551     pub const DepthReprojection: HolographicDepthReprojectionMethod = HolographicDepthReprojectionMethod(0i32);
552     pub const AutoPlanar: HolographicDepthReprojectionMethod = HolographicDepthReprojectionMethod(1i32);
553 }
554 impl ::std::convert::From<i32> for HolographicDepthReprojectionMethod {
from(value: i32) -> Self555     fn from(value: i32) -> Self {
556         Self(value)
557     }
558 }
559 unsafe impl ::windows::runtime::Abi for HolographicDepthReprojectionMethod {
560     type Abi = Self;
561     type DefaultType = Self;
562 }
563 unsafe impl ::windows::runtime::RuntimeType for HolographicDepthReprojectionMethod {
564     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Graphics.Holographic.HolographicDepthReprojectionMethod;i4)");
565 }
566 #[repr(transparent)]
567 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
568 pub struct HolographicDisplay(::windows::runtime::IInspectable);
569 impl HolographicDisplay {
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>570     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
571         let this = self;
572         unsafe {
573             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
574             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
575         }
576     }
577     #[cfg(feature = "Foundation")]
MaxViewportSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size>578     pub fn MaxViewportSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size> {
579         let this = self;
580         unsafe {
581             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
582             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
583         }
584     }
IsStereo(&self) -> ::windows::runtime::Result<bool>585     pub fn IsStereo(&self) -> ::windows::runtime::Result<bool> {
586         let this = self;
587         unsafe {
588             let mut result__: bool = ::std::mem::zeroed();
589             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
590         }
591     }
IsOpaque(&self) -> ::windows::runtime::Result<bool>592     pub fn IsOpaque(&self) -> ::windows::runtime::Result<bool> {
593         let this = self;
594         unsafe {
595             let mut result__: bool = ::std::mem::zeroed();
596             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
597         }
598     }
AdapterId(&self) -> ::windows::runtime::Result<HolographicAdapterId>599     pub fn AdapterId(&self) -> ::windows::runtime::Result<HolographicAdapterId> {
600         let this = self;
601         unsafe {
602             let mut result__: HolographicAdapterId = ::std::mem::zeroed();
603             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicAdapterId>(result__)
604         }
605     }
606     #[cfg(feature = "Perception_Spatial")]
SpatialLocator(&self) -> ::windows::runtime::Result<super::super::Perception::Spatial::SpatialLocator>607     pub fn SpatialLocator(&self) -> ::windows::runtime::Result<super::super::Perception::Spatial::SpatialLocator> {
608         let this = self;
609         unsafe {
610             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
611             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Perception::Spatial::SpatialLocator>(result__)
612         }
613     }
GetDefault() -> ::windows::runtime::Result<HolographicDisplay>614     pub fn GetDefault() -> ::windows::runtime::Result<HolographicDisplay> {
615         Self::IHolographicDisplayStatics(|this| unsafe {
616             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
617             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicDisplay>(result__)
618         })
619     }
RefreshRate(&self) -> ::windows::runtime::Result<f64>620     pub fn RefreshRate(&self) -> ::windows::runtime::Result<f64> {
621         let this = &::windows::runtime::Interface::cast::<IHolographicDisplay2>(self)?;
622         unsafe {
623             let mut result__: f64 = ::std::mem::zeroed();
624             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
625         }
626     }
TryGetViewConfiguration(&self, kind: HolographicViewConfigurationKind) -> ::windows::runtime::Result<HolographicViewConfiguration>627     pub fn TryGetViewConfiguration(&self, kind: HolographicViewConfigurationKind) -> ::windows::runtime::Result<HolographicViewConfiguration> {
628         let this = &::windows::runtime::Interface::cast::<IHolographicDisplay3>(self)?;
629         unsafe {
630             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
631             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), kind, &mut result__).from_abi::<HolographicViewConfiguration>(result__)
632         }
633     }
IHolographicDisplayStatics<R, F: FnOnce(&IHolographicDisplayStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>634     pub fn IHolographicDisplayStatics<R, F: FnOnce(&IHolographicDisplayStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
635         static mut SHARED: ::windows::runtime::FactoryCache<HolographicDisplay, IHolographicDisplayStatics> = ::windows::runtime::FactoryCache::new();
636         unsafe { SHARED.call(callback) }
637     }
638 }
639 unsafe impl ::windows::runtime::RuntimeType for HolographicDisplay {
640     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicDisplay;{9acea414-1d9f-4090-a388-90c06f6eae9c})");
641 }
642 unsafe impl ::windows::runtime::Interface for HolographicDisplay {
643     type Vtable = IHolographicDisplay_abi;
644     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2597233684, 7583, 16528, [163, 136, 144, 192, 111, 110, 174, 156]);
645 }
646 impl ::windows::runtime::RuntimeName for HolographicDisplay {
647     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicDisplay";
648 }
649 impl ::std::convert::From<HolographicDisplay> for ::windows::runtime::IUnknown {
from(value: HolographicDisplay) -> Self650     fn from(value: HolographicDisplay) -> Self {
651         unsafe { ::std::mem::transmute(value) }
652     }
653 }
654 impl ::std::convert::From<&HolographicDisplay> for ::windows::runtime::IUnknown {
from(value: &HolographicDisplay) -> Self655     fn from(value: &HolographicDisplay) -> Self {
656         ::std::convert::From::from(::std::clone::Clone::clone(value))
657     }
658 }
659 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicDisplay {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>660     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
661         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
662     }
663 }
664 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicDisplay {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>665     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
666         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
667     }
668 }
669 impl ::std::convert::From<HolographicDisplay> for ::windows::runtime::IInspectable {
from(value: HolographicDisplay) -> Self670     fn from(value: HolographicDisplay) -> Self {
671         value.0
672     }
673 }
674 impl ::std::convert::From<&HolographicDisplay> for ::windows::runtime::IInspectable {
from(value: &HolographicDisplay) -> Self675     fn from(value: &HolographicDisplay) -> Self {
676         value.0.clone()
677     }
678 }
679 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicDisplay {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>680     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
681         ::windows::runtime::Param::Owned(self.0)
682     }
683 }
684 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicDisplay {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>685     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
686         ::windows::runtime::Param::Borrowed(&self.0)
687     }
688 }
689 unsafe impl ::std::marker::Send for HolographicDisplay {}
690 unsafe impl ::std::marker::Sync for HolographicDisplay {}
691 #[repr(transparent)]
692 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
693 pub struct HolographicFrame(::windows::runtime::IInspectable);
694 impl HolographicFrame {
695     #[cfg(feature = "Foundation_Collections")]
AddedCameras(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicCamera>>696     pub fn AddedCameras(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicCamera>> {
697         let this = self;
698         unsafe {
699             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
700             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<HolographicCamera>>(result__)
701         }
702     }
703     #[cfg(feature = "Foundation_Collections")]
RemovedCameras(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicCamera>>704     pub fn RemovedCameras(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicCamera>> {
705         let this = self;
706         unsafe {
707             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
708             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<HolographicCamera>>(result__)
709         }
710     }
GetRenderingParameters<'a, Param0: ::windows::runtime::IntoParam<'a, HolographicCameraPose>>(&self, camerapose: Param0) -> ::windows::runtime::Result<HolographicCameraRenderingParameters>711     pub fn GetRenderingParameters<'a, Param0: ::windows::runtime::IntoParam<'a, HolographicCameraPose>>(&self, camerapose: Param0) -> ::windows::runtime::Result<HolographicCameraRenderingParameters> {
712         let this = self;
713         unsafe {
714             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
715             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), camerapose.into_param().abi(), &mut result__).from_abi::<HolographicCameraRenderingParameters>(result__)
716         }
717     }
718     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>719     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
720         let this = self;
721         unsafe {
722             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
723             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
724         }
725     }
CurrentPrediction(&self) -> ::windows::runtime::Result<HolographicFramePrediction>726     pub fn CurrentPrediction(&self) -> ::windows::runtime::Result<HolographicFramePrediction> {
727         let this = self;
728         unsafe {
729             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
730             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicFramePrediction>(result__)
731         }
732     }
UpdateCurrentPrediction(&self) -> ::windows::runtime::Result<()>733     pub fn UpdateCurrentPrediction(&self) -> ::windows::runtime::Result<()> {
734         let this = self;
735         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this)).ok() }
736     }
PresentUsingCurrentPrediction(&self) -> ::windows::runtime::Result<HolographicFramePresentResult>737     pub fn PresentUsingCurrentPrediction(&self) -> ::windows::runtime::Result<HolographicFramePresentResult> {
738         let this = self;
739         unsafe {
740             let mut result__: HolographicFramePresentResult = ::std::mem::zeroed();
741             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicFramePresentResult>(result__)
742         }
743     }
PresentUsingCurrentPredictionWithBehavior(&self, waitbehavior: HolographicFramePresentWaitBehavior) -> ::windows::runtime::Result<HolographicFramePresentResult>744     pub fn PresentUsingCurrentPredictionWithBehavior(&self, waitbehavior: HolographicFramePresentWaitBehavior) -> ::windows::runtime::Result<HolographicFramePresentResult> {
745         let this = self;
746         unsafe {
747             let mut result__: HolographicFramePresentResult = ::std::mem::zeroed();
748             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), waitbehavior, &mut result__).from_abi::<HolographicFramePresentResult>(result__)
749         }
750     }
WaitForFrameToFinish(&self) -> ::windows::runtime::Result<()>751     pub fn WaitForFrameToFinish(&self) -> ::windows::runtime::Result<()> {
752         let this = self;
753         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this)).ok() }
754     }
GetQuadLayerUpdateParameters<'a, Param0: ::windows::runtime::IntoParam<'a, HolographicQuadLayer>>(&self, layer: Param0) -> ::windows::runtime::Result<HolographicQuadLayerUpdateParameters>755     pub fn GetQuadLayerUpdateParameters<'a, Param0: ::windows::runtime::IntoParam<'a, HolographicQuadLayer>>(&self, layer: Param0) -> ::windows::runtime::Result<HolographicQuadLayerUpdateParameters> {
756         let this = &::windows::runtime::Interface::cast::<IHolographicFrame2>(self)?;
757         unsafe {
758             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
759             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), layer.into_param().abi(), &mut result__).from_abi::<HolographicQuadLayerUpdateParameters>(result__)
760         }
761     }
Id(&self) -> ::windows::runtime::Result<HolographicFrameId>762     pub fn Id(&self) -> ::windows::runtime::Result<HolographicFrameId> {
763         let this = &::windows::runtime::Interface::cast::<IHolographicFrame3>(self)?;
764         unsafe {
765             let mut result__: HolographicFrameId = ::std::mem::zeroed();
766             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicFrameId>(result__)
767         }
768     }
769 }
770 unsafe impl ::windows::runtime::RuntimeType for HolographicFrame {
771     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicFrame;{c6988eb6-a8b9-3054-a6eb-d624b6536375})");
772 }
773 unsafe impl ::windows::runtime::Interface for HolographicFrame {
774     type Vtable = IHolographicFrame_abi;
775     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3331886774, 43193, 12372, [166, 235, 214, 36, 182, 83, 99, 117]);
776 }
777 impl ::windows::runtime::RuntimeName for HolographicFrame {
778     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicFrame";
779 }
780 impl ::std::convert::From<HolographicFrame> for ::windows::runtime::IUnknown {
from(value: HolographicFrame) -> Self781     fn from(value: HolographicFrame) -> Self {
782         unsafe { ::std::mem::transmute(value) }
783     }
784 }
785 impl ::std::convert::From<&HolographicFrame> for ::windows::runtime::IUnknown {
from(value: &HolographicFrame) -> Self786     fn from(value: &HolographicFrame) -> Self {
787         ::std::convert::From::from(::std::clone::Clone::clone(value))
788     }
789 }
790 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>791     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
792         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
793     }
794 }
795 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>796     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
797         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
798     }
799 }
800 impl ::std::convert::From<HolographicFrame> for ::windows::runtime::IInspectable {
from(value: HolographicFrame) -> Self801     fn from(value: HolographicFrame) -> Self {
802         value.0
803     }
804 }
805 impl ::std::convert::From<&HolographicFrame> for ::windows::runtime::IInspectable {
from(value: &HolographicFrame) -> Self806     fn from(value: &HolographicFrame) -> Self {
807         value.0.clone()
808     }
809 }
810 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>811     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
812         ::windows::runtime::Param::Owned(self.0)
813     }
814 }
815 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>816     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
817         ::windows::runtime::Param::Borrowed(&self.0)
818     }
819 }
820 unsafe impl ::std::marker::Send for HolographicFrame {}
821 unsafe impl ::std::marker::Sync for HolographicFrame {}
822 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
823 #[repr(C)]
824 pub struct HolographicFrameId {
825     pub Value: u64,
826 }
827 impl HolographicFrameId {}
828 impl ::std::default::Default for HolographicFrameId {
default() -> Self829     fn default() -> Self {
830         unsafe { ::std::mem::zeroed() }
831     }
832 }
833 impl ::std::fmt::Debug for HolographicFrameId {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result834     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
835         fmt.debug_struct("HolographicFrameId").field("Value", &self.Value).finish()
836     }
837 }
838 impl ::std::cmp::PartialEq for HolographicFrameId {
eq(&self, other: &Self) -> bool839     fn eq(&self, other: &Self) -> bool {
840         self.Value == other.Value
841     }
842 }
843 impl ::std::cmp::Eq for HolographicFrameId {}
844 unsafe impl ::windows::runtime::Abi for HolographicFrameId {
845     type Abi = Self;
846     type DefaultType = Self;
847 }
848 unsafe impl ::windows::runtime::RuntimeType for HolographicFrameId {
849     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.Graphics.Holographic.HolographicFrameId;u8)");
850 }
851 #[repr(transparent)]
852 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
853 pub struct HolographicFramePrediction(::windows::runtime::IInspectable);
854 impl HolographicFramePrediction {
855     #[cfg(feature = "Foundation_Collections")]
CameraPoses(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicCameraPose>>856     pub fn CameraPoses(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicCameraPose>> {
857         let this = self;
858         unsafe {
859             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
860             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<HolographicCameraPose>>(result__)
861         }
862     }
863     #[cfg(feature = "Perception")]
Timestamp(&self) -> ::windows::runtime::Result<super::super::Perception::PerceptionTimestamp>864     pub fn Timestamp(&self) -> ::windows::runtime::Result<super::super::Perception::PerceptionTimestamp> {
865         let this = self;
866         unsafe {
867             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
868             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Perception::PerceptionTimestamp>(result__)
869         }
870     }
871 }
872 unsafe impl ::windows::runtime::RuntimeType for HolographicFramePrediction {
873     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicFramePrediction;{520f4de1-5c0a-4e79-a81e-6abe02bb2739})");
874 }
875 unsafe impl ::windows::runtime::Interface for HolographicFramePrediction {
876     type Vtable = IHolographicFramePrediction_abi;
877     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1376734689, 23562, 20089, [168, 30, 106, 190, 2, 187, 39, 57]);
878 }
879 impl ::windows::runtime::RuntimeName for HolographicFramePrediction {
880     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicFramePrediction";
881 }
882 impl ::std::convert::From<HolographicFramePrediction> for ::windows::runtime::IUnknown {
from(value: HolographicFramePrediction) -> Self883     fn from(value: HolographicFramePrediction) -> Self {
884         unsafe { ::std::mem::transmute(value) }
885     }
886 }
887 impl ::std::convert::From<&HolographicFramePrediction> for ::windows::runtime::IUnknown {
from(value: &HolographicFramePrediction) -> Self888     fn from(value: &HolographicFramePrediction) -> Self {
889         ::std::convert::From::from(::std::clone::Clone::clone(value))
890     }
891 }
892 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicFramePrediction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>893     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
894         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
895     }
896 }
897 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicFramePrediction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>898     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
899         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
900     }
901 }
902 impl ::std::convert::From<HolographicFramePrediction> for ::windows::runtime::IInspectable {
from(value: HolographicFramePrediction) -> Self903     fn from(value: HolographicFramePrediction) -> Self {
904         value.0
905     }
906 }
907 impl ::std::convert::From<&HolographicFramePrediction> for ::windows::runtime::IInspectable {
from(value: &HolographicFramePrediction) -> Self908     fn from(value: &HolographicFramePrediction) -> Self {
909         value.0.clone()
910     }
911 }
912 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicFramePrediction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>913     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
914         ::windows::runtime::Param::Owned(self.0)
915     }
916 }
917 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicFramePrediction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>918     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
919         ::windows::runtime::Param::Borrowed(&self.0)
920     }
921 }
922 unsafe impl ::std::marker::Send for HolographicFramePrediction {}
923 unsafe impl ::std::marker::Sync for HolographicFramePrediction {}
924 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
925 #[repr(transparent)]
926 pub struct HolographicFramePresentResult(pub i32);
927 impl HolographicFramePresentResult {
928     pub const Success: HolographicFramePresentResult = HolographicFramePresentResult(0i32);
929     pub const DeviceRemoved: HolographicFramePresentResult = HolographicFramePresentResult(1i32);
930 }
931 impl ::std::convert::From<i32> for HolographicFramePresentResult {
from(value: i32) -> Self932     fn from(value: i32) -> Self {
933         Self(value)
934     }
935 }
936 unsafe impl ::windows::runtime::Abi for HolographicFramePresentResult {
937     type Abi = Self;
938     type DefaultType = Self;
939 }
940 unsafe impl ::windows::runtime::RuntimeType for HolographicFramePresentResult {
941     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Graphics.Holographic.HolographicFramePresentResult;i4)");
942 }
943 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
944 #[repr(transparent)]
945 pub struct HolographicFramePresentWaitBehavior(pub i32);
946 impl HolographicFramePresentWaitBehavior {
947     pub const WaitForFrameToFinish: HolographicFramePresentWaitBehavior = HolographicFramePresentWaitBehavior(0i32);
948     pub const DoNotWaitForFrameToFinish: HolographicFramePresentWaitBehavior = HolographicFramePresentWaitBehavior(1i32);
949 }
950 impl ::std::convert::From<i32> for HolographicFramePresentWaitBehavior {
from(value: i32) -> Self951     fn from(value: i32) -> Self {
952         Self(value)
953     }
954 }
955 unsafe impl ::windows::runtime::Abi for HolographicFramePresentWaitBehavior {
956     type Abi = Self;
957     type DefaultType = Self;
958 }
959 unsafe impl ::windows::runtime::RuntimeType for HolographicFramePresentWaitBehavior {
960     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Graphics.Holographic.HolographicFramePresentWaitBehavior;i4)");
961 }
962 #[repr(transparent)]
963 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
964 pub struct HolographicFramePresentationMonitor(::windows::runtime::IInspectable);
965 impl HolographicFramePresentationMonitor {
966     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>967     pub fn Close(&self) -> ::windows::runtime::Result<()> {
968         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
969         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
970     }
971     #[cfg(feature = "deprecated")]
972     #[cfg(feature = "Foundation_Collections")]
ReadReports(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicFramePresentationReport>>973     pub fn ReadReports(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicFramePresentationReport>> {
974         let this = self;
975         unsafe {
976             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
977             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<HolographicFramePresentationReport>>(result__)
978         }
979     }
980 }
981 unsafe impl ::windows::runtime::RuntimeType for HolographicFramePresentationMonitor {
982     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicFramePresentationMonitor;{ca87256c-6fae-428e-bb83-25dfee51136b})");
983 }
984 unsafe impl ::windows::runtime::Interface for HolographicFramePresentationMonitor {
985     type Vtable = IHolographicFramePresentationMonitor_abi;
986     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3397854572, 28590, 17038, [187, 131, 37, 223, 238, 81, 19, 107]);
987 }
988 impl ::windows::runtime::RuntimeName for HolographicFramePresentationMonitor {
989     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicFramePresentationMonitor";
990 }
991 impl ::std::convert::From<HolographicFramePresentationMonitor> for ::windows::runtime::IUnknown {
from(value: HolographicFramePresentationMonitor) -> Self992     fn from(value: HolographicFramePresentationMonitor) -> Self {
993         unsafe { ::std::mem::transmute(value) }
994     }
995 }
996 impl ::std::convert::From<&HolographicFramePresentationMonitor> for ::windows::runtime::IUnknown {
from(value: &HolographicFramePresentationMonitor) -> Self997     fn from(value: &HolographicFramePresentationMonitor) -> Self {
998         ::std::convert::From::from(::std::clone::Clone::clone(value))
999     }
1000 }
1001 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicFramePresentationMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1002     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1003         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1004     }
1005 }
1006 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicFramePresentationMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1007     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1008         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1009     }
1010 }
1011 impl ::std::convert::From<HolographicFramePresentationMonitor> for ::windows::runtime::IInspectable {
from(value: HolographicFramePresentationMonitor) -> Self1012     fn from(value: HolographicFramePresentationMonitor) -> Self {
1013         value.0
1014     }
1015 }
1016 impl ::std::convert::From<&HolographicFramePresentationMonitor> for ::windows::runtime::IInspectable {
from(value: &HolographicFramePresentationMonitor) -> Self1017     fn from(value: &HolographicFramePresentationMonitor) -> Self {
1018         value.0.clone()
1019     }
1020 }
1021 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicFramePresentationMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1022     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1023         ::windows::runtime::Param::Owned(self.0)
1024     }
1025 }
1026 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicFramePresentationMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1027     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1028         ::windows::runtime::Param::Borrowed(&self.0)
1029     }
1030 }
1031 #[cfg(feature = "Foundation")]
1032 impl ::std::convert::TryFrom<HolographicFramePresentationMonitor> for super::super::Foundation::IClosable {
1033     type Error = ::windows::runtime::Error;
try_from(value: HolographicFramePresentationMonitor) -> ::windows::runtime::Result<Self>1034     fn try_from(value: HolographicFramePresentationMonitor) -> ::windows::runtime::Result<Self> {
1035         ::std::convert::TryFrom::try_from(&value)
1036     }
1037 }
1038 #[cfg(feature = "Foundation")]
1039 impl ::std::convert::TryFrom<&HolographicFramePresentationMonitor> for super::super::Foundation::IClosable {
1040     type Error = ::windows::runtime::Error;
try_from(value: &HolographicFramePresentationMonitor) -> ::windows::runtime::Result<Self>1041     fn try_from(value: &HolographicFramePresentationMonitor) -> ::windows::runtime::Result<Self> {
1042         ::windows::runtime::Interface::cast(value)
1043     }
1044 }
1045 #[cfg(feature = "Foundation")]
1046 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for HolographicFramePresentationMonitor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1047     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1048         ::windows::runtime::IntoParam::into_param(&self)
1049     }
1050 }
1051 #[cfg(feature = "Foundation")]
1052 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &HolographicFramePresentationMonitor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1053     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1054         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1055     }
1056 }
1057 unsafe impl ::std::marker::Send for HolographicFramePresentationMonitor {}
1058 unsafe impl ::std::marker::Sync for HolographicFramePresentationMonitor {}
1059 #[repr(transparent)]
1060 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1061 pub struct HolographicFramePresentationReport(::windows::runtime::IInspectable);
1062 impl HolographicFramePresentationReport {
1063     #[cfg(feature = "deprecated")]
1064     #[cfg(feature = "Foundation")]
CompositorGpuDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1065     pub fn CompositorGpuDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1066         let this = self;
1067         unsafe {
1068             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1069             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1070         }
1071     }
1072     #[cfg(feature = "deprecated")]
1073     #[cfg(feature = "Foundation")]
AppGpuDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1074     pub fn AppGpuDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1075         let this = self;
1076         unsafe {
1077             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1078             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1079         }
1080     }
1081     #[cfg(feature = "deprecated")]
1082     #[cfg(feature = "Foundation")]
AppGpuOverrun(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1083     pub fn AppGpuOverrun(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1084         let this = self;
1085         unsafe {
1086             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1087             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1088         }
1089     }
1090     #[cfg(feature = "deprecated")]
MissedPresentationOpportunityCount(&self) -> ::windows::runtime::Result<u32>1091     pub fn MissedPresentationOpportunityCount(&self) -> ::windows::runtime::Result<u32> {
1092         let this = self;
1093         unsafe {
1094             let mut result__: u32 = ::std::mem::zeroed();
1095             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1096         }
1097     }
1098     #[cfg(feature = "deprecated")]
PresentationCount(&self) -> ::windows::runtime::Result<u32>1099     pub fn PresentationCount(&self) -> ::windows::runtime::Result<u32> {
1100         let this = self;
1101         unsafe {
1102             let mut result__: u32 = ::std::mem::zeroed();
1103             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1104         }
1105     }
1106 }
1107 unsafe impl ::windows::runtime::RuntimeType for HolographicFramePresentationReport {
1108     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicFramePresentationReport;{80baf614-f2f4-4c8a-8de3-065c78f6d5de})");
1109 }
1110 unsafe impl ::windows::runtime::Interface for HolographicFramePresentationReport {
1111     type Vtable = IHolographicFramePresentationReport_abi;
1112     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2159736340, 62196, 19594, [141, 227, 6, 92, 120, 246, 213, 222]);
1113 }
1114 impl ::windows::runtime::RuntimeName for HolographicFramePresentationReport {
1115     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicFramePresentationReport";
1116 }
1117 impl ::std::convert::From<HolographicFramePresentationReport> for ::windows::runtime::IUnknown {
from(value: HolographicFramePresentationReport) -> Self1118     fn from(value: HolographicFramePresentationReport) -> Self {
1119         unsafe { ::std::mem::transmute(value) }
1120     }
1121 }
1122 impl ::std::convert::From<&HolographicFramePresentationReport> for ::windows::runtime::IUnknown {
from(value: &HolographicFramePresentationReport) -> Self1123     fn from(value: &HolographicFramePresentationReport) -> Self {
1124         ::std::convert::From::from(::std::clone::Clone::clone(value))
1125     }
1126 }
1127 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicFramePresentationReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1128     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1129         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1130     }
1131 }
1132 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicFramePresentationReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1133     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1134         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1135     }
1136 }
1137 impl ::std::convert::From<HolographicFramePresentationReport> for ::windows::runtime::IInspectable {
from(value: HolographicFramePresentationReport) -> Self1138     fn from(value: HolographicFramePresentationReport) -> Self {
1139         value.0
1140     }
1141 }
1142 impl ::std::convert::From<&HolographicFramePresentationReport> for ::windows::runtime::IInspectable {
from(value: &HolographicFramePresentationReport) -> Self1143     fn from(value: &HolographicFramePresentationReport) -> Self {
1144         value.0.clone()
1145     }
1146 }
1147 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicFramePresentationReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1148     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1149         ::windows::runtime::Param::Owned(self.0)
1150     }
1151 }
1152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicFramePresentationReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1154         ::windows::runtime::Param::Borrowed(&self.0)
1155     }
1156 }
1157 unsafe impl ::std::marker::Send for HolographicFramePresentationReport {}
1158 unsafe impl ::std::marker::Sync for HolographicFramePresentationReport {}
1159 #[repr(transparent)]
1160 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1161 pub struct HolographicFrameRenderingReport(::windows::runtime::IInspectable);
1162 impl HolographicFrameRenderingReport {
FrameId(&self) -> ::windows::runtime::Result<HolographicFrameId>1163     pub fn FrameId(&self) -> ::windows::runtime::Result<HolographicFrameId> {
1164         let this = self;
1165         unsafe {
1166             let mut result__: HolographicFrameId = ::std::mem::zeroed();
1167             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicFrameId>(result__)
1168         }
1169     }
MissedLatchCount(&self) -> ::windows::runtime::Result<u32>1170     pub fn MissedLatchCount(&self) -> ::windows::runtime::Result<u32> {
1171         let this = self;
1172         unsafe {
1173             let mut result__: u32 = ::std::mem::zeroed();
1174             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1175         }
1176     }
1177     #[cfg(feature = "Foundation")]
SystemRelativeFrameReadyTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1178     pub fn SystemRelativeFrameReadyTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1179         let this = self;
1180         unsafe {
1181             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1182             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1183         }
1184     }
1185     #[cfg(feature = "Foundation")]
SystemRelativeActualGpuFinishTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1186     pub fn SystemRelativeActualGpuFinishTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1187         let this = self;
1188         unsafe {
1189             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1190             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1191         }
1192     }
1193     #[cfg(feature = "Foundation")]
SystemRelativeTargetLatchTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1194     pub fn SystemRelativeTargetLatchTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1195         let this = self;
1196         unsafe {
1197             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1198             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1199         }
1200     }
1201 }
1202 unsafe impl ::windows::runtime::RuntimeType for HolographicFrameRenderingReport {
1203     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicFrameRenderingReport;{05f32de4-e384-51b3-b934-f0d3a0f78606})");
1204 }
1205 unsafe impl ::windows::runtime::Interface for HolographicFrameRenderingReport {
1206     type Vtable = IHolographicFrameRenderingReport_abi;
1207     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(99823076, 58244, 20915, [185, 52, 240, 211, 160, 247, 134, 6]);
1208 }
1209 impl ::windows::runtime::RuntimeName for HolographicFrameRenderingReport {
1210     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicFrameRenderingReport";
1211 }
1212 impl ::std::convert::From<HolographicFrameRenderingReport> for ::windows::runtime::IUnknown {
from(value: HolographicFrameRenderingReport) -> Self1213     fn from(value: HolographicFrameRenderingReport) -> Self {
1214         unsafe { ::std::mem::transmute(value) }
1215     }
1216 }
1217 impl ::std::convert::From<&HolographicFrameRenderingReport> for ::windows::runtime::IUnknown {
from(value: &HolographicFrameRenderingReport) -> Self1218     fn from(value: &HolographicFrameRenderingReport) -> Self {
1219         ::std::convert::From::from(::std::clone::Clone::clone(value))
1220     }
1221 }
1222 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicFrameRenderingReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1223     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1224         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1225     }
1226 }
1227 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicFrameRenderingReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1228     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1229         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1230     }
1231 }
1232 impl ::std::convert::From<HolographicFrameRenderingReport> for ::windows::runtime::IInspectable {
from(value: HolographicFrameRenderingReport) -> Self1233     fn from(value: HolographicFrameRenderingReport) -> Self {
1234         value.0
1235     }
1236 }
1237 impl ::std::convert::From<&HolographicFrameRenderingReport> for ::windows::runtime::IInspectable {
from(value: &HolographicFrameRenderingReport) -> Self1238     fn from(value: &HolographicFrameRenderingReport) -> Self {
1239         value.0.clone()
1240     }
1241 }
1242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicFrameRenderingReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1244         ::windows::runtime::Param::Owned(self.0)
1245     }
1246 }
1247 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicFrameRenderingReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1248     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1249         ::windows::runtime::Param::Borrowed(&self.0)
1250     }
1251 }
1252 unsafe impl ::std::marker::Send for HolographicFrameRenderingReport {}
1253 unsafe impl ::std::marker::Sync for HolographicFrameRenderingReport {}
1254 #[repr(transparent)]
1255 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1256 pub struct HolographicFrameScanoutMonitor(::windows::runtime::IInspectable);
1257 impl HolographicFrameScanoutMonitor {
1258     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>1259     pub fn Close(&self) -> ::windows::runtime::Result<()> {
1260         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
1261         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1262     }
1263     #[cfg(feature = "Foundation_Collections")]
ReadReports(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<HolographicFrameScanoutReport>>1264     pub fn ReadReports(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<HolographicFrameScanoutReport>> {
1265         let this = self;
1266         unsafe {
1267             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1268             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<HolographicFrameScanoutReport>>(result__)
1269         }
1270     }
1271 }
1272 unsafe impl ::windows::runtime::RuntimeType for HolographicFrameScanoutMonitor {
1273     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicFrameScanoutMonitor;{7e83efa9-843c-5401-8095-9bc1b8b08638})");
1274 }
1275 unsafe impl ::windows::runtime::Interface for HolographicFrameScanoutMonitor {
1276     type Vtable = IHolographicFrameScanoutMonitor_abi;
1277     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2122575785, 33852, 21505, [128, 149, 155, 193, 184, 176, 134, 56]);
1278 }
1279 impl ::windows::runtime::RuntimeName for HolographicFrameScanoutMonitor {
1280     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicFrameScanoutMonitor";
1281 }
1282 impl ::std::convert::From<HolographicFrameScanoutMonitor> for ::windows::runtime::IUnknown {
from(value: HolographicFrameScanoutMonitor) -> Self1283     fn from(value: HolographicFrameScanoutMonitor) -> Self {
1284         unsafe { ::std::mem::transmute(value) }
1285     }
1286 }
1287 impl ::std::convert::From<&HolographicFrameScanoutMonitor> for ::windows::runtime::IUnknown {
from(value: &HolographicFrameScanoutMonitor) -> Self1288     fn from(value: &HolographicFrameScanoutMonitor) -> Self {
1289         ::std::convert::From::from(::std::clone::Clone::clone(value))
1290     }
1291 }
1292 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicFrameScanoutMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1293     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1294         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1295     }
1296 }
1297 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicFrameScanoutMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1298     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1299         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1300     }
1301 }
1302 impl ::std::convert::From<HolographicFrameScanoutMonitor> for ::windows::runtime::IInspectable {
from(value: HolographicFrameScanoutMonitor) -> Self1303     fn from(value: HolographicFrameScanoutMonitor) -> Self {
1304         value.0
1305     }
1306 }
1307 impl ::std::convert::From<&HolographicFrameScanoutMonitor> for ::windows::runtime::IInspectable {
from(value: &HolographicFrameScanoutMonitor) -> Self1308     fn from(value: &HolographicFrameScanoutMonitor) -> Self {
1309         value.0.clone()
1310     }
1311 }
1312 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicFrameScanoutMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1313     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1314         ::windows::runtime::Param::Owned(self.0)
1315     }
1316 }
1317 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicFrameScanoutMonitor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1318     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1319         ::windows::runtime::Param::Borrowed(&self.0)
1320     }
1321 }
1322 #[cfg(feature = "Foundation")]
1323 impl ::std::convert::TryFrom<HolographicFrameScanoutMonitor> for super::super::Foundation::IClosable {
1324     type Error = ::windows::runtime::Error;
try_from(value: HolographicFrameScanoutMonitor) -> ::windows::runtime::Result<Self>1325     fn try_from(value: HolographicFrameScanoutMonitor) -> ::windows::runtime::Result<Self> {
1326         ::std::convert::TryFrom::try_from(&value)
1327     }
1328 }
1329 #[cfg(feature = "Foundation")]
1330 impl ::std::convert::TryFrom<&HolographicFrameScanoutMonitor> for super::super::Foundation::IClosable {
1331     type Error = ::windows::runtime::Error;
try_from(value: &HolographicFrameScanoutMonitor) -> ::windows::runtime::Result<Self>1332     fn try_from(value: &HolographicFrameScanoutMonitor) -> ::windows::runtime::Result<Self> {
1333         ::windows::runtime::Interface::cast(value)
1334     }
1335 }
1336 #[cfg(feature = "Foundation")]
1337 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for HolographicFrameScanoutMonitor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1338     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1339         ::windows::runtime::IntoParam::into_param(&self)
1340     }
1341 }
1342 #[cfg(feature = "Foundation")]
1343 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &HolographicFrameScanoutMonitor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1344     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1345         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1346     }
1347 }
1348 unsafe impl ::std::marker::Send for HolographicFrameScanoutMonitor {}
1349 unsafe impl ::std::marker::Sync for HolographicFrameScanoutMonitor {}
1350 #[repr(transparent)]
1351 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1352 pub struct HolographicFrameScanoutReport(::windows::runtime::IInspectable);
1353 impl HolographicFrameScanoutReport {
RenderingReport(&self) -> ::windows::runtime::Result<HolographicFrameRenderingReport>1354     pub fn RenderingReport(&self) -> ::windows::runtime::Result<HolographicFrameRenderingReport> {
1355         let this = self;
1356         unsafe {
1357             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1358             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicFrameRenderingReport>(result__)
1359         }
1360     }
MissedScanoutCount(&self) -> ::windows::runtime::Result<u32>1361     pub fn MissedScanoutCount(&self) -> ::windows::runtime::Result<u32> {
1362         let this = self;
1363         unsafe {
1364             let mut result__: u32 = ::std::mem::zeroed();
1365             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1366         }
1367     }
1368     #[cfg(feature = "Foundation")]
SystemRelativeLatchTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1369     pub fn SystemRelativeLatchTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1370         let this = self;
1371         unsafe {
1372             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1373             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1374         }
1375     }
1376     #[cfg(feature = "Foundation")]
SystemRelativeScanoutStartTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1377     pub fn SystemRelativeScanoutStartTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1378         let this = self;
1379         unsafe {
1380             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1381             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1382         }
1383     }
1384     #[cfg(feature = "Foundation")]
SystemRelativePhotonTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1385     pub fn SystemRelativePhotonTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1386         let this = self;
1387         unsafe {
1388             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1389             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1390         }
1391     }
1392 }
1393 unsafe impl ::windows::runtime::RuntimeType for HolographicFrameScanoutReport {
1394     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicFrameScanoutReport;{0ebbe606-03a0-5ca0-b46e-bba068d7233f})");
1395 }
1396 unsafe impl ::windows::runtime::Interface for HolographicFrameScanoutReport {
1397     type Vtable = IHolographicFrameScanoutReport_abi;
1398     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(247195142, 928, 23712, [180, 110, 187, 160, 104, 215, 35, 63]);
1399 }
1400 impl ::windows::runtime::RuntimeName for HolographicFrameScanoutReport {
1401     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicFrameScanoutReport";
1402 }
1403 impl ::std::convert::From<HolographicFrameScanoutReport> for ::windows::runtime::IUnknown {
from(value: HolographicFrameScanoutReport) -> Self1404     fn from(value: HolographicFrameScanoutReport) -> Self {
1405         unsafe { ::std::mem::transmute(value) }
1406     }
1407 }
1408 impl ::std::convert::From<&HolographicFrameScanoutReport> for ::windows::runtime::IUnknown {
from(value: &HolographicFrameScanoutReport) -> Self1409     fn from(value: &HolographicFrameScanoutReport) -> Self {
1410         ::std::convert::From::from(::std::clone::Clone::clone(value))
1411     }
1412 }
1413 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicFrameScanoutReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1414     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1415         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1416     }
1417 }
1418 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicFrameScanoutReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1419     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1420         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1421     }
1422 }
1423 impl ::std::convert::From<HolographicFrameScanoutReport> for ::windows::runtime::IInspectable {
from(value: HolographicFrameScanoutReport) -> Self1424     fn from(value: HolographicFrameScanoutReport) -> Self {
1425         value.0
1426     }
1427 }
1428 impl ::std::convert::From<&HolographicFrameScanoutReport> for ::windows::runtime::IInspectable {
from(value: &HolographicFrameScanoutReport) -> Self1429     fn from(value: &HolographicFrameScanoutReport) -> Self {
1430         value.0.clone()
1431     }
1432 }
1433 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicFrameScanoutReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1434     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1435         ::windows::runtime::Param::Owned(self.0)
1436     }
1437 }
1438 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicFrameScanoutReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1439     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1440         ::windows::runtime::Param::Borrowed(&self.0)
1441     }
1442 }
1443 unsafe impl ::std::marker::Send for HolographicFrameScanoutReport {}
1444 unsafe impl ::std::marker::Sync for HolographicFrameScanoutReport {}
1445 #[repr(transparent)]
1446 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1447 pub struct HolographicQuadLayer(::windows::runtime::IInspectable);
1448 impl HolographicQuadLayer {
1449     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>1450     pub fn Close(&self) -> ::windows::runtime::Result<()> {
1451         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
1452         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1453     }
1454     #[cfg(feature = "Graphics_DirectX")]
PixelFormat(&self) -> ::windows::runtime::Result<super::DirectX::DirectXPixelFormat>1455     pub fn PixelFormat(&self) -> ::windows::runtime::Result<super::DirectX::DirectXPixelFormat> {
1456         let this = self;
1457         unsafe {
1458             let mut result__: super::DirectX::DirectXPixelFormat = ::std::mem::zeroed();
1459             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::DirectX::DirectXPixelFormat>(result__)
1460         }
1461     }
1462     #[cfg(feature = "Foundation")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Size>1463     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Size> {
1464         let this = self;
1465         unsafe {
1466             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
1467             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
1468         }
1469     }
1470     #[cfg(feature = "Foundation")]
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(size: Param0) -> ::windows::runtime::Result<HolographicQuadLayer>1471     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(size: Param0) -> ::windows::runtime::Result<HolographicQuadLayer> {
1472         Self::IHolographicQuadLayerFactory(|this| unsafe {
1473             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1474             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), size.into_param().abi(), &mut result__).from_abi::<HolographicQuadLayer>(result__)
1475         })
1476     }
1477     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))]
CreateWithPixelFormat<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(size: Param0, pixelformat: super::DirectX::DirectXPixelFormat) -> ::windows::runtime::Result<HolographicQuadLayer>1478     pub fn CreateWithPixelFormat<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(size: Param0, pixelformat: super::DirectX::DirectXPixelFormat) -> ::windows::runtime::Result<HolographicQuadLayer> {
1479         Self::IHolographicQuadLayerFactory(|this| unsafe {
1480             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1481             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), size.into_param().abi(), pixelformat, &mut result__).from_abi::<HolographicQuadLayer>(result__)
1482         })
1483     }
IHolographicQuadLayerFactory<R, F: FnOnce(&IHolographicQuadLayerFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1484     pub fn IHolographicQuadLayerFactory<R, F: FnOnce(&IHolographicQuadLayerFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1485         static mut SHARED: ::windows::runtime::FactoryCache<HolographicQuadLayer, IHolographicQuadLayerFactory> = ::windows::runtime::FactoryCache::new();
1486         unsafe { SHARED.call(callback) }
1487     }
1488 }
1489 unsafe impl ::windows::runtime::RuntimeType for HolographicQuadLayer {
1490     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicQuadLayer;{903460c9-c9d9-5d5c-41ac-a2d5ab0fd331})");
1491 }
1492 unsafe impl ::windows::runtime::Interface for HolographicQuadLayer {
1493     type Vtable = IHolographicQuadLayer_abi;
1494     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2419351753, 51673, 23900, [65, 172, 162, 213, 171, 15, 211, 49]);
1495 }
1496 impl ::windows::runtime::RuntimeName for HolographicQuadLayer {
1497     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicQuadLayer";
1498 }
1499 impl ::std::convert::From<HolographicQuadLayer> for ::windows::runtime::IUnknown {
from(value: HolographicQuadLayer) -> Self1500     fn from(value: HolographicQuadLayer) -> Self {
1501         unsafe { ::std::mem::transmute(value) }
1502     }
1503 }
1504 impl ::std::convert::From<&HolographicQuadLayer> for ::windows::runtime::IUnknown {
from(value: &HolographicQuadLayer) -> Self1505     fn from(value: &HolographicQuadLayer) -> Self {
1506         ::std::convert::From::from(::std::clone::Clone::clone(value))
1507     }
1508 }
1509 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicQuadLayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1510     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1511         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1512     }
1513 }
1514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicQuadLayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1516         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1517     }
1518 }
1519 impl ::std::convert::From<HolographicQuadLayer> for ::windows::runtime::IInspectable {
from(value: HolographicQuadLayer) -> Self1520     fn from(value: HolographicQuadLayer) -> Self {
1521         value.0
1522     }
1523 }
1524 impl ::std::convert::From<&HolographicQuadLayer> for ::windows::runtime::IInspectable {
from(value: &HolographicQuadLayer) -> Self1525     fn from(value: &HolographicQuadLayer) -> Self {
1526         value.0.clone()
1527     }
1528 }
1529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicQuadLayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1530     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1531         ::windows::runtime::Param::Owned(self.0)
1532     }
1533 }
1534 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicQuadLayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1535     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1536         ::windows::runtime::Param::Borrowed(&self.0)
1537     }
1538 }
1539 #[cfg(feature = "Foundation")]
1540 impl ::std::convert::TryFrom<HolographicQuadLayer> for super::super::Foundation::IClosable {
1541     type Error = ::windows::runtime::Error;
try_from(value: HolographicQuadLayer) -> ::windows::runtime::Result<Self>1542     fn try_from(value: HolographicQuadLayer) -> ::windows::runtime::Result<Self> {
1543         ::std::convert::TryFrom::try_from(&value)
1544     }
1545 }
1546 #[cfg(feature = "Foundation")]
1547 impl ::std::convert::TryFrom<&HolographicQuadLayer> for super::super::Foundation::IClosable {
1548     type Error = ::windows::runtime::Error;
try_from(value: &HolographicQuadLayer) -> ::windows::runtime::Result<Self>1549     fn try_from(value: &HolographicQuadLayer) -> ::windows::runtime::Result<Self> {
1550         ::windows::runtime::Interface::cast(value)
1551     }
1552 }
1553 #[cfg(feature = "Foundation")]
1554 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for HolographicQuadLayer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1555     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1556         ::windows::runtime::IntoParam::into_param(&self)
1557     }
1558 }
1559 #[cfg(feature = "Foundation")]
1560 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &HolographicQuadLayer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1561     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1562         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1563     }
1564 }
1565 unsafe impl ::std::marker::Send for HolographicQuadLayer {}
1566 unsafe impl ::std::marker::Sync for HolographicQuadLayer {}
1567 #[repr(transparent)]
1568 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1569 pub struct HolographicQuadLayerUpdateParameters(::windows::runtime::IInspectable);
1570 impl HolographicQuadLayerUpdateParameters {
1571     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
AcquireBufferToUpdateContent(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DSurface>1572     pub fn AcquireBufferToUpdateContent(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DSurface> {
1573         let this = self;
1574         unsafe {
1575             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1576             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::DirectX::Direct3D11::IDirect3DSurface>(result__)
1577         }
1578     }
1579     #[cfg(feature = "Foundation")]
UpdateViewport<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, value: Param0) -> ::windows::runtime::Result<()>1580     pub fn UpdateViewport<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1581         let this = self;
1582         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1583     }
UpdateContentProtectionEnabled(&self, value: bool) -> ::windows::runtime::Result<()>1584     pub fn UpdateContentProtectionEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
1585         let this = self;
1586         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
1587     }
1588     #[cfg(feature = "Foundation_Numerics")]
UpdateExtents<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>1589     pub fn UpdateExtents<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1590         let this = self;
1591         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1592     }
1593     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))]
UpdateLocationWithStationaryMode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, coordinatesystem: Param0, position: Param1, orientation: Param2) -> ::windows::runtime::Result<()>1594     pub fn UpdateLocationWithStationaryMode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Perception::Spatial::SpatialCoordinateSystem>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, coordinatesystem: Param0, position: Param1, orientation: Param2) -> ::windows::runtime::Result<()> {
1595         let this = self;
1596         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), coordinatesystem.into_param().abi(), position.into_param().abi(), orientation.into_param().abi()).ok() }
1597     }
1598     #[cfg(feature = "Foundation_Numerics")]
UpdateLocationWithDisplayRelativeMode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, position: Param0, orientation: Param1) -> ::windows::runtime::Result<()>1599     pub fn UpdateLocationWithDisplayRelativeMode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, position: Param0, orientation: Param1) -> ::windows::runtime::Result<()> {
1600         let this = self;
1601         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), position.into_param().abi(), orientation.into_param().abi()).ok() }
1602     }
CanAcquireWithHardwareProtection(&self) -> ::windows::runtime::Result<bool>1603     pub fn CanAcquireWithHardwareProtection(&self) -> ::windows::runtime::Result<bool> {
1604         let this = &::windows::runtime::Interface::cast::<IHolographicQuadLayerUpdateParameters2>(self)?;
1605         unsafe {
1606             let mut result__: bool = ::std::mem::zeroed();
1607             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1608         }
1609     }
1610     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
AcquireBufferToUpdateContentWithHardwareProtection(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DSurface>1611     pub fn AcquireBufferToUpdateContentWithHardwareProtection(&self) -> ::windows::runtime::Result<super::DirectX::Direct3D11::IDirect3DSurface> {
1612         let this = &::windows::runtime::Interface::cast::<IHolographicQuadLayerUpdateParameters2>(self)?;
1613         unsafe {
1614             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1615             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::DirectX::Direct3D11::IDirect3DSurface>(result__)
1616         }
1617     }
1618 }
1619 unsafe impl ::windows::runtime::RuntimeType for HolographicQuadLayerUpdateParameters {
1620     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicQuadLayerUpdateParameters;{2b0ea3b0-798d-5bca-55c2-2c0c762ebb08})");
1621 }
1622 unsafe impl ::windows::runtime::Interface for HolographicQuadLayerUpdateParameters {
1623     type Vtable = IHolographicQuadLayerUpdateParameters_abi;
1624     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(722379696, 31117, 23498, [85, 194, 44, 12, 118, 46, 187, 8]);
1625 }
1626 impl ::windows::runtime::RuntimeName for HolographicQuadLayerUpdateParameters {
1627     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicQuadLayerUpdateParameters";
1628 }
1629 impl ::std::convert::From<HolographicQuadLayerUpdateParameters> for ::windows::runtime::IUnknown {
from(value: HolographicQuadLayerUpdateParameters) -> Self1630     fn from(value: HolographicQuadLayerUpdateParameters) -> Self {
1631         unsafe { ::std::mem::transmute(value) }
1632     }
1633 }
1634 impl ::std::convert::From<&HolographicQuadLayerUpdateParameters> for ::windows::runtime::IUnknown {
from(value: &HolographicQuadLayerUpdateParameters) -> Self1635     fn from(value: &HolographicQuadLayerUpdateParameters) -> Self {
1636         ::std::convert::From::from(::std::clone::Clone::clone(value))
1637     }
1638 }
1639 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicQuadLayerUpdateParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1640     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1641         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1642     }
1643 }
1644 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicQuadLayerUpdateParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1645     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1646         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1647     }
1648 }
1649 impl ::std::convert::From<HolographicQuadLayerUpdateParameters> for ::windows::runtime::IInspectable {
from(value: HolographicQuadLayerUpdateParameters) -> Self1650     fn from(value: HolographicQuadLayerUpdateParameters) -> Self {
1651         value.0
1652     }
1653 }
1654 impl ::std::convert::From<&HolographicQuadLayerUpdateParameters> for ::windows::runtime::IInspectable {
from(value: &HolographicQuadLayerUpdateParameters) -> Self1655     fn from(value: &HolographicQuadLayerUpdateParameters) -> Self {
1656         value.0.clone()
1657     }
1658 }
1659 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicQuadLayerUpdateParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1660     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1661         ::windows::runtime::Param::Owned(self.0)
1662     }
1663 }
1664 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicQuadLayerUpdateParameters {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1665     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1666         ::windows::runtime::Param::Borrowed(&self.0)
1667     }
1668 }
1669 unsafe impl ::std::marker::Send for HolographicQuadLayerUpdateParameters {}
1670 unsafe impl ::std::marker::Sync for HolographicQuadLayerUpdateParameters {}
1671 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1672 #[repr(transparent)]
1673 pub struct HolographicReprojectionMode(pub i32);
1674 impl HolographicReprojectionMode {
1675     pub const PositionAndOrientation: HolographicReprojectionMode = HolographicReprojectionMode(0i32);
1676     pub const OrientationOnly: HolographicReprojectionMode = HolographicReprojectionMode(1i32);
1677     pub const Disabled: HolographicReprojectionMode = HolographicReprojectionMode(2i32);
1678 }
1679 impl ::std::convert::From<i32> for HolographicReprojectionMode {
from(value: i32) -> Self1680     fn from(value: i32) -> Self {
1681         Self(value)
1682     }
1683 }
1684 unsafe impl ::windows::runtime::Abi for HolographicReprojectionMode {
1685     type Abi = Self;
1686     type DefaultType = Self;
1687 }
1688 unsafe impl ::windows::runtime::RuntimeType for HolographicReprojectionMode {
1689     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Graphics.Holographic.HolographicReprojectionMode;i4)");
1690 }
1691 #[repr(transparent)]
1692 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1693 pub struct HolographicSpace(::windows::runtime::IInspectable);
1694 impl HolographicSpace {
PrimaryAdapterId(&self) -> ::windows::runtime::Result<HolographicAdapterId>1695     pub fn PrimaryAdapterId(&self) -> ::windows::runtime::Result<HolographicAdapterId> {
1696         let this = self;
1697         unsafe {
1698             let mut result__: HolographicAdapterId = ::std::mem::zeroed();
1699             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicAdapterId>(result__)
1700         }
1701     }
1702     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
SetDirect3D11Device<'a, Param0: ::windows::runtime::IntoParam<'a, super::DirectX::Direct3D11::IDirect3DDevice>>(&self, value: Param0) -> ::windows::runtime::Result<()>1703     pub fn SetDirect3D11Device<'a, Param0: ::windows::runtime::IntoParam<'a, super::DirectX::Direct3D11::IDirect3DDevice>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1704         let this = self;
1705         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1706     }
1707     #[cfg(feature = "Foundation")]
CameraAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<HolographicSpace, HolographicSpaceCameraAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1708     pub fn CameraAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<HolographicSpace, HolographicSpaceCameraAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1709         let this = self;
1710         unsafe {
1711             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1712             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1713         }
1714     }
1715     #[cfg(feature = "Foundation")]
RemoveCameraAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>1716     pub fn RemoveCameraAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
1717         let this = self;
1718         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
1719     }
1720     #[cfg(feature = "Foundation")]
CameraRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<HolographicSpace, HolographicSpaceCameraRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1721     pub fn CameraRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<HolographicSpace, HolographicSpaceCameraRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1722         let this = self;
1723         unsafe {
1724             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1725             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1726         }
1727     }
1728     #[cfg(feature = "Foundation")]
RemoveCameraRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>1729     pub fn RemoveCameraRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
1730         let this = self;
1731         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
1732     }
CreateNextFrame(&self) -> ::windows::runtime::Result<HolographicFrame>1733     pub fn CreateNextFrame(&self) -> ::windows::runtime::Result<HolographicFrame> {
1734         let this = self;
1735         unsafe {
1736             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1737             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicFrame>(result__)
1738         }
1739     }
1740     #[cfg(feature = "UI_Core")]
CreateForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::Core::CoreWindow>>(window: Param0) -> ::windows::runtime::Result<HolographicSpace>1741     pub fn CreateForCoreWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::Core::CoreWindow>>(window: Param0) -> ::windows::runtime::Result<HolographicSpace> {
1742         Self::IHolographicSpaceStatics(|this| unsafe {
1743             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1744             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), window.into_param().abi(), &mut result__).from_abi::<HolographicSpace>(result__)
1745         })
1746     }
IsSupported() -> ::windows::runtime::Result<bool>1747     pub fn IsSupported() -> ::windows::runtime::Result<bool> {
1748         Self::IHolographicSpaceStatics2(|this| unsafe {
1749             let mut result__: bool = ::std::mem::zeroed();
1750             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1751         })
1752     }
IsAvailable() -> ::windows::runtime::Result<bool>1753     pub fn IsAvailable() -> ::windows::runtime::Result<bool> {
1754         Self::IHolographicSpaceStatics2(|this| unsafe {
1755             let mut result__: bool = ::std::mem::zeroed();
1756             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1757         })
1758     }
1759     #[cfg(feature = "Foundation")]
IsAvailableChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1760     pub fn IsAvailableChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1761         Self::IHolographicSpaceStatics2(|this| unsafe {
1762             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1763             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1764         })
1765     }
1766     #[cfg(feature = "Foundation")]
RemoveIsAvailableChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>1767     pub fn RemoveIsAvailableChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
1768         Self::IHolographicSpaceStatics2(|this| unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
1769     }
IsConfigured() -> ::windows::runtime::Result<bool>1770     pub fn IsConfigured() -> ::windows::runtime::Result<bool> {
1771         Self::IHolographicSpaceStatics3(|this| unsafe {
1772             let mut result__: bool = ::std::mem::zeroed();
1773             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1774         })
1775     }
UserPresence(&self) -> ::windows::runtime::Result<HolographicSpaceUserPresence>1776     pub fn UserPresence(&self) -> ::windows::runtime::Result<HolographicSpaceUserPresence> {
1777         let this = &::windows::runtime::Interface::cast::<IHolographicSpace2>(self)?;
1778         unsafe {
1779             let mut result__: HolographicSpaceUserPresence = ::std::mem::zeroed();
1780             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicSpaceUserPresence>(result__)
1781         }
1782     }
1783     #[cfg(feature = "Foundation")]
UserPresenceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<HolographicSpace, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1784     pub fn UserPresenceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<HolographicSpace, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1785         let this = &::windows::runtime::Interface::cast::<IHolographicSpace2>(self)?;
1786         unsafe {
1787             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1788             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1789         }
1790     }
1791     #[cfg(feature = "Foundation")]
RemoveUserPresenceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1792     pub fn RemoveUserPresenceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1793         let this = &::windows::runtime::Interface::cast::<IHolographicSpace2>(self)?;
1794         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1795     }
WaitForNextFrameReady(&self) -> ::windows::runtime::Result<()>1796     pub fn WaitForNextFrameReady(&self) -> ::windows::runtime::Result<()> {
1797         let this = &::windows::runtime::Interface::cast::<IHolographicSpace2>(self)?;
1798         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() }
1799     }
1800     #[cfg(feature = "Foundation")]
WaitForNextFrameReadyWithHeadStart<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, requestedheadstartduration: Param0) -> ::windows::runtime::Result<()>1801     pub fn WaitForNextFrameReadyWithHeadStart<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, requestedheadstartduration: Param0) -> ::windows::runtime::Result<()> {
1802         let this = &::windows::runtime::Interface::cast::<IHolographicSpace2>(self)?;
1803         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), requestedheadstartduration.into_param().abi()).ok() }
1804     }
1805     #[cfg(feature = "deprecated")]
CreateFramePresentationMonitor(&self, maxqueuedreports: u32) -> ::windows::runtime::Result<HolographicFramePresentationMonitor>1806     pub fn CreateFramePresentationMonitor(&self, maxqueuedreports: u32) -> ::windows::runtime::Result<HolographicFramePresentationMonitor> {
1807         let this = &::windows::runtime::Interface::cast::<IHolographicSpace2>(self)?;
1808         unsafe {
1809             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1810             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), maxqueuedreports, &mut result__).from_abi::<HolographicFramePresentationMonitor>(result__)
1811         }
1812     }
CreateFrameScanoutMonitor(&self, maxqueuedreports: u32) -> ::windows::runtime::Result<HolographicFrameScanoutMonitor>1813     pub fn CreateFrameScanoutMonitor(&self, maxqueuedreports: u32) -> ::windows::runtime::Result<HolographicFrameScanoutMonitor> {
1814         let this = &::windows::runtime::Interface::cast::<IHolographicSpace3>(self)?;
1815         unsafe {
1816             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1817             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), maxqueuedreports, &mut result__).from_abi::<HolographicFrameScanoutMonitor>(result__)
1818         }
1819     }
IHolographicSpaceStatics<R, F: FnOnce(&IHolographicSpaceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1820     pub fn IHolographicSpaceStatics<R, F: FnOnce(&IHolographicSpaceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1821         static mut SHARED: ::windows::runtime::FactoryCache<HolographicSpace, IHolographicSpaceStatics> = ::windows::runtime::FactoryCache::new();
1822         unsafe { SHARED.call(callback) }
1823     }
IHolographicSpaceStatics2<R, F: FnOnce(&IHolographicSpaceStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1824     pub fn IHolographicSpaceStatics2<R, F: FnOnce(&IHolographicSpaceStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1825         static mut SHARED: ::windows::runtime::FactoryCache<HolographicSpace, IHolographicSpaceStatics2> = ::windows::runtime::FactoryCache::new();
1826         unsafe { SHARED.call(callback) }
1827     }
IHolographicSpaceStatics3<R, F: FnOnce(&IHolographicSpaceStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1828     pub fn IHolographicSpaceStatics3<R, F: FnOnce(&IHolographicSpaceStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1829         static mut SHARED: ::windows::runtime::FactoryCache<HolographicSpace, IHolographicSpaceStatics3> = ::windows::runtime::FactoryCache::new();
1830         unsafe { SHARED.call(callback) }
1831     }
1832 }
1833 unsafe impl ::windows::runtime::RuntimeType for HolographicSpace {
1834     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicSpace;{4380dba6-5e78-434f-807c-3433d1efe8b7})");
1835 }
1836 unsafe impl ::windows::runtime::Interface for HolographicSpace {
1837     type Vtable = IHolographicSpace_abi;
1838     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1132518310, 24184, 17231, [128, 124, 52, 51, 209, 239, 232, 183]);
1839 }
1840 impl ::windows::runtime::RuntimeName for HolographicSpace {
1841     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicSpace";
1842 }
1843 impl ::std::convert::From<HolographicSpace> for ::windows::runtime::IUnknown {
from(value: HolographicSpace) -> Self1844     fn from(value: HolographicSpace) -> Self {
1845         unsafe { ::std::mem::transmute(value) }
1846     }
1847 }
1848 impl ::std::convert::From<&HolographicSpace> for ::windows::runtime::IUnknown {
from(value: &HolographicSpace) -> Self1849     fn from(value: &HolographicSpace) -> Self {
1850         ::std::convert::From::from(::std::clone::Clone::clone(value))
1851     }
1852 }
1853 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicSpace {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1854     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1855         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1856     }
1857 }
1858 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicSpace {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1859     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1860         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1861     }
1862 }
1863 impl ::std::convert::From<HolographicSpace> for ::windows::runtime::IInspectable {
from(value: HolographicSpace) -> Self1864     fn from(value: HolographicSpace) -> Self {
1865         value.0
1866     }
1867 }
1868 impl ::std::convert::From<&HolographicSpace> for ::windows::runtime::IInspectable {
from(value: &HolographicSpace) -> Self1869     fn from(value: &HolographicSpace) -> Self {
1870         value.0.clone()
1871     }
1872 }
1873 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicSpace {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1874     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1875         ::windows::runtime::Param::Owned(self.0)
1876     }
1877 }
1878 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicSpace {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1879     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1880         ::windows::runtime::Param::Borrowed(&self.0)
1881     }
1882 }
1883 unsafe impl ::std::marker::Send for HolographicSpace {}
1884 unsafe impl ::std::marker::Sync for HolographicSpace {}
1885 #[repr(transparent)]
1886 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1887 pub struct HolographicSpaceCameraAddedEventArgs(::windows::runtime::IInspectable);
1888 impl HolographicSpaceCameraAddedEventArgs {
Camera(&self) -> ::windows::runtime::Result<HolographicCamera>1889     pub fn Camera(&self) -> ::windows::runtime::Result<HolographicCamera> {
1890         let this = self;
1891         unsafe {
1892             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1893             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicCamera>(result__)
1894         }
1895     }
1896     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>1897     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
1898         let this = self;
1899         unsafe {
1900             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1901             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
1902         }
1903     }
1904 }
1905 unsafe impl ::windows::runtime::RuntimeType for HolographicSpaceCameraAddedEventArgs {
1906     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicSpaceCameraAddedEventArgs;{58f1da35-bbb3-3c8f-993d-6c80e7feb99f})");
1907 }
1908 unsafe impl ::windows::runtime::Interface for HolographicSpaceCameraAddedEventArgs {
1909     type Vtable = IHolographicSpaceCameraAddedEventArgs_abi;
1910     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1492245045, 48051, 15503, [153, 61, 108, 128, 231, 254, 185, 159]);
1911 }
1912 impl ::windows::runtime::RuntimeName for HolographicSpaceCameraAddedEventArgs {
1913     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicSpaceCameraAddedEventArgs";
1914 }
1915 impl ::std::convert::From<HolographicSpaceCameraAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: HolographicSpaceCameraAddedEventArgs) -> Self1916     fn from(value: HolographicSpaceCameraAddedEventArgs) -> Self {
1917         unsafe { ::std::mem::transmute(value) }
1918     }
1919 }
1920 impl ::std::convert::From<&HolographicSpaceCameraAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: &HolographicSpaceCameraAddedEventArgs) -> Self1921     fn from(value: &HolographicSpaceCameraAddedEventArgs) -> Self {
1922         ::std::convert::From::from(::std::clone::Clone::clone(value))
1923     }
1924 }
1925 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicSpaceCameraAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1926     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1927         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1928     }
1929 }
1930 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicSpaceCameraAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1931     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1932         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1933     }
1934 }
1935 impl ::std::convert::From<HolographicSpaceCameraAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: HolographicSpaceCameraAddedEventArgs) -> Self1936     fn from(value: HolographicSpaceCameraAddedEventArgs) -> Self {
1937         value.0
1938     }
1939 }
1940 impl ::std::convert::From<&HolographicSpaceCameraAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: &HolographicSpaceCameraAddedEventArgs) -> Self1941     fn from(value: &HolographicSpaceCameraAddedEventArgs) -> Self {
1942         value.0.clone()
1943     }
1944 }
1945 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicSpaceCameraAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1946     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1947         ::windows::runtime::Param::Owned(self.0)
1948     }
1949 }
1950 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicSpaceCameraAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1951     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1952         ::windows::runtime::Param::Borrowed(&self.0)
1953     }
1954 }
1955 unsafe impl ::std::marker::Send for HolographicSpaceCameraAddedEventArgs {}
1956 unsafe impl ::std::marker::Sync for HolographicSpaceCameraAddedEventArgs {}
1957 #[repr(transparent)]
1958 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1959 pub struct HolographicSpaceCameraRemovedEventArgs(::windows::runtime::IInspectable);
1960 impl HolographicSpaceCameraRemovedEventArgs {
Camera(&self) -> ::windows::runtime::Result<HolographicCamera>1961     pub fn Camera(&self) -> ::windows::runtime::Result<HolographicCamera> {
1962         let this = self;
1963         unsafe {
1964             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1965             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicCamera>(result__)
1966         }
1967     }
1968 }
1969 unsafe impl ::windows::runtime::RuntimeType for HolographicSpaceCameraRemovedEventArgs {
1970     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicSpaceCameraRemovedEventArgs;{805444a8-f2ae-322e-8da9-836a0a95a4c1})");
1971 }
1972 unsafe impl ::windows::runtime::Interface for HolographicSpaceCameraRemovedEventArgs {
1973     type Vtable = IHolographicSpaceCameraRemovedEventArgs_abi;
1974     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2153006248, 62126, 12846, [141, 169, 131, 106, 10, 149, 164, 193]);
1975 }
1976 impl ::windows::runtime::RuntimeName for HolographicSpaceCameraRemovedEventArgs {
1977     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicSpaceCameraRemovedEventArgs";
1978 }
1979 impl ::std::convert::From<HolographicSpaceCameraRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: HolographicSpaceCameraRemovedEventArgs) -> Self1980     fn from(value: HolographicSpaceCameraRemovedEventArgs) -> Self {
1981         unsafe { ::std::mem::transmute(value) }
1982     }
1983 }
1984 impl ::std::convert::From<&HolographicSpaceCameraRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: &HolographicSpaceCameraRemovedEventArgs) -> Self1985     fn from(value: &HolographicSpaceCameraRemovedEventArgs) -> Self {
1986         ::std::convert::From::from(::std::clone::Clone::clone(value))
1987     }
1988 }
1989 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicSpaceCameraRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1990     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1991         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1992     }
1993 }
1994 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicSpaceCameraRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1995     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1996         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1997     }
1998 }
1999 impl ::std::convert::From<HolographicSpaceCameraRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: HolographicSpaceCameraRemovedEventArgs) -> Self2000     fn from(value: HolographicSpaceCameraRemovedEventArgs) -> Self {
2001         value.0
2002     }
2003 }
2004 impl ::std::convert::From<&HolographicSpaceCameraRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: &HolographicSpaceCameraRemovedEventArgs) -> Self2005     fn from(value: &HolographicSpaceCameraRemovedEventArgs) -> Self {
2006         value.0.clone()
2007     }
2008 }
2009 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicSpaceCameraRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2010     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2011         ::windows::runtime::Param::Owned(self.0)
2012     }
2013 }
2014 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicSpaceCameraRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2015     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2016         ::windows::runtime::Param::Borrowed(&self.0)
2017     }
2018 }
2019 unsafe impl ::std::marker::Send for HolographicSpaceCameraRemovedEventArgs {}
2020 unsafe impl ::std::marker::Sync for HolographicSpaceCameraRemovedEventArgs {}
2021 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2022 #[repr(transparent)]
2023 pub struct HolographicSpaceUserPresence(pub i32);
2024 impl HolographicSpaceUserPresence {
2025     pub const Absent: HolographicSpaceUserPresence = HolographicSpaceUserPresence(0i32);
2026     pub const PresentPassive: HolographicSpaceUserPresence = HolographicSpaceUserPresence(1i32);
2027     pub const PresentActive: HolographicSpaceUserPresence = HolographicSpaceUserPresence(2i32);
2028 }
2029 impl ::std::convert::From<i32> for HolographicSpaceUserPresence {
from(value: i32) -> Self2030     fn from(value: i32) -> Self {
2031         Self(value)
2032     }
2033 }
2034 unsafe impl ::windows::runtime::Abi for HolographicSpaceUserPresence {
2035     type Abi = Self;
2036     type DefaultType = Self;
2037 }
2038 unsafe impl ::windows::runtime::RuntimeType for HolographicSpaceUserPresence {
2039     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Graphics.Holographic.HolographicSpaceUserPresence;i4)");
2040 }
2041 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2042 #[repr(C)]
2043 #[cfg(feature = "Foundation_Numerics")]
2044 pub struct HolographicStereoTransform {
2045     pub Left: super::super::Foundation::Numerics::Matrix4x4,
2046     pub Right: super::super::Foundation::Numerics::Matrix4x4,
2047 }
2048 #[cfg(feature = "Foundation_Numerics")]
2049 impl HolographicStereoTransform {}
2050 #[cfg(feature = "Foundation_Numerics")]
2051 impl ::std::default::Default for HolographicStereoTransform {
default() -> Self2052     fn default() -> Self {
2053         unsafe { ::std::mem::zeroed() }
2054     }
2055 }
2056 #[cfg(feature = "Foundation_Numerics")]
2057 impl ::std::fmt::Debug for HolographicStereoTransform {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2058     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2059         fmt.debug_struct("HolographicStereoTransform").field("Left", &self.Left).field("Right", &self.Right).finish()
2060     }
2061 }
2062 #[cfg(feature = "Foundation_Numerics")]
2063 impl ::std::cmp::PartialEq for HolographicStereoTransform {
eq(&self, other: &Self) -> bool2064     fn eq(&self, other: &Self) -> bool {
2065         self.Left == other.Left && self.Right == other.Right
2066     }
2067 }
2068 #[cfg(feature = "Foundation_Numerics")]
2069 impl ::std::cmp::Eq for HolographicStereoTransform {}
2070 #[cfg(feature = "Foundation_Numerics")]
2071 unsafe impl ::windows::runtime::Abi for HolographicStereoTransform {
2072     type Abi = Self;
2073     type DefaultType = Self;
2074 }
2075 #[cfg(feature = "Foundation_Numerics")]
2076 unsafe impl ::windows::runtime::RuntimeType for HolographicStereoTransform {
2077     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.Graphics.Holographic.HolographicStereoTransform;struct(Windows.Foundation.Numerics.Matrix4x4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4);struct(Windows.Foundation.Numerics.Matrix4x4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4;f4))");
2078 }
2079 #[repr(transparent)]
2080 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2081 pub struct HolographicViewConfiguration(::windows::runtime::IInspectable);
2082 impl HolographicViewConfiguration {
2083     #[cfg(feature = "Foundation")]
NativeRenderTargetSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size>2084     pub fn NativeRenderTargetSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size> {
2085         let this = self;
2086         unsafe {
2087             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
2088             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
2089         }
2090     }
2091     #[cfg(feature = "Foundation")]
RenderTargetSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size>2092     pub fn RenderTargetSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Size> {
2093         let this = self;
2094         unsafe {
2095             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
2096             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
2097         }
2098     }
2099     #[cfg(feature = "Foundation")]
RequestRenderTargetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<super::super::Foundation::Size>2100     pub fn RequestRenderTargetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<super::super::Foundation::Size> {
2101         let this = self;
2102         unsafe {
2103             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
2104             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), size.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
2105         }
2106     }
2107     #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX"))]
SupportedPixelFormats(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::DirectX::DirectXPixelFormat>>2108     pub fn SupportedPixelFormats(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::DirectX::DirectXPixelFormat>> {
2109         let this = self;
2110         unsafe {
2111             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2112             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::DirectX::DirectXPixelFormat>>(result__)
2113         }
2114     }
2115     #[cfg(feature = "Graphics_DirectX")]
PixelFormat(&self) -> ::windows::runtime::Result<super::DirectX::DirectXPixelFormat>2116     pub fn PixelFormat(&self) -> ::windows::runtime::Result<super::DirectX::DirectXPixelFormat> {
2117         let this = self;
2118         unsafe {
2119             let mut result__: super::DirectX::DirectXPixelFormat = ::std::mem::zeroed();
2120             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::DirectX::DirectXPixelFormat>(result__)
2121         }
2122     }
2123     #[cfg(feature = "Graphics_DirectX")]
SetPixelFormat(&self, value: super::DirectX::DirectXPixelFormat) -> ::windows::runtime::Result<()>2124     pub fn SetPixelFormat(&self, value: super::DirectX::DirectXPixelFormat) -> ::windows::runtime::Result<()> {
2125         let this = self;
2126         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
2127     }
IsStereo(&self) -> ::windows::runtime::Result<bool>2128     pub fn IsStereo(&self) -> ::windows::runtime::Result<bool> {
2129         let this = self;
2130         unsafe {
2131             let mut result__: bool = ::std::mem::zeroed();
2132             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2133         }
2134     }
RefreshRate(&self) -> ::windows::runtime::Result<f64>2135     pub fn RefreshRate(&self) -> ::windows::runtime::Result<f64> {
2136         let this = self;
2137         unsafe {
2138             let mut result__: f64 = ::std::mem::zeroed();
2139             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
2140         }
2141     }
Kind(&self) -> ::windows::runtime::Result<HolographicViewConfigurationKind>2142     pub fn Kind(&self) -> ::windows::runtime::Result<HolographicViewConfigurationKind> {
2143         let this = self;
2144         unsafe {
2145             let mut result__: HolographicViewConfigurationKind = ::std::mem::zeroed();
2146             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicViewConfigurationKind>(result__)
2147         }
2148     }
Display(&self) -> ::windows::runtime::Result<HolographicDisplay>2149     pub fn Display(&self) -> ::windows::runtime::Result<HolographicDisplay> {
2150         let this = self;
2151         unsafe {
2152             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2153             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HolographicDisplay>(result__)
2154         }
2155     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>2156     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
2157         let this = self;
2158         unsafe {
2159             let mut result__: bool = ::std::mem::zeroed();
2160             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2161         }
2162     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>2163     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
2164         let this = self;
2165         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
2166     }
2167     #[cfg(feature = "Foundation_Collections")]
SupportedDepthReprojectionMethods(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicDepthReprojectionMethod>>2168     pub fn SupportedDepthReprojectionMethods(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<HolographicDepthReprojectionMethod>> {
2169         let this = &::windows::runtime::Interface::cast::<IHolographicViewConfiguration2>(self)?;
2170         unsafe {
2171             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2172             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<HolographicDepthReprojectionMethod>>(result__)
2173         }
2174     }
2175 }
2176 unsafe impl ::windows::runtime::RuntimeType for HolographicViewConfiguration {
2177     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Graphics.Holographic.HolographicViewConfiguration;{5c1de6e6-67e9-5004-b02c-67a3a122b576})");
2178 }
2179 unsafe impl ::windows::runtime::Interface for HolographicViewConfiguration {
2180     type Vtable = IHolographicViewConfiguration_abi;
2181     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1545463526, 26601, 20484, [176, 44, 103, 163, 161, 34, 181, 118]);
2182 }
2183 impl ::windows::runtime::RuntimeName for HolographicViewConfiguration {
2184     const NAME: &'static str = "Windows.Graphics.Holographic.HolographicViewConfiguration";
2185 }
2186 impl ::std::convert::From<HolographicViewConfiguration> for ::windows::runtime::IUnknown {
from(value: HolographicViewConfiguration) -> Self2187     fn from(value: HolographicViewConfiguration) -> Self {
2188         unsafe { ::std::mem::transmute(value) }
2189     }
2190 }
2191 impl ::std::convert::From<&HolographicViewConfiguration> for ::windows::runtime::IUnknown {
from(value: &HolographicViewConfiguration) -> Self2192     fn from(value: &HolographicViewConfiguration) -> Self {
2193         ::std::convert::From::from(::std::clone::Clone::clone(value))
2194     }
2195 }
2196 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HolographicViewConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2197     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2198         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2199     }
2200 }
2201 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HolographicViewConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2202     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2203         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2204     }
2205 }
2206 impl ::std::convert::From<HolographicViewConfiguration> for ::windows::runtime::IInspectable {
from(value: HolographicViewConfiguration) -> Self2207     fn from(value: HolographicViewConfiguration) -> Self {
2208         value.0
2209     }
2210 }
2211 impl ::std::convert::From<&HolographicViewConfiguration> for ::windows::runtime::IInspectable {
from(value: &HolographicViewConfiguration) -> Self2212     fn from(value: &HolographicViewConfiguration) -> Self {
2213         value.0.clone()
2214     }
2215 }
2216 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HolographicViewConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2217     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2218         ::windows::runtime::Param::Owned(self.0)
2219     }
2220 }
2221 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HolographicViewConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2222     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2223         ::windows::runtime::Param::Borrowed(&self.0)
2224     }
2225 }
2226 unsafe impl ::std::marker::Send for HolographicViewConfiguration {}
2227 unsafe impl ::std::marker::Sync for HolographicViewConfiguration {}
2228 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2229 #[repr(transparent)]
2230 pub struct HolographicViewConfigurationKind(pub i32);
2231 impl HolographicViewConfigurationKind {
2232     pub const Display: HolographicViewConfigurationKind = HolographicViewConfigurationKind(0i32);
2233     pub const PhotoVideoCamera: HolographicViewConfigurationKind = HolographicViewConfigurationKind(1i32);
2234 }
2235 impl ::std::convert::From<i32> for HolographicViewConfigurationKind {
from(value: i32) -> Self2236     fn from(value: i32) -> Self {
2237         Self(value)
2238     }
2239 }
2240 unsafe impl ::windows::runtime::Abi for HolographicViewConfigurationKind {
2241     type Abi = Self;
2242     type DefaultType = Self;
2243 }
2244 unsafe impl ::windows::runtime::RuntimeType for HolographicViewConfigurationKind {
2245     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Graphics.Holographic.HolographicViewConfigurationKind;i4)");
2246 }
2247 #[repr(transparent)]
2248 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2249 #[doc(hidden)]
2250 pub struct IHolographicCamera(::windows::runtime::IInspectable);
2251 unsafe impl ::windows::runtime::Interface for IHolographicCamera {
2252     type Vtable = IHolographicCamera_abi;
2253     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3840508997, 39917, 18816, [155, 160, 232, 118, 128, 209, 203, 116]);
2254 }
2255 #[repr(C)]
2256 #[doc(hidden)]
2257 pub struct IHolographicCamera_abi(
2258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2264     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
2265     #[cfg(not(feature = "Foundation"))] usize,
2266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
2268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
2271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
2272 );
2273 #[repr(transparent)]
2274 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2275 #[doc(hidden)]
2276 pub struct IHolographicCamera2(::windows::runtime::IInspectable);
2277 unsafe impl ::windows::runtime::Interface for IHolographicCamera2 {
2278     type Vtable = IHolographicCamera2_abi;
2279     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3042680602, 47756, 20356, [173, 121, 46, 126, 30, 36, 80, 243]);
2280 }
2281 #[repr(C)]
2282 #[doc(hidden)]
2283 pub struct IHolographicCamera2_abi(
2284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2293 );
2294 #[repr(transparent)]
2295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2296 #[doc(hidden)]
2297 pub struct IHolographicCamera3(::windows::runtime::IInspectable);
2298 unsafe impl ::windows::runtime::Interface for IHolographicCamera3 {
2299     type Vtable = IHolographicCamera3_abi;
2300     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1168789427, 31577, 21070, [74, 63, 74, 106, 214, 101, 4, 119]);
2301 }
2302 #[repr(C)]
2303 #[doc(hidden)]
2304 pub struct IHolographicCamera3_abi(
2305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2314     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2315     #[cfg(not(feature = "Foundation_Collections"))] usize,
2316 );
2317 #[repr(transparent)]
2318 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2319 #[doc(hidden)]
2320 pub struct IHolographicCamera4(::windows::runtime::IInspectable);
2321 unsafe impl ::windows::runtime::Interface for IHolographicCamera4 {
2322     type Vtable = IHolographicCamera4_abi;
2323     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2586128854, 18211, 20281, [169, 165, 157, 5, 24, 29, 155, 68]);
2324 }
2325 #[repr(C)]
2326 #[doc(hidden)]
2327 pub struct IHolographicCamera4_abi(
2328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2335 );
2336 #[repr(transparent)]
2337 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2338 #[doc(hidden)]
2339 pub struct IHolographicCamera5(::windows::runtime::IInspectable);
2340 unsafe impl ::windows::runtime::Interface for IHolographicCamera5 {
2341     type Vtable = IHolographicCamera5_abi;
2342     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(580323058, 25229, 20213, [156, 8, 166, 63, 221, 119, 135, 198]);
2343 }
2344 #[repr(C)]
2345 #[doc(hidden)]
2346 pub struct IHolographicCamera5_abi(
2347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: 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 IHolographicCamera6(::windows::runtime::IInspectable);
2361 unsafe impl ::windows::runtime::Interface for IHolographicCamera6 {
2362     type Vtable = IHolographicCamera6_abi;
2363     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(34150735, 25389, 20820, [171, 82, 11, 93, 21, 177, 37, 5]);
2364 }
2365 #[repr(C)]
2366 #[doc(hidden)]
2367 pub struct IHolographicCamera6_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 IHolographicCameraPose(::windows::runtime::IInspectable);
2380 unsafe impl ::windows::runtime::Interface for IHolographicCameraPose {
2381     type Vtable = IHolographicCameraPose_abi;
2382     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(226328112, 4830, 17853, [145, 43, 199, 246, 86, 21, 153, 209]);
2383 }
2384 #[repr(C)]
2385 #[doc(hidden)]
2386 pub struct IHolographicCameraPose_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, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2394     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
2395     #[cfg(not(feature = "Foundation"))] usize,
2396     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2397     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2398     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicStereoTransform) -> ::windows::runtime::HRESULT,
2399     #[cfg(not(feature = "Foundation_Numerics"))] usize,
2400     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2401     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2402     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2403     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2406 );
2407 #[repr(transparent)]
2408 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2409 #[doc(hidden)]
2410 pub struct IHolographicCameraPose2(::windows::runtime::IInspectable);
2411 unsafe impl ::windows::runtime::Interface for IHolographicCameraPose2 {
2412     type Vtable = IHolographicCameraPose2_abi;
2413     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(590078067, 23853, 17760, [129, 78, 38, 151, 196, 252, 225, 107]);
2414 }
2415 #[repr(C)]
2416 #[doc(hidden)]
2417 pub struct IHolographicCameraPose2_abi(
2418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2424     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, coordinatesystemtoviewtransform: HolographicStereoTransform) -> ::windows::runtime::HRESULT,
2425     #[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2426     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, projectiontransform: HolographicStereoTransform) -> ::windows::runtime::HRESULT,
2427     #[cfg(not(feature = "Foundation_Numerics"))] usize,
2428     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, leftviewport: super::super::Foundation::Rect, rightviewport: super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
2429     #[cfg(not(feature = "Foundation"))] usize,
2430 );
2431 #[repr(transparent)]
2432 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2433 #[doc(hidden)]
2434 pub struct IHolographicCameraRenderingParameters(::windows::runtime::IInspectable);
2435 unsafe impl ::windows::runtime::Interface for IHolographicCameraRenderingParameters {
2436     type Vtable = IHolographicCameraRenderingParameters_abi;
2437     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2393648849, 23540, 19990, [130, 54, 174, 8, 0, 193, 29, 13]);
2438 }
2439 #[repr(C)]
2440 #[doc(hidden)]
2441 pub struct IHolographicCameraRenderingParameters_abi(
2442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2448     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, position: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
2449     #[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2450     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, position: super::super::Foundation::Numerics::Vector3, normal: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
2451     #[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2452     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, position: super::super::Foundation::Numerics::Vector3, normal: super::super::Foundation::Numerics::Vector3, linearvelocity: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
2453     #[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2454     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2455     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
2456     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2457     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
2458 );
2459 #[repr(transparent)]
2460 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2461 #[doc(hidden)]
2462 pub struct IHolographicCameraRenderingParameters2(::windows::runtime::IInspectable);
2463 unsafe impl ::windows::runtime::Interface for IHolographicCameraRenderingParameters2 {
2464     type Vtable = IHolographicCameraRenderingParameters2_abi;
2465     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(638742755, 46742, 17972, [148, 214, 190, 6, 129, 100, 53, 153]);
2466 }
2467 #[repr(C)]
2468 #[doc(hidden)]
2469 pub struct IHolographicCameraRenderingParameters2_abi(
2470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicReprojectionMode) -> ::windows::runtime::HRESULT,
2477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: HolographicReprojectionMode) -> ::windows::runtime::HRESULT,
2478     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2479     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
2480 );
2481 #[repr(transparent)]
2482 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2483 #[doc(hidden)]
2484 pub struct IHolographicCameraRenderingParameters3(::windows::runtime::IInspectable);
2485 unsafe impl ::windows::runtime::Interface for IHolographicCameraRenderingParameters3 {
2486     type Vtable = IHolographicCameraRenderingParameters3_abi;
2487     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2980729151, 4973, 19206, [185, 212, 228, 185, 20, 205, 6, 131]);
2488 }
2489 #[repr(C)]
2490 #[doc(hidden)]
2491 pub struct IHolographicCameraRenderingParameters3_abi(
2492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2500 );
2501 #[repr(transparent)]
2502 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2503 #[doc(hidden)]
2504 pub struct IHolographicCameraRenderingParameters4(::windows::runtime::IInspectable);
2505 unsafe impl ::windows::runtime::Interface for IHolographicCameraRenderingParameters4 {
2506     type Vtable = IHolographicCameraRenderingParameters4_abi;
2507     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(142146124, 57699, 22492, [130, 183, 196, 6, 171, 62, 5, 55]);
2508 }
2509 #[repr(C)]
2510 #[doc(hidden)]
2511 pub struct IHolographicCameraRenderingParameters4_abi(
2512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicDepthReprojectionMethod) -> ::windows::runtime::HRESULT,
2519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: HolographicDepthReprojectionMethod) -> ::windows::runtime::HRESULT,
2520 );
2521 #[repr(transparent)]
2522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2523 #[doc(hidden)]
2524 pub struct IHolographicCameraViewportParameters(::windows::runtime::IInspectable);
2525 unsafe impl ::windows::runtime::Interface for IHolographicCameraViewportParameters {
2526     type Vtable = IHolographicCameraViewportParameters_abi;
2527     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2160980983, 33834, 16865, [147, 237, 86, 146, 171, 31, 187, 16]);
2528 }
2529 #[repr(C)]
2530 #[doc(hidden)]
2531 pub struct IHolographicCameraViewportParameters_abi(
2532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2538     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result_size__: *mut u32, result__: *mut *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
2539     #[cfg(not(feature = "Foundation_Numerics"))] usize,
2540     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result_size__: *mut u32, result__: *mut *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
2541     #[cfg(not(feature = "Foundation_Numerics"))] usize,
2542 );
2543 #[repr(transparent)]
2544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2545 #[doc(hidden)]
2546 pub struct IHolographicDisplay(::windows::runtime::IInspectable);
2547 unsafe impl ::windows::runtime::Interface for IHolographicDisplay {
2548     type Vtable = IHolographicDisplay_abi;
2549     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2597233684, 7583, 16528, [163, 136, 144, 192, 111, 110, 174, 156]);
2550 }
2551 #[repr(C)]
2552 #[doc(hidden)]
2553 pub struct IHolographicDisplay_abi(
2554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2561     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
2562     #[cfg(not(feature = "Foundation"))] usize,
2563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicAdapterId) -> ::windows::runtime::HRESULT,
2566     #[cfg(feature = "Perception_Spatial")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2567     #[cfg(not(feature = "Perception_Spatial"))] usize,
2568 );
2569 #[repr(transparent)]
2570 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2571 #[doc(hidden)]
2572 pub struct IHolographicDisplay2(::windows::runtime::IInspectable);
2573 unsafe impl ::windows::runtime::Interface for IHolographicDisplay2 {
2574     type Vtable = IHolographicDisplay2_abi;
2575     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1974222722, 59221, 17260, [141, 150, 77, 50, 209, 49, 71, 62]);
2576 }
2577 #[repr(C)]
2578 #[doc(hidden)]
2579 pub struct IHolographicDisplay2_abi(
2580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2587 );
2588 #[repr(transparent)]
2589 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2590 #[doc(hidden)]
2591 pub struct IHolographicDisplay3(::windows::runtime::IInspectable);
2592 unsafe impl ::windows::runtime::Interface for IHolographicDisplay3 {
2593     type Vtable = IHolographicDisplay3_abi;
2594     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4232866502, 25728, 20488, [178, 158, 21, 125, 119, 200, 67, 247]);
2595 }
2596 #[repr(C)]
2597 #[doc(hidden)]
2598 pub struct IHolographicDisplay3_abi(
2599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, kind: HolographicViewConfigurationKind, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2606 );
2607 #[repr(transparent)]
2608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2609 #[doc(hidden)]
2610 pub struct IHolographicDisplayStatics(::windows::runtime::IInspectable);
2611 unsafe impl ::windows::runtime::Interface for IHolographicDisplayStatics {
2612     type Vtable = IHolographicDisplayStatics_abi;
2613     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3409398147, 59312, 18497, [131, 85, 58, 229, 181, 54, 233, 164]);
2614 }
2615 #[repr(C)]
2616 #[doc(hidden)]
2617 pub struct IHolographicDisplayStatics_abi(
2618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2625 );
2626 #[repr(transparent)]
2627 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2628 #[doc(hidden)]
2629 pub struct IHolographicFrame(::windows::runtime::IInspectable);
2630 unsafe impl ::windows::runtime::Interface for IHolographicFrame {
2631     type Vtable = IHolographicFrame_abi;
2632     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3331886774, 43193, 12372, [166, 235, 214, 36, 182, 83, 99, 117]);
2633 }
2634 #[repr(C)]
2635 #[doc(hidden)]
2636 pub struct IHolographicFrame_abi(
2637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2643     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2644     #[cfg(not(feature = "Foundation_Collections"))] usize,
2645     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2646     #[cfg(not(feature = "Foundation_Collections"))] usize,
2647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, camerapose: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2648     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2649     #[cfg(not(feature = "Foundation"))] usize,
2650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicFramePresentResult) -> ::windows::runtime::HRESULT,
2653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, waitbehavior: HolographicFramePresentWaitBehavior, result__: *mut HolographicFramePresentResult) -> ::windows::runtime::HRESULT,
2654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2655 );
2656 #[repr(transparent)]
2657 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2658 #[doc(hidden)]
2659 pub struct IHolographicFrame2(::windows::runtime::IInspectable);
2660 unsafe impl ::windows::runtime::Interface for IHolographicFrame2 {
2661     type Vtable = IHolographicFrame2_abi;
2662     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(675231679, 15346, 24209, [102, 51, 135, 5, 116, 230, 242, 23]);
2663 }
2664 #[repr(C)]
2665 #[doc(hidden)]
2666 pub struct IHolographicFrame2_abi(
2667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, layer: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2674 );
2675 #[repr(transparent)]
2676 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2677 #[doc(hidden)]
2678 pub struct IHolographicFrame3(::windows::runtime::IInspectable);
2679 unsafe impl ::windows::runtime::Interface for IHolographicFrame3 {
2680     type Vtable = IHolographicFrame3_abi;
2681     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3857278153, 35367, 21971, [159, 152, 148, 83, 13, 54, 144, 82]);
2682 }
2683 #[repr(C)]
2684 #[doc(hidden)]
2685 pub struct IHolographicFrame3_abi(
2686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicFrameId) -> ::windows::runtime::HRESULT,
2693 );
2694 #[repr(transparent)]
2695 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2696 #[doc(hidden)]
2697 pub struct IHolographicFramePrediction(::windows::runtime::IInspectable);
2698 unsafe impl ::windows::runtime::Interface for IHolographicFramePrediction {
2699     type Vtable = IHolographicFramePrediction_abi;
2700     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1376734689, 23562, 20089, [168, 30, 106, 190, 2, 187, 39, 57]);
2701 }
2702 #[repr(C)]
2703 #[doc(hidden)]
2704 pub struct IHolographicFramePrediction_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     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2712     #[cfg(not(feature = "Foundation_Collections"))] usize,
2713     #[cfg(feature = "Perception")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2714     #[cfg(not(feature = "Perception"))] usize,
2715 );
2716 #[repr(transparent)]
2717 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2718 #[doc(hidden)]
2719 pub struct IHolographicFramePresentationMonitor(::windows::runtime::IInspectable);
2720 unsafe impl ::windows::runtime::Interface for IHolographicFramePresentationMonitor {
2721     type Vtable = IHolographicFramePresentationMonitor_abi;
2722     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3397854572, 28590, 17038, [187, 131, 37, 223, 238, 81, 19, 107]);
2723 }
2724 #[repr(C)]
2725 #[doc(hidden)]
2726 pub struct IHolographicFramePresentationMonitor_abi(
2727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2733     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2734     #[cfg(not(feature = "Foundation_Collections"))] 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 IHolographicFramePresentationReport(::windows::runtime::IInspectable);
2740 unsafe impl ::windows::runtime::Interface for IHolographicFramePresentationReport {
2741     type Vtable = IHolographicFramePresentationReport_abi;
2742     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2159736340, 62196, 19594, [141, 227, 6, 92, 120, 246, 213, 222]);
2743 }
2744 #[repr(C)]
2745 #[doc(hidden)]
2746 pub struct IHolographicFramePresentationReport_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     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2754     #[cfg(not(feature = "Foundation"))] usize,
2755     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2756     #[cfg(not(feature = "Foundation"))] usize,
2757     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2758     #[cfg(not(feature = "Foundation"))] usize,
2759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2761 );
2762 #[repr(transparent)]
2763 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2764 #[doc(hidden)]
2765 pub struct IHolographicFrameRenderingReport(::windows::runtime::IInspectable);
2766 unsafe impl ::windows::runtime::Interface for IHolographicFrameRenderingReport {
2767     type Vtable = IHolographicFrameRenderingReport_abi;
2768     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(99823076, 58244, 20915, [185, 52, 240, 211, 160, 247, 134, 6]);
2769 }
2770 #[repr(C)]
2771 #[doc(hidden)]
2772 pub struct IHolographicFrameRenderingReport_abi(
2773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicFrameId) -> ::windows::runtime::HRESULT,
2780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2781     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2782     #[cfg(not(feature = "Foundation"))] usize,
2783     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2784     #[cfg(not(feature = "Foundation"))] usize,
2785     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2786     #[cfg(not(feature = "Foundation"))] usize,
2787 );
2788 #[repr(transparent)]
2789 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2790 #[doc(hidden)]
2791 pub struct IHolographicFrameScanoutMonitor(::windows::runtime::IInspectable);
2792 unsafe impl ::windows::runtime::Interface for IHolographicFrameScanoutMonitor {
2793     type Vtable = IHolographicFrameScanoutMonitor_abi;
2794     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2122575785, 33852, 21505, [128, 149, 155, 193, 184, 176, 134, 56]);
2795 }
2796 #[repr(C)]
2797 #[doc(hidden)]
2798 pub struct IHolographicFrameScanoutMonitor_abi(
2799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2805     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2806     #[cfg(not(feature = "Foundation_Collections"))] usize,
2807 );
2808 #[repr(transparent)]
2809 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2810 #[doc(hidden)]
2811 pub struct IHolographicFrameScanoutReport(::windows::runtime::IInspectable);
2812 unsafe impl ::windows::runtime::Interface for IHolographicFrameScanoutReport {
2813     type Vtable = IHolographicFrameScanoutReport_abi;
2814     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(247195142, 928, 23712, [180, 110, 187, 160, 104, 215, 35, 63]);
2815 }
2816 #[repr(C)]
2817 #[doc(hidden)]
2818 pub struct IHolographicFrameScanoutReport_abi(
2819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2827     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2828     #[cfg(not(feature = "Foundation"))] usize,
2829     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2830     #[cfg(not(feature = "Foundation"))] usize,
2831     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2832     #[cfg(not(feature = "Foundation"))] usize,
2833 );
2834 #[repr(transparent)]
2835 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2836 #[doc(hidden)]
2837 pub struct IHolographicQuadLayer(::windows::runtime::IInspectable);
2838 unsafe impl ::windows::runtime::Interface for IHolographicQuadLayer {
2839     type Vtable = IHolographicQuadLayer_abi;
2840     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2419351753, 51673, 23900, [65, 172, 162, 213, 171, 15, 211, 49]);
2841 }
2842 #[repr(C)]
2843 #[doc(hidden)]
2844 pub struct IHolographicQuadLayer_abi(
2845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2851     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::DirectX::DirectXPixelFormat) -> ::windows::runtime::HRESULT,
2852     #[cfg(not(feature = "Graphics_DirectX"))] usize,
2853     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
2854     #[cfg(not(feature = "Foundation"))] usize,
2855 );
2856 #[repr(transparent)]
2857 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2858 #[doc(hidden)]
2859 pub struct IHolographicQuadLayerFactory(::windows::runtime::IInspectable);
2860 unsafe impl ::windows::runtime::Interface for IHolographicQuadLayerFactory {
2861     type Vtable = IHolographicQuadLayerFactory_abi;
2862     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2792700147, 23060, 23056, [72, 154, 69, 80, 101, 179, 123, 118]);
2863 }
2864 #[repr(C)]
2865 #[doc(hidden)]
2866 pub struct IHolographicQuadLayerFactory_abi(
2867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2873     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: super::super::Foundation::Size, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2874     #[cfg(not(feature = "Foundation"))] usize,
2875     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: super::super::Foundation::Size, pixelformat: super::DirectX::DirectXPixelFormat, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2876     #[cfg(not(all(feature = "Foundation", feature = "Graphics_DirectX")))] usize,
2877 );
2878 #[repr(transparent)]
2879 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2880 #[doc(hidden)]
2881 pub struct IHolographicQuadLayerUpdateParameters(::windows::runtime::IInspectable);
2882 unsafe impl ::windows::runtime::Interface for IHolographicQuadLayerUpdateParameters {
2883     type Vtable = IHolographicQuadLayerUpdateParameters_abi;
2884     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(722379696, 31117, 23498, [85, 194, 44, 12, 118, 46, 187, 8]);
2885 }
2886 #[repr(C)]
2887 #[doc(hidden)]
2888 pub struct IHolographicQuadLayerUpdateParameters_abi(
2889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2895     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2896     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
2897     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
2898     #[cfg(not(feature = "Foundation"))] usize,
2899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2900     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
2901     #[cfg(not(feature = "Foundation_Numerics"))] usize,
2902     #[cfg(all(feature = "Foundation_Numerics", feature = "Perception_Spatial"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, coordinatesystem: ::windows::runtime::RawPtr, position: super::super::Foundation::Numerics::Vector3, orientation: super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
2903     #[cfg(not(all(feature = "Foundation_Numerics", feature = "Perception_Spatial")))] usize,
2904     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: super::super::Foundation::Numerics::Vector3, orientation: super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
2905     #[cfg(not(feature = "Foundation_Numerics"))] usize,
2906 );
2907 #[repr(transparent)]
2908 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2909 #[doc(hidden)]
2910 pub struct IHolographicQuadLayerUpdateParameters2(::windows::runtime::IInspectable);
2911 unsafe impl ::windows::runtime::Interface for IHolographicQuadLayerUpdateParameters2 {
2912     type Vtable = IHolographicQuadLayerUpdateParameters2_abi;
2913     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1328796461, 33473, 18113, [137, 128, 60, 183, 13, 152, 24, 43]);
2914 }
2915 #[repr(C)]
2916 #[doc(hidden)]
2917 pub struct IHolographicQuadLayerUpdateParameters2_abi(
2918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2925     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2926     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
2927 );
2928 #[repr(transparent)]
2929 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2930 #[doc(hidden)]
2931 pub struct IHolographicSpace(::windows::runtime::IInspectable);
2932 unsafe impl ::windows::runtime::Interface for IHolographicSpace {
2933     type Vtable = IHolographicSpace_abi;
2934     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1132518310, 24184, 17231, [128, 124, 52, 51, 209, 239, 232, 183]);
2935 }
2936 #[repr(C)]
2937 #[doc(hidden)]
2938 pub struct IHolographicSpace_abi(
2939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicAdapterId) -> ::windows::runtime::HRESULT,
2946     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2947     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
2948     #[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,
2949     #[cfg(not(feature = "Foundation"))] usize,
2950     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2951     #[cfg(not(feature = "Foundation"))] usize,
2952     #[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,
2953     #[cfg(not(feature = "Foundation"))] usize,
2954     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2955     #[cfg(not(feature = "Foundation"))] usize,
2956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2957 );
2958 #[repr(transparent)]
2959 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2960 #[doc(hidden)]
2961 pub struct IHolographicSpace2(::windows::runtime::IInspectable);
2962 unsafe impl ::windows::runtime::Interface for IHolographicSpace2 {
2963     type Vtable = IHolographicSpace2_abi;
2964     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1333897640, 47103, 18563, [152, 39, 125, 103, 114, 135, 234, 112]);
2965 }
2966 #[repr(C)]
2967 #[doc(hidden)]
2968 pub struct IHolographicSpace2_abi(
2969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicSpaceUserPresence) -> ::windows::runtime::HRESULT,
2976     #[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,
2977     #[cfg(not(feature = "Foundation"))] usize,
2978     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2979     #[cfg(not(feature = "Foundation"))] usize,
2980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2981     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestedheadstartduration: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
2982     #[cfg(not(feature = "Foundation"))] usize,
2983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxqueuedreports: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2984 );
2985 #[repr(transparent)]
2986 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2987 #[doc(hidden)]
2988 pub struct IHolographicSpace3(::windows::runtime::IInspectable);
2989 unsafe impl ::windows::runtime::Interface for IHolographicSpace3 {
2990     type Vtable = IHolographicSpace3_abi;
2991     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3742839761, 61988, 22654, [141, 113, 30, 143, 200, 240, 123, 31]);
2992 }
2993 #[repr(C)]
2994 #[doc(hidden)]
2995 pub struct IHolographicSpace3_abi(
2996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maxqueuedreports: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3003 );
3004 #[repr(transparent)]
3005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3006 #[doc(hidden)]
3007 pub struct IHolographicSpaceCameraAddedEventArgs(::windows::runtime::IInspectable);
3008 unsafe impl ::windows::runtime::Interface for IHolographicSpaceCameraAddedEventArgs {
3009     type Vtable = IHolographicSpaceCameraAddedEventArgs_abi;
3010     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1492245045, 48051, 15503, [153, 61, 108, 128, 231, 254, 185, 159]);
3011 }
3012 #[repr(C)]
3013 #[doc(hidden)]
3014 pub struct IHolographicSpaceCameraAddedEventArgs_abi(
3015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3022     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3023     #[cfg(not(feature = "Foundation"))] usize,
3024 );
3025 #[repr(transparent)]
3026 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3027 #[doc(hidden)]
3028 pub struct IHolographicSpaceCameraRemovedEventArgs(::windows::runtime::IInspectable);
3029 unsafe impl ::windows::runtime::Interface for IHolographicSpaceCameraRemovedEventArgs {
3030     type Vtable = IHolographicSpaceCameraRemovedEventArgs_abi;
3031     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2153006248, 62126, 12846, [141, 169, 131, 106, 10, 149, 164, 193]);
3032 }
3033 #[repr(C)]
3034 #[doc(hidden)]
3035 pub struct IHolographicSpaceCameraRemovedEventArgs_abi(
3036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3043 );
3044 #[repr(transparent)]
3045 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3046 #[doc(hidden)]
3047 pub struct IHolographicSpaceStatics(::windows::runtime::IInspectable);
3048 unsafe impl ::windows::runtime::Interface for IHolographicSpaceStatics {
3049     type Vtable = IHolographicSpaceStatics_abi;
3050     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(911106148, 51442, 15265, [131, 145, 102, 184, 72, 158, 103, 253]);
3051 }
3052 #[repr(C)]
3053 #[doc(hidden)]
3054 pub struct IHolographicSpaceStatics_abi(
3055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3061     #[cfg(feature = "UI_Core")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, window: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3062     #[cfg(not(feature = "UI_Core"))] usize,
3063 );
3064 #[repr(transparent)]
3065 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3066 #[doc(hidden)]
3067 pub struct IHolographicSpaceStatics2(::windows::runtime::IInspectable);
3068 unsafe impl ::windows::runtime::Interface for IHolographicSpaceStatics2 {
3069     type Vtable = IHolographicSpaceStatics2_abi;
3070     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(242708616, 30204, 18607, [135, 88, 6, 82, 246, 240, 124, 89]);
3071 }
3072 #[repr(C)]
3073 #[doc(hidden)]
3074 pub struct IHolographicSpaceStatics2_abi(
3075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3083     #[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,
3084     #[cfg(not(feature = "Foundation"))] usize,
3085     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3086     #[cfg(not(feature = "Foundation"))] usize,
3087 );
3088 #[repr(transparent)]
3089 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3090 #[doc(hidden)]
3091 pub struct IHolographicSpaceStatics3(::windows::runtime::IInspectable);
3092 unsafe impl ::windows::runtime::Interface for IHolographicSpaceStatics3 {
3093     type Vtable = IHolographicSpaceStatics3_abi;
3094     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(989912637, 45475, 19966, [142, 121, 254, 197, 144, 158, 109, 248]);
3095 }
3096 #[repr(C)]
3097 #[doc(hidden)]
3098 pub struct IHolographicSpaceStatics3_abi(
3099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3106 );
3107 #[repr(transparent)]
3108 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3109 #[doc(hidden)]
3110 pub struct IHolographicViewConfiguration(::windows::runtime::IInspectable);
3111 unsafe impl ::windows::runtime::Interface for IHolographicViewConfiguration {
3112     type Vtable = IHolographicViewConfiguration_abi;
3113     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1545463526, 26601, 20484, [176, 44, 103, 163, 161, 34, 181, 118]);
3114 }
3115 #[repr(C)]
3116 #[doc(hidden)]
3117 pub struct IHolographicViewConfiguration_abi(
3118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3124     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
3125     #[cfg(not(feature = "Foundation"))] usize,
3126     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
3127     #[cfg(not(feature = "Foundation"))] usize,
3128     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: super::super::Foundation::Size, result__: *mut super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
3129     #[cfg(not(feature = "Foundation"))] usize,
3130     #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_DirectX"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3131     #[cfg(not(all(feature = "Foundation_Collections", feature = "Graphics_DirectX")))] usize,
3132     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::DirectX::DirectXPixelFormat) -> ::windows::runtime::HRESULT,
3133     #[cfg(not(feature = "Graphics_DirectX"))] usize,
3134     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::DirectX::DirectXPixelFormat) -> ::windows::runtime::HRESULT,
3135     #[cfg(not(feature = "Graphics_DirectX"))] usize,
3136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
3138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HolographicViewConfigurationKind) -> ::windows::runtime::HRESULT,
3139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
3142 );
3143 #[repr(transparent)]
3144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3145 #[doc(hidden)]
3146 pub struct IHolographicViewConfiguration2(::windows::runtime::IInspectable);
3147 unsafe impl ::windows::runtime::Interface for IHolographicViewConfiguration2 {
3148     type Vtable = IHolographicViewConfiguration2_abi;
3149     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3795940718, 57552, 20505, [154, 245, 27, 22, 91, 194, 245, 78]);
3150 }
3151 #[repr(C)]
3152 #[doc(hidden)]
3153 pub struct IHolographicViewConfiguration2_abi(
3154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3160     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3161     #[cfg(not(feature = "Foundation_Collections"))] usize,
3162 );
3163