1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3 #[repr(transparent)]
4 pub struct BaseValueSource(pub i32);
5 pub const BaseValueSourceUnknown: BaseValueSource = BaseValueSource(0i32);
6 pub const BaseValueSourceDefault: BaseValueSource = BaseValueSource(1i32);
7 pub const BaseValueSourceBuiltInStyle: BaseValueSource = BaseValueSource(2i32);
8 pub const BaseValueSourceStyle: BaseValueSource = BaseValueSource(3i32);
9 pub const BaseValueSourceLocal: BaseValueSource = BaseValueSource(4i32);
10 pub const Inherited: BaseValueSource = BaseValueSource(5i32);
11 pub const DefaultStyleTrigger: BaseValueSource = BaseValueSource(6i32);
12 pub const TemplateTrigger: BaseValueSource = BaseValueSource(7i32);
13 pub const StyleTrigger: BaseValueSource = BaseValueSource(8i32);
14 pub const ImplicitStyleReference: BaseValueSource = BaseValueSource(9i32);
15 pub const ParentTemplate: BaseValueSource = BaseValueSource(10i32);
16 pub const ParentTemplateTrigger: BaseValueSource = BaseValueSource(11i32);
17 pub const Animation: BaseValueSource = BaseValueSource(12i32);
18 pub const Coercion: BaseValueSource = BaseValueSource(13i32);
19 pub const BaseValueSourceVisualState: BaseValueSource = BaseValueSource(14i32);
20 impl ::std::convert::From<i32> for BaseValueSource {
from(value: i32) -> Self21     fn from(value: i32) -> Self {
22         Self(value)
23     }
24 }
25 unsafe impl ::windows::runtime::Abi for BaseValueSource {
26     type Abi = Self;
27     type DefaultType = Self;
28 }
29 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
30 #[repr(C)]
31 #[cfg(feature = "Win32_Graphics_Dxgi")]
32 pub struct BitmapDescription {
33     pub Width: u32,
34     pub Height: u32,
35     pub Format: super::super::super::Graphics::Dxgi::DXGI_FORMAT,
36     pub AlphaMode: super::super::super::Graphics::Dxgi::DXGI_ALPHA_MODE,
37 }
38 #[cfg(feature = "Win32_Graphics_Dxgi")]
39 impl BitmapDescription {}
40 #[cfg(feature = "Win32_Graphics_Dxgi")]
41 impl ::std::default::Default for BitmapDescription {
default() -> Self42     fn default() -> Self {
43         unsafe { ::std::mem::zeroed() }
44     }
45 }
46 #[cfg(feature = "Win32_Graphics_Dxgi")]
47 impl ::std::fmt::Debug for BitmapDescription {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result48     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
49         fmt.debug_struct("BitmapDescription").field("Width", &self.Width).field("Height", &self.Height).field("Format", &self.Format).field("AlphaMode", &self.AlphaMode).finish()
50     }
51 }
52 #[cfg(feature = "Win32_Graphics_Dxgi")]
53 impl ::std::cmp::PartialEq for BitmapDescription {
eq(&self, other: &Self) -> bool54     fn eq(&self, other: &Self) -> bool {
55         self.Width == other.Width && self.Height == other.Height && self.Format == other.Format && self.AlphaMode == other.AlphaMode
56     }
57 }
58 #[cfg(feature = "Win32_Graphics_Dxgi")]
59 impl ::std::cmp::Eq for BitmapDescription {}
60 #[cfg(feature = "Win32_Graphics_Dxgi")]
61 unsafe impl ::windows::runtime::Abi for BitmapDescription {
62     type Abi = Self;
63     type DefaultType = Self;
64 }
65 #[derive(:: std :: clone :: Clone)]
66 #[repr(C)]
67 #[cfg(feature = "Win32_Foundation")]
68 pub struct CollectionElementValue {
69     pub Index: u32,
70     pub ValueType: super::super::super::Foundation::BSTR,
71     pub Value: super::super::super::Foundation::BSTR,
72     pub MetadataBits: i64,
73 }
74 #[cfg(feature = "Win32_Foundation")]
75 impl CollectionElementValue {}
76 #[cfg(feature = "Win32_Foundation")]
77 impl ::std::default::Default for CollectionElementValue {
default() -> Self78     fn default() -> Self {
79         unsafe { ::std::mem::zeroed() }
80     }
81 }
82 #[cfg(feature = "Win32_Foundation")]
83 impl ::std::fmt::Debug for CollectionElementValue {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result84     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
85         fmt.debug_struct("CollectionElementValue").field("Index", &self.Index).field("ValueType", &self.ValueType).field("Value", &self.Value).field("MetadataBits", &self.MetadataBits).finish()
86     }
87 }
88 #[cfg(feature = "Win32_Foundation")]
89 impl ::std::cmp::PartialEq for CollectionElementValue {
eq(&self, other: &Self) -> bool90     fn eq(&self, other: &Self) -> bool {
91         self.Index == other.Index && self.ValueType == other.ValueType && self.Value == other.Value && self.MetadataBits == other.MetadataBits
92     }
93 }
94 #[cfg(feature = "Win32_Foundation")]
95 impl ::std::cmp::Eq for CollectionElementValue {}
96 #[cfg(feature = "Win32_Foundation")]
97 unsafe impl ::windows::runtime::Abi for CollectionElementValue {
98     type Abi = ::std::mem::ManuallyDrop<Self>;
99     type DefaultType = Self;
100 }
101 pub const E_UNKNOWNTYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2144665560i32 as _);
102 #[derive(:: std :: clone :: Clone)]
103 #[repr(C)]
104 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
105 pub struct EnumType {
106     pub Name: super::super::super::Foundation::BSTR,
107     pub ValueInts: *mut super::super::super::System::Com::SAFEARRAY,
108     pub ValueStrings: *mut super::super::super::System::Com::SAFEARRAY,
109 }
110 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
111 impl EnumType {}
112 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
113 impl ::std::default::Default for EnumType {
default() -> Self114     fn default() -> Self {
115         unsafe { ::std::mem::zeroed() }
116     }
117 }
118 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
119 impl ::std::fmt::Debug for EnumType {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result120     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
121         fmt.debug_struct("EnumType").field("Name", &self.Name).field("ValueInts", &self.ValueInts).field("ValueStrings", &self.ValueStrings).finish()
122     }
123 }
124 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
125 impl ::std::cmp::PartialEq for EnumType {
eq(&self, other: &Self) -> bool126     fn eq(&self, other: &Self) -> bool {
127         self.Name == other.Name && self.ValueInts == other.ValueInts && self.ValueStrings == other.ValueStrings
128     }
129 }
130 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
131 impl ::std::cmp::Eq for EnumType {}
132 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
133 unsafe impl ::windows::runtime::Abi for EnumType {
134     type Abi = ::std::mem::ManuallyDrop<Self>;
135     type DefaultType = Self;
136 }
137 #[repr(transparent)]
138 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
139 pub struct IBitmapData(::windows::runtime::IUnknown);
140 impl IBitmapData {
CopyBytesTo(&self, sourceoffsetinbytes: u32, maxbytestocopy: u32, pvbytes: *mut u8, numberofbytescopied: *mut u32) -> ::windows::runtime::Result<()>141     pub unsafe fn CopyBytesTo(&self, sourceoffsetinbytes: u32, maxbytestocopy: u32, pvbytes: *mut u8, numberofbytescopied: *mut u32) -> ::windows::runtime::Result<()> {
142         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(sourceoffsetinbytes), ::std::mem::transmute(maxbytestocopy), ::std::mem::transmute(pvbytes), ::std::mem::transmute(numberofbytescopied)).ok()
143     }
GetStride(&self) -> ::windows::runtime::Result<u32>144     pub unsafe fn GetStride(&self) -> ::windows::runtime::Result<u32> {
145         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
146         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
147     }
148     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetBitmapDescription(&self) -> ::windows::runtime::Result<BitmapDescription>149     pub unsafe fn GetBitmapDescription(&self) -> ::windows::runtime::Result<BitmapDescription> {
150         let mut result__: <BitmapDescription as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
151         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BitmapDescription>(result__)
152     }
153     #[cfg(feature = "Win32_Graphics_Dxgi")]
GetSourceBitmapDescription(&self) -> ::windows::runtime::Result<BitmapDescription>154     pub unsafe fn GetSourceBitmapDescription(&self) -> ::windows::runtime::Result<BitmapDescription> {
155         let mut result__: <BitmapDescription as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
156         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BitmapDescription>(result__)
157     }
158 }
159 unsafe impl ::windows::runtime::Interface for IBitmapData {
160     type Vtable = IBitmapData_abi;
161     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3517140722, 51928, 17973, [163, 210, 252, 218, 141, 63, 60, 175]);
162 }
163 impl ::std::convert::From<IBitmapData> for ::windows::runtime::IUnknown {
from(value: IBitmapData) -> Self164     fn from(value: IBitmapData) -> Self {
165         unsafe { ::std::mem::transmute(value) }
166     }
167 }
168 impl ::std::convert::From<&IBitmapData> for ::windows::runtime::IUnknown {
from(value: &IBitmapData) -> Self169     fn from(value: &IBitmapData) -> Self {
170         ::std::convert::From::from(::std::clone::Clone::clone(value))
171     }
172 }
173 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBitmapData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>174     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
175         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
176     }
177 }
178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBitmapData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
181     }
182 }
183 #[repr(C)]
184 #[doc(hidden)]
185 pub struct IBitmapData_abi(
186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sourceoffsetinbytes: u32, maxbytestocopy: u32, pvbytes: *mut u8, numberofbytescopied: *mut u32) -> ::windows::runtime::HRESULT,
190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstride: *mut u32) -> ::windows::runtime::HRESULT,
191     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbitmapdescription: *mut BitmapDescription) -> ::windows::runtime::HRESULT,
192     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
193     #[cfg(feature = "Win32_Graphics_Dxgi")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbitmapdescription: *mut BitmapDescription) -> ::windows::runtime::HRESULT,
194     #[cfg(not(feature = "Win32_Graphics_Dxgi"))] usize,
195 );
196 #[repr(transparent)]
197 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
198 pub struct IVisualTreeService(::windows::runtime::IUnknown);
199 impl IVisualTreeService {
AdviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>200     pub unsafe fn AdviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
201         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
202     }
UnadviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>203     pub unsafe fn UnadviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
204         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
205     }
206     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetEnums(&self, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::Result<()>207     pub unsafe fn GetEnums(&self, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::Result<()> {
208         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcount), ::std::mem::transmute(ppenums)).ok()
209     }
210     #[cfg(feature = "Win32_Foundation")]
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>>(&self, typename: Param0, value: Param1) -> ::windows::runtime::Result<u64>211     pub unsafe fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>>(&self, typename: Param0, value: Param1) -> ::windows::runtime::Result<u64> {
212         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
213         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), typename.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<u64>(result__)
214     }
215     #[cfg(feature = "Win32_Foundation")]
GetPropertyValuesChain(&self, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::Result<()>216     pub unsafe fn GetPropertyValuesChain(&self, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::Result<()> {
217         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(psourcecount), ::std::mem::transmute(pppropertysources), ::std::mem::transmute(ppropertycount), ::std::mem::transmute(pppropertyvalues)).ok()
218     }
SetProperty(&self, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::Result<()>219     pub unsafe fn SetProperty(&self, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::Result<()> {
220         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(value), ::std::mem::transmute(propertyindex)).ok()
221     }
ClearProperty(&self, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::Result<()>222     pub unsafe fn ClearProperty(&self, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::Result<()> {
223         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(propertyindex)).ok()
224     }
GetCollectionCount(&self, instancehandle: u64) -> ::windows::runtime::Result<u32>225     pub unsafe fn GetCollectionCount(&self, instancehandle: u64) -> ::windows::runtime::Result<u32> {
226         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
227         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), &mut result__).from_abi::<u32>(result__)
228     }
229     #[cfg(feature = "Win32_Foundation")]
GetCollectionElements(&self, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::Result<()>230     pub unsafe fn GetCollectionElements(&self, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::Result<()> {
231         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(startindex), ::std::mem::transmute(pelementcount), ::std::mem::transmute(ppelementvalues)).ok()
232     }
AddChild(&self, parent: u64, child: u64, index: u32) -> ::windows::runtime::Result<()>233     pub unsafe fn AddChild(&self, parent: u64, child: u64, index: u32) -> ::windows::runtime::Result<()> {
234         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent), ::std::mem::transmute(child), ::std::mem::transmute(index)).ok()
235     }
RemoveChild(&self, parent: u64, index: u32) -> ::windows::runtime::Result<()>236     pub unsafe fn RemoveChild(&self, parent: u64, index: u32) -> ::windows::runtime::Result<()> {
237         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent), ::std::mem::transmute(index)).ok()
238     }
ClearChildren(&self, parent: u64) -> ::windows::runtime::Result<()>239     pub unsafe fn ClearChildren(&self, parent: u64) -> ::windows::runtime::Result<()> {
240         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent)).ok()
241     }
242 }
243 unsafe impl ::windows::runtime::Interface for IVisualTreeService {
244     type Vtable = IVisualTreeService_abi;
245     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2777919770, 53631, 18619, [143, 102, 131, 145, 7, 49, 200, 165]);
246 }
247 impl ::std::convert::From<IVisualTreeService> for ::windows::runtime::IUnknown {
from(value: IVisualTreeService) -> Self248     fn from(value: IVisualTreeService) -> Self {
249         unsafe { ::std::mem::transmute(value) }
250     }
251 }
252 impl ::std::convert::From<&IVisualTreeService> for ::windows::runtime::IUnknown {
from(value: &IVisualTreeService) -> Self253     fn from(value: &IVisualTreeService) -> Self {
254         ::std::convert::From::from(::std::clone::Clone::clone(value))
255     }
256 }
257 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVisualTreeService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>258     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
259         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
260     }
261 }
262 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVisualTreeService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>263     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
264         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
265     }
266 }
267 #[repr(C)]
268 #[doc(hidden)]
269 pub struct IVisualTreeService_abi(
270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
275     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::HRESULT,
276     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
277     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, typename: ::std::mem::ManuallyDrop<super::super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::super::Foundation::BSTR>, pinstancehandle: *mut u64) -> ::windows::runtime::HRESULT,
278     #[cfg(not(feature = "Win32_Foundation"))] usize,
279     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::HRESULT,
280     #[cfg(not(feature = "Win32_Foundation"))] usize,
281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::HRESULT,
282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::HRESULT,
283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, pcollectionsize: *mut u32) -> ::windows::runtime::HRESULT,
284     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::HRESULT,
285     #[cfg(not(feature = "Win32_Foundation"))] usize,
286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64, child: u64, index: u32) -> ::windows::runtime::HRESULT,
287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64, index: u32) -> ::windows::runtime::HRESULT,
288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64) -> ::windows::runtime::HRESULT,
289 );
290 #[repr(transparent)]
291 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
292 pub struct IVisualTreeService2(::windows::runtime::IUnknown);
293 impl IVisualTreeService2 {
AdviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>294     pub unsafe fn AdviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
295         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
296     }
UnadviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>297     pub unsafe fn UnadviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
298         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
299     }
300     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetEnums(&self, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::Result<()>301     pub unsafe fn GetEnums(&self, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::Result<()> {
302         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcount), ::std::mem::transmute(ppenums)).ok()
303     }
304     #[cfg(feature = "Win32_Foundation")]
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>>(&self, typename: Param0, value: Param1) -> ::windows::runtime::Result<u64>305     pub unsafe fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>>(&self, typename: Param0, value: Param1) -> ::windows::runtime::Result<u64> {
306         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
307         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), typename.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<u64>(result__)
308     }
309     #[cfg(feature = "Win32_Foundation")]
GetPropertyValuesChain(&self, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::Result<()>310     pub unsafe fn GetPropertyValuesChain(&self, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::Result<()> {
311         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(psourcecount), ::std::mem::transmute(pppropertysources), ::std::mem::transmute(ppropertycount), ::std::mem::transmute(pppropertyvalues)).ok()
312     }
SetProperty(&self, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::Result<()>313     pub unsafe fn SetProperty(&self, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::Result<()> {
314         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(value), ::std::mem::transmute(propertyindex)).ok()
315     }
ClearProperty(&self, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::Result<()>316     pub unsafe fn ClearProperty(&self, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::Result<()> {
317         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(propertyindex)).ok()
318     }
GetCollectionCount(&self, instancehandle: u64) -> ::windows::runtime::Result<u32>319     pub unsafe fn GetCollectionCount(&self, instancehandle: u64) -> ::windows::runtime::Result<u32> {
320         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
321         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), &mut result__).from_abi::<u32>(result__)
322     }
323     #[cfg(feature = "Win32_Foundation")]
GetCollectionElements(&self, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::Result<()>324     pub unsafe fn GetCollectionElements(&self, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::Result<()> {
325         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(startindex), ::std::mem::transmute(pelementcount), ::std::mem::transmute(ppelementvalues)).ok()
326     }
AddChild(&self, parent: u64, child: u64, index: u32) -> ::windows::runtime::Result<()>327     pub unsafe fn AddChild(&self, parent: u64, child: u64, index: u32) -> ::windows::runtime::Result<()> {
328         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent), ::std::mem::transmute(child), ::std::mem::transmute(index)).ok()
329     }
RemoveChild(&self, parent: u64, index: u32) -> ::windows::runtime::Result<()>330     pub unsafe fn RemoveChild(&self, parent: u64, index: u32) -> ::windows::runtime::Result<()> {
331         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent), ::std::mem::transmute(index)).ok()
332     }
ClearChildren(&self, parent: u64) -> ::windows::runtime::Result<()>333     pub unsafe fn ClearChildren(&self, parent: u64) -> ::windows::runtime::Result<()> {
334         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent)).ok()
335     }
336     #[cfg(feature = "Win32_Foundation")]
GetPropertyIndex<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, object: u64, propertyname: Param1) -> ::windows::runtime::Result<u32>337     pub unsafe fn GetPropertyIndex<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, object: u64, propertyname: Param1) -> ::windows::runtime::Result<u32> {
338         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
339         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), propertyname.into_param().abi(), &mut result__).from_abi::<u32>(result__)
340     }
GetProperty(&self, object: u64, propertyindex: u32) -> ::windows::runtime::Result<u64>341     pub unsafe fn GetProperty(&self, object: u64, propertyindex: u32) -> ::windows::runtime::Result<u64> {
342         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
343         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), ::std::mem::transmute(propertyindex), &mut result__).from_abi::<u64>(result__)
344     }
ReplaceResource(&self, resourcedictionary: u64, key: u64, newvalue: u64) -> ::windows::runtime::Result<()>345     pub unsafe fn ReplaceResource(&self, resourcedictionary: u64, key: u64, newvalue: u64) -> ::windows::runtime::Result<()> {
346         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(resourcedictionary), ::std::mem::transmute(key), ::std::mem::transmute(newvalue)).ok()
347     }
RenderTargetBitmap(&self, handle: u64, options: RenderTargetBitmapOptions, maxpixelwidth: u32, maxpixelheight: u32) -> ::windows::runtime::Result<IBitmapData>348     pub unsafe fn RenderTargetBitmap(&self, handle: u64, options: RenderTargetBitmapOptions, maxpixelwidth: u32, maxpixelheight: u32) -> ::windows::runtime::Result<IBitmapData> {
349         let mut result__: <IBitmapData as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
350         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(handle), ::std::mem::transmute(options), ::std::mem::transmute(maxpixelwidth), ::std::mem::transmute(maxpixelheight), &mut result__).from_abi::<IBitmapData>(result__)
351     }
352 }
353 unsafe impl ::windows::runtime::Interface for IVisualTreeService2 {
354     type Vtable = IVisualTreeService2_abi;
355     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(319770934, 60483, 20321, [137, 199, 152, 1, 163, 109, 46, 149]);
356 }
357 impl ::std::convert::From<IVisualTreeService2> for ::windows::runtime::IUnknown {
from(value: IVisualTreeService2) -> Self358     fn from(value: IVisualTreeService2) -> Self {
359         unsafe { ::std::mem::transmute(value) }
360     }
361 }
362 impl ::std::convert::From<&IVisualTreeService2> for ::windows::runtime::IUnknown {
from(value: &IVisualTreeService2) -> Self363     fn from(value: &IVisualTreeService2) -> Self {
364         ::std::convert::From::from(::std::clone::Clone::clone(value))
365     }
366 }
367 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVisualTreeService2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>368     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
369         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
370     }
371 }
372 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVisualTreeService2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>373     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
374         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
375     }
376 }
377 impl ::std::convert::From<IVisualTreeService2> for IVisualTreeService {
from(value: IVisualTreeService2) -> Self378     fn from(value: IVisualTreeService2) -> Self {
379         unsafe { ::std::mem::transmute(value) }
380     }
381 }
382 impl ::std::convert::From<&IVisualTreeService2> for IVisualTreeService {
from(value: &IVisualTreeService2) -> Self383     fn from(value: &IVisualTreeService2) -> Self {
384         ::std::convert::From::from(::std::clone::Clone::clone(value))
385     }
386 }
387 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeService> for IVisualTreeService2 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService>388     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService> {
389         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeService>::into(self))
390     }
391 }
392 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeService> for &IVisualTreeService2 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService>393     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService> {
394         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeService>::into(::std::clone::Clone::clone(self)))
395     }
396 }
397 #[repr(C)]
398 #[doc(hidden)]
399 pub struct IVisualTreeService2_abi(
400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
405     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::HRESULT,
406     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
407     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, typename: ::std::mem::ManuallyDrop<super::super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::super::Foundation::BSTR>, pinstancehandle: *mut u64) -> ::windows::runtime::HRESULT,
408     #[cfg(not(feature = "Win32_Foundation"))] usize,
409     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::HRESULT,
410     #[cfg(not(feature = "Win32_Foundation"))] usize,
411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::HRESULT,
412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::HRESULT,
413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, pcollectionsize: *mut u32) -> ::windows::runtime::HRESULT,
414     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::HRESULT,
415     #[cfg(not(feature = "Win32_Foundation"))] usize,
416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64, child: u64, index: u32) -> ::windows::runtime::HRESULT,
417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64, index: u32) -> ::windows::runtime::HRESULT,
418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64) -> ::windows::runtime::HRESULT,
419     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: u64, propertyname: super::super::super::Foundation::PWSTR, ppropertyindex: *mut u32) -> ::windows::runtime::HRESULT,
420     #[cfg(not(feature = "Win32_Foundation"))] usize,
421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: u64, propertyindex: u32, pvalue: *mut u64) -> ::windows::runtime::HRESULT,
422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcedictionary: u64, key: u64, newvalue: u64) -> ::windows::runtime::HRESULT,
423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handle: u64, options: RenderTargetBitmapOptions, maxpixelwidth: u32, maxpixelheight: u32, ppbitmapdata: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
424 );
425 #[repr(transparent)]
426 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
427 pub struct IVisualTreeService3(::windows::runtime::IUnknown);
428 impl IVisualTreeService3 {
AdviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>429     pub unsafe fn AdviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
430         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
431     }
UnadviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()>432     pub unsafe fn UnadviseVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback>>(&self, pcallback: Param0) -> ::windows::runtime::Result<()> {
433         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pcallback.into_param().abi()).ok()
434     }
435     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetEnums(&self, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::Result<()>436     pub unsafe fn GetEnums(&self, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::Result<()> {
437         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcount), ::std::mem::transmute(ppenums)).ok()
438     }
439     #[cfg(feature = "Win32_Foundation")]
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>>(&self, typename: Param0, value: Param1) -> ::windows::runtime::Result<u64>440     pub unsafe fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BSTR>>(&self, typename: Param0, value: Param1) -> ::windows::runtime::Result<u64> {
441         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
442         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), typename.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<u64>(result__)
443     }
444     #[cfg(feature = "Win32_Foundation")]
GetPropertyValuesChain(&self, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::Result<()>445     pub unsafe fn GetPropertyValuesChain(&self, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::Result<()> {
446         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(psourcecount), ::std::mem::transmute(pppropertysources), ::std::mem::transmute(ppropertycount), ::std::mem::transmute(pppropertyvalues)).ok()
447     }
SetProperty(&self, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::Result<()>448     pub unsafe fn SetProperty(&self, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::Result<()> {
449         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(value), ::std::mem::transmute(propertyindex)).ok()
450     }
ClearProperty(&self, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::Result<()>451     pub unsafe fn ClearProperty(&self, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::Result<()> {
452         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(propertyindex)).ok()
453     }
GetCollectionCount(&self, instancehandle: u64) -> ::windows::runtime::Result<u32>454     pub unsafe fn GetCollectionCount(&self, instancehandle: u64) -> ::windows::runtime::Result<u32> {
455         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
456         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), &mut result__).from_abi::<u32>(result__)
457     }
458     #[cfg(feature = "Win32_Foundation")]
GetCollectionElements(&self, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::Result<()>459     pub unsafe fn GetCollectionElements(&self, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::Result<()> {
460         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), ::std::mem::transmute(startindex), ::std::mem::transmute(pelementcount), ::std::mem::transmute(ppelementvalues)).ok()
461     }
AddChild(&self, parent: u64, child: u64, index: u32) -> ::windows::runtime::Result<()>462     pub unsafe fn AddChild(&self, parent: u64, child: u64, index: u32) -> ::windows::runtime::Result<()> {
463         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent), ::std::mem::transmute(child), ::std::mem::transmute(index)).ok()
464     }
RemoveChild(&self, parent: u64, index: u32) -> ::windows::runtime::Result<()>465     pub unsafe fn RemoveChild(&self, parent: u64, index: u32) -> ::windows::runtime::Result<()> {
466         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent), ::std::mem::transmute(index)).ok()
467     }
ClearChildren(&self, parent: u64) -> ::windows::runtime::Result<()>468     pub unsafe fn ClearChildren(&self, parent: u64) -> ::windows::runtime::Result<()> {
469         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(parent)).ok()
470     }
471     #[cfg(feature = "Win32_Foundation")]
GetPropertyIndex<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, object: u64, propertyname: Param1) -> ::windows::runtime::Result<u32>472     pub unsafe fn GetPropertyIndex<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, object: u64, propertyname: Param1) -> ::windows::runtime::Result<u32> {
473         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
474         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), propertyname.into_param().abi(), &mut result__).from_abi::<u32>(result__)
475     }
GetProperty(&self, object: u64, propertyindex: u32) -> ::windows::runtime::Result<u64>476     pub unsafe fn GetProperty(&self, object: u64, propertyindex: u32) -> ::windows::runtime::Result<u64> {
477         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
478         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), ::std::mem::transmute(propertyindex), &mut result__).from_abi::<u64>(result__)
479     }
ReplaceResource(&self, resourcedictionary: u64, key: u64, newvalue: u64) -> ::windows::runtime::Result<()>480     pub unsafe fn ReplaceResource(&self, resourcedictionary: u64, key: u64, newvalue: u64) -> ::windows::runtime::Result<()> {
481         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(resourcedictionary), ::std::mem::transmute(key), ::std::mem::transmute(newvalue)).ok()
482     }
RenderTargetBitmap(&self, handle: u64, options: RenderTargetBitmapOptions, maxpixelwidth: u32, maxpixelheight: u32) -> ::windows::runtime::Result<IBitmapData>483     pub unsafe fn RenderTargetBitmap(&self, handle: u64, options: RenderTargetBitmapOptions, maxpixelwidth: u32, maxpixelheight: u32) -> ::windows::runtime::Result<IBitmapData> {
484         let mut result__: <IBitmapData as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
485         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(handle), ::std::mem::transmute(options), ::std::mem::transmute(maxpixelwidth), ::std::mem::transmute(maxpixelheight), &mut result__).from_abi::<IBitmapData>(result__)
486     }
487     #[cfg(feature = "Win32_Foundation")]
ResolveResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, resourcecontext: u64, resourcename: Param1, resourcetype: ResourceType, propertyindex: u32) -> ::windows::runtime::Result<()>488     pub unsafe fn ResolveResource<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, resourcecontext: u64, resourcename: Param1, resourcetype: ResourceType, propertyindex: u32) -> ::windows::runtime::Result<()> {
489         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(resourcecontext), resourcename.into_param().abi(), ::std::mem::transmute(resourcetype), ::std::mem::transmute(propertyindex)).ok()
490     }
491     #[cfg(feature = "Win32_Foundation")]
GetDictionaryItem<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, dictionaryhandle: u64, resourcename: Param1, resourceisimplicitstyle: Param2) -> ::windows::runtime::Result<u64>492     pub unsafe fn GetDictionaryItem<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::BOOL>>(&self, dictionaryhandle: u64, resourcename: Param1, resourceisimplicitstyle: Param2) -> ::windows::runtime::Result<u64> {
493         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
494         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(dictionaryhandle), resourcename.into_param().abi(), resourceisimplicitstyle.into_param().abi(), &mut result__).from_abi::<u64>(result__)
495     }
AddDictionaryItem(&self, dictionaryhandle: u64, resourcekey: u64, resourcehandle: u64) -> ::windows::runtime::Result<()>496     pub unsafe fn AddDictionaryItem(&self, dictionaryhandle: u64, resourcekey: u64, resourcehandle: u64) -> ::windows::runtime::Result<()> {
497         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(dictionaryhandle), ::std::mem::transmute(resourcekey), ::std::mem::transmute(resourcehandle)).ok()
498     }
RemoveDictionaryItem(&self, dictionaryhandle: u64, resourcekey: u64) -> ::windows::runtime::Result<()>499     pub unsafe fn RemoveDictionaryItem(&self, dictionaryhandle: u64, resourcekey: u64) -> ::windows::runtime::Result<()> {
500         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(dictionaryhandle), ::std::mem::transmute(resourcekey)).ok()
501     }
502 }
503 unsafe impl ::windows::runtime::Interface for IVisualTreeService3 {
504     type Vtable = IVisualTreeService3_abi;
505     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(242861792, 34208, 19432, [180, 26, 101, 92, 241, 253, 25, 189]);
506 }
507 impl ::std::convert::From<IVisualTreeService3> for ::windows::runtime::IUnknown {
from(value: IVisualTreeService3) -> Self508     fn from(value: IVisualTreeService3) -> Self {
509         unsafe { ::std::mem::transmute(value) }
510     }
511 }
512 impl ::std::convert::From<&IVisualTreeService3> for ::windows::runtime::IUnknown {
from(value: &IVisualTreeService3) -> Self513     fn from(value: &IVisualTreeService3) -> Self {
514         ::std::convert::From::from(::std::clone::Clone::clone(value))
515     }
516 }
517 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVisualTreeService3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>518     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
519         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
520     }
521 }
522 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVisualTreeService3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>523     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
524         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
525     }
526 }
527 impl ::std::convert::From<IVisualTreeService3> for IVisualTreeService2 {
from(value: IVisualTreeService3) -> Self528     fn from(value: IVisualTreeService3) -> Self {
529         unsafe { ::std::mem::transmute(value) }
530     }
531 }
532 impl ::std::convert::From<&IVisualTreeService3> for IVisualTreeService2 {
from(value: &IVisualTreeService3) -> Self533     fn from(value: &IVisualTreeService3) -> Self {
534         ::std::convert::From::from(::std::clone::Clone::clone(value))
535     }
536 }
537 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeService2> for IVisualTreeService3 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService2>538     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService2> {
539         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeService2>::into(self))
540     }
541 }
542 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeService2> for &IVisualTreeService3 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService2>543     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService2> {
544         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeService2>::into(::std::clone::Clone::clone(self)))
545     }
546 }
547 impl ::std::convert::From<IVisualTreeService3> for IVisualTreeService {
from(value: IVisualTreeService3) -> Self548     fn from(value: IVisualTreeService3) -> Self {
549         unsafe { ::std::mem::transmute(value) }
550     }
551 }
552 impl ::std::convert::From<&IVisualTreeService3> for IVisualTreeService {
from(value: &IVisualTreeService3) -> Self553     fn from(value: &IVisualTreeService3) -> Self {
554         ::std::convert::From::from(::std::clone::Clone::clone(value))
555     }
556 }
557 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeService> for IVisualTreeService3 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService>558     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService> {
559         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeService>::into(self))
560     }
561 }
562 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeService> for &IVisualTreeService3 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService>563     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeService> {
564         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeService>::into(::std::clone::Clone::clone(self)))
565     }
566 }
567 #[repr(C)]
568 #[doc(hidden)]
569 pub struct IVisualTreeService3_abi(
570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
575     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32, ppenums: *mut *mut EnumType) -> ::windows::runtime::HRESULT,
576     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
577     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, typename: ::std::mem::ManuallyDrop<super::super::super::Foundation::BSTR>, value: ::std::mem::ManuallyDrop<super::super::super::Foundation::BSTR>, pinstancehandle: *mut u64) -> ::windows::runtime::HRESULT,
578     #[cfg(not(feature = "Win32_Foundation"))] usize,
579     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, psourcecount: *mut u32, pppropertysources: *mut *mut PropertyChainSource, ppropertycount: *mut u32, pppropertyvalues: *mut *mut PropertyChainValue) -> ::windows::runtime::HRESULT,
580     #[cfg(not(feature = "Win32_Foundation"))] usize,
581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, value: u64, propertyindex: u32) -> ::windows::runtime::HRESULT,
582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, propertyindex: u32) -> ::windows::runtime::HRESULT,
583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, pcollectionsize: *mut u32) -> ::windows::runtime::HRESULT,
584     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, startindex: u32, pelementcount: *mut u32, ppelementvalues: *mut *mut CollectionElementValue) -> ::windows::runtime::HRESULT,
585     #[cfg(not(feature = "Win32_Foundation"))] usize,
586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64, child: u64, index: u32) -> ::windows::runtime::HRESULT,
587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64, index: u32) -> ::windows::runtime::HRESULT,
588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parent: u64) -> ::windows::runtime::HRESULT,
589     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: u64, propertyname: super::super::super::Foundation::PWSTR, ppropertyindex: *mut u32) -> ::windows::runtime::HRESULT,
590     #[cfg(not(feature = "Win32_Foundation"))] usize,
591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: u64, propertyindex: u32, pvalue: *mut u64) -> ::windows::runtime::HRESULT,
592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcedictionary: u64, key: u64, newvalue: u64) -> ::windows::runtime::HRESULT,
593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handle: u64, options: RenderTargetBitmapOptions, maxpixelwidth: u32, maxpixelheight: u32, ppbitmapdata: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
594     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcecontext: u64, resourcename: super::super::super::Foundation::PWSTR, resourcetype: ResourceType, propertyindex: u32) -> ::windows::runtime::HRESULT,
595     #[cfg(not(feature = "Win32_Foundation"))] usize,
596     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dictionaryhandle: u64, resourcename: super::super::super::Foundation::PWSTR, resourceisimplicitstyle: super::super::super::Foundation::BOOL, resourcehandle: *mut u64) -> ::windows::runtime::HRESULT,
597     #[cfg(not(feature = "Win32_Foundation"))] usize,
598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dictionaryhandle: u64, resourcekey: u64, resourcehandle: u64) -> ::windows::runtime::HRESULT,
599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dictionaryhandle: u64, resourcekey: u64) -> ::windows::runtime::HRESULT,
600 );
601 #[repr(transparent)]
602 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
603 pub struct IVisualTreeServiceCallback(::windows::runtime::IUnknown);
604 impl IVisualTreeServiceCallback {
605     #[cfg(feature = "Win32_Foundation")]
OnVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, ParentChildRelation>, Param1: ::windows::runtime::IntoParam<'a, VisualElement>>(&self, relation: Param0, element: Param1, mutationtype: VisualMutationType) -> ::windows::runtime::Result<()>606     pub unsafe fn OnVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, ParentChildRelation>, Param1: ::windows::runtime::IntoParam<'a, VisualElement>>(&self, relation: Param0, element: Param1, mutationtype: VisualMutationType) -> ::windows::runtime::Result<()> {
607         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), relation.into_param().abi(), element.into_param().abi(), ::std::mem::transmute(mutationtype)).ok()
608     }
609 }
610 unsafe impl ::windows::runtime::Interface for IVisualTreeServiceCallback {
611     type Vtable = IVisualTreeServiceCallback_abi;
612     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2860157233, 32996, 20460, [143, 59, 85, 63, 135, 180, 150, 110]);
613 }
614 impl ::std::convert::From<IVisualTreeServiceCallback> for ::windows::runtime::IUnknown {
from(value: IVisualTreeServiceCallback) -> Self615     fn from(value: IVisualTreeServiceCallback) -> Self {
616         unsafe { ::std::mem::transmute(value) }
617     }
618 }
619 impl ::std::convert::From<&IVisualTreeServiceCallback> for ::windows::runtime::IUnknown {
from(value: &IVisualTreeServiceCallback) -> Self620     fn from(value: &IVisualTreeServiceCallback) -> Self {
621         ::std::convert::From::from(::std::clone::Clone::clone(value))
622     }
623 }
624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVisualTreeServiceCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>625     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
626         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
627     }
628 }
629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVisualTreeServiceCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
631         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
632     }
633 }
634 #[repr(C)]
635 #[doc(hidden)]
636 pub struct IVisualTreeServiceCallback_abi(
637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
640     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, relation: ParentChildRelation, element: ::std::mem::ManuallyDrop<VisualElement>, mutationtype: VisualMutationType) -> ::windows::runtime::HRESULT,
641     #[cfg(not(feature = "Win32_Foundation"))] usize,
642 );
643 #[repr(transparent)]
644 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
645 pub struct IVisualTreeServiceCallback2(::windows::runtime::IUnknown);
646 impl IVisualTreeServiceCallback2 {
647     #[cfg(feature = "Win32_Foundation")]
OnVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, ParentChildRelation>, Param1: ::windows::runtime::IntoParam<'a, VisualElement>>(&self, relation: Param0, element: Param1, mutationtype: VisualMutationType) -> ::windows::runtime::Result<()>648     pub unsafe fn OnVisualTreeChange<'a, Param0: ::windows::runtime::IntoParam<'a, ParentChildRelation>, Param1: ::windows::runtime::IntoParam<'a, VisualElement>>(&self, relation: Param0, element: Param1, mutationtype: VisualMutationType) -> ::windows::runtime::Result<()> {
649         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), relation.into_param().abi(), element.into_param().abi(), ::std::mem::transmute(mutationtype)).ok()
650     }
651     #[cfg(feature = "Win32_Foundation")]
OnElementStateChanged<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, element: u64, elementstate: VisualElementState, context: Param2) -> ::windows::runtime::Result<()>652     pub unsafe fn OnElementStateChanged<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(&self, element: u64, elementstate: VisualElementState, context: Param2) -> ::windows::runtime::Result<()> {
653         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(element), ::std::mem::transmute(elementstate), context.into_param().abi()).ok()
654     }
655 }
656 unsafe impl ::windows::runtime::Interface for IVisualTreeServiceCallback2 {
657     type Vtable = IVisualTreeServiceCallback2_abi;
658     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3134843784, 44663, 17303, [185, 72, 95, 162, 219, 10, 25, 234]);
659 }
660 impl ::std::convert::From<IVisualTreeServiceCallback2> for ::windows::runtime::IUnknown {
from(value: IVisualTreeServiceCallback2) -> Self661     fn from(value: IVisualTreeServiceCallback2) -> Self {
662         unsafe { ::std::mem::transmute(value) }
663     }
664 }
665 impl ::std::convert::From<&IVisualTreeServiceCallback2> for ::windows::runtime::IUnknown {
from(value: &IVisualTreeServiceCallback2) -> Self666     fn from(value: &IVisualTreeServiceCallback2) -> Self {
667         ::std::convert::From::from(::std::clone::Clone::clone(value))
668     }
669 }
670 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVisualTreeServiceCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>671     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
672         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
673     }
674 }
675 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVisualTreeServiceCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>676     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
677         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
678     }
679 }
680 impl ::std::convert::From<IVisualTreeServiceCallback2> for IVisualTreeServiceCallback {
from(value: IVisualTreeServiceCallback2) -> Self681     fn from(value: IVisualTreeServiceCallback2) -> Self {
682         unsafe { ::std::mem::transmute(value) }
683     }
684 }
685 impl ::std::convert::From<&IVisualTreeServiceCallback2> for IVisualTreeServiceCallback {
from(value: &IVisualTreeServiceCallback2) -> Self686     fn from(value: &IVisualTreeServiceCallback2) -> Self {
687         ::std::convert::From::from(::std::clone::Clone::clone(value))
688     }
689 }
690 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback> for IVisualTreeServiceCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeServiceCallback>691     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeServiceCallback> {
692         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeServiceCallback>::into(self))
693     }
694 }
695 impl<'a> ::windows::runtime::IntoParam<'a, IVisualTreeServiceCallback> for &IVisualTreeServiceCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeServiceCallback>696     fn into_param(self) -> ::windows::runtime::Param<'a, IVisualTreeServiceCallback> {
697         ::windows::runtime::Param::Owned(::std::convert::Into::<IVisualTreeServiceCallback>::into(::std::clone::Clone::clone(self)))
698     }
699 }
700 #[repr(C)]
701 #[doc(hidden)]
702 pub struct IVisualTreeServiceCallback2_abi(
703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
706     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, relation: ParentChildRelation, element: ::std::mem::ManuallyDrop<VisualElement>, mutationtype: VisualMutationType) -> ::windows::runtime::HRESULT,
707     #[cfg(not(feature = "Win32_Foundation"))] usize,
708     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, element: u64, elementstate: VisualElementState, context: super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
709     #[cfg(not(feature = "Win32_Foundation"))] usize,
710 );
711 #[repr(transparent)]
712 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
713 pub struct IXamlDiagnostics(::windows::runtime::IUnknown);
714 impl IXamlDiagnostics {
GetDispatcher(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable>715     pub unsafe fn GetDispatcher(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
716         let mut result__: <::windows::runtime::IInspectable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
717         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
718     }
GetUiLayer(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable>719     pub unsafe fn GetUiLayer(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
720         let mut result__: <::windows::runtime::IInspectable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
721         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
722     }
GetApplication(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable>723     pub unsafe fn GetApplication(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
724         let mut result__: <::windows::runtime::IInspectable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
725         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
726     }
GetIInspectableFromHandle(&self, instancehandle: u64) -> ::windows::runtime::Result<::windows::runtime::IInspectable>727     pub unsafe fn GetIInspectableFromHandle(&self, instancehandle: u64) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
728         let mut result__: <::windows::runtime::IInspectable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
729         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(instancehandle), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
730     }
GetHandleFromIInspectable<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, pinstance: Param0) -> ::windows::runtime::Result<u64>731     pub unsafe fn GetHandleFromIInspectable<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, pinstance: Param0) -> ::windows::runtime::Result<u64> {
732         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
733         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pinstance.into_param().abi(), &mut result__).from_abi::<u64>(result__)
734     }
735     #[cfg(feature = "Win32_Foundation")]
HitTest<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::RECT>>(&self, rect: Param0, pcount: *mut u32, ppinstancehandles: *mut *mut u64) -> ::windows::runtime::Result<()>736     pub unsafe fn HitTest<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::RECT>>(&self, rect: Param0, pcount: *mut u32, ppinstancehandles: *mut *mut u64) -> ::windows::runtime::Result<()> {
737         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), rect.into_param().abi(), ::std::mem::transmute(pcount), ::std::mem::transmute(ppinstancehandles)).ok()
738     }
RegisterInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, pinstance: Param0) -> ::windows::runtime::Result<u64>739     pub unsafe fn RegisterInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, pinstance: Param0) -> ::windows::runtime::Result<u64> {
740         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
741         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pinstance.into_param().abi(), &mut result__).from_abi::<u64>(result__)
742     }
743     #[cfg(feature = "Win32_Foundation")]
GetInitializationData(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BSTR>744     pub unsafe fn GetInitializationData(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BSTR> {
745         let mut result__: <super::super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
746         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BSTR>(result__)
747     }
748 }
749 unsafe impl ::windows::runtime::Interface for IXamlDiagnostics {
750     type Vtable = IXamlDiagnostics_abi;
751     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(415883958, 16195, 16662, [159, 43, 255, 147, 93, 119, 112, 210]);
752 }
753 impl ::std::convert::From<IXamlDiagnostics> for ::windows::runtime::IUnknown {
from(value: IXamlDiagnostics) -> Self754     fn from(value: IXamlDiagnostics) -> Self {
755         unsafe { ::std::mem::transmute(value) }
756     }
757 }
758 impl ::std::convert::From<&IXamlDiagnostics> for ::windows::runtime::IUnknown {
from(value: &IXamlDiagnostics) -> Self759     fn from(value: &IXamlDiagnostics) -> Self {
760         ::std::convert::From::from(::std::clone::Clone::clone(value))
761     }
762 }
763 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IXamlDiagnostics {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>764     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
765         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
766     }
767 }
768 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IXamlDiagnostics {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>769     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
770         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
771     }
772 }
773 #[repr(C)]
774 #[doc(hidden)]
775 pub struct IXamlDiagnostics_abi(
776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppdispatcher: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplayer: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppapplication: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, instancehandle: u64, ppinstance: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinstance: ::windows::runtime::RawPtr, phandle: *mut u64) -> ::windows::runtime::HRESULT,
784     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rect: super::super::super::Foundation::RECT, pcount: *mut u32, ppinstancehandles: *mut *mut u64) -> ::windows::runtime::HRESULT,
785     #[cfg(not(feature = "Win32_Foundation"))] usize,
786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinstance: ::windows::runtime::RawPtr, pinstancehandle: *mut u64) -> ::windows::runtime::HRESULT,
787     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinitializationdata: *mut ::std::mem::ManuallyDrop<super::super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
788     #[cfg(not(feature = "Win32_Foundation"))] usize,
789 );
790 #[cfg(feature = "Win32_Foundation")]
791 #[inline]
InitializeXamlDiagnostic<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(endpointname: Param0, pid: u32, wszdllxamldiagnostics: Param2, wsztapdllname: Param3, tapclsid: Param4) -> ::windows::runtime::Result<()>792 pub unsafe fn InitializeXamlDiagnostic<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(endpointname: Param0, pid: u32, wszdllxamldiagnostics: Param2, wsztapdllname: Param3, tapclsid: Param4) -> ::windows::runtime::Result<()> {
793     #[cfg(windows)]
794     {
795         #[link(name = "windows")]
796         extern "system" {
797             fn InitializeXamlDiagnostic(endpointname: super::super::super::Foundation::PWSTR, pid: u32, wszdllxamldiagnostics: super::super::super::Foundation::PWSTR, wsztapdllname: super::super::super::Foundation::PWSTR, tapclsid: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
798         }
799         InitializeXamlDiagnostic(endpointname.into_param().abi(), ::std::mem::transmute(pid), wszdllxamldiagnostics.into_param().abi(), wsztapdllname.into_param().abi(), tapclsid.into_param().abi()).ok()
800     }
801     #[cfg(not(windows))]
802     unimplemented!("Unsupported target OS");
803 }
804 #[cfg(feature = "Win32_Foundation")]
805 #[inline]
InitializeXamlDiagnosticsEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param5: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>( endpointname: Param0, pid: u32, wszdllxamldiagnostics: Param2, wsztapdllname: Param3, tapclsid: Param4, wszinitializationdata: Param5, ) -> ::windows::runtime::Result<()>806 pub unsafe fn InitializeXamlDiagnosticsEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param5: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::PWSTR>>(
807     endpointname: Param0,
808     pid: u32,
809     wszdllxamldiagnostics: Param2,
810     wsztapdllname: Param3,
811     tapclsid: Param4,
812     wszinitializationdata: Param5,
813 ) -> ::windows::runtime::Result<()> {
814     #[cfg(windows)]
815     {
816         #[link(name = "windows")]
817         extern "system" {
818             fn InitializeXamlDiagnosticsEx(endpointname: super::super::super::Foundation::PWSTR, pid: u32, wszdllxamldiagnostics: super::super::super::Foundation::PWSTR, wsztapdllname: super::super::super::Foundation::PWSTR, tapclsid: ::windows::runtime::GUID, wszinitializationdata: super::super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
819         }
820         InitializeXamlDiagnosticsEx(endpointname.into_param().abi(), ::std::mem::transmute(pid), wszdllxamldiagnostics.into_param().abi(), wsztapdllname.into_param().abi(), tapclsid.into_param().abi(), wszinitializationdata.into_param().abi()).ok()
821     }
822     #[cfg(not(windows))]
823     unimplemented!("Unsupported target OS");
824 }
825 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
826 #[repr(transparent)]
827 pub struct MetadataBit(pub i32);
828 impl MetadataBit {
829     pub const None: MetadataBit = MetadataBit(0i32);
830     pub const IsValueHandle: MetadataBit = MetadataBit(1i32);
831     pub const IsPropertyReadOnly: MetadataBit = MetadataBit(2i32);
832     pub const IsValueCollection: MetadataBit = MetadataBit(4i32);
833     pub const IsValueCollectionReadOnly: MetadataBit = MetadataBit(8i32);
834     pub const IsValueBindingExpression: MetadataBit = MetadataBit(16i32);
835     pub const IsValueNull: MetadataBit = MetadataBit(32i32);
836     pub const IsValueHandleAndEvaluatedValue: MetadataBit = MetadataBit(64i32);
837 }
838 impl ::std::convert::From<i32> for MetadataBit {
from(value: i32) -> Self839     fn from(value: i32) -> Self {
840         Self(value)
841     }
842 }
843 unsafe impl ::windows::runtime::Abi for MetadataBit {
844     type Abi = Self;
845     type DefaultType = Self;
846 }
847 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
848 #[repr(C)]
849 pub struct ParentChildRelation {
850     pub Parent: u64,
851     pub Child: u64,
852     pub ChildIndex: u32,
853 }
854 impl ParentChildRelation {}
855 impl ::std::default::Default for ParentChildRelation {
default() -> Self856     fn default() -> Self {
857         unsafe { ::std::mem::zeroed() }
858     }
859 }
860 impl ::std::fmt::Debug for ParentChildRelation {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result861     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
862         fmt.debug_struct("ParentChildRelation").field("Parent", &self.Parent).field("Child", &self.Child).field("ChildIndex", &self.ChildIndex).finish()
863     }
864 }
865 impl ::std::cmp::PartialEq for ParentChildRelation {
eq(&self, other: &Self) -> bool866     fn eq(&self, other: &Self) -> bool {
867         self.Parent == other.Parent && self.Child == other.Child && self.ChildIndex == other.ChildIndex
868     }
869 }
870 impl ::std::cmp::Eq for ParentChildRelation {}
871 unsafe impl ::windows::runtime::Abi for ParentChildRelation {
872     type Abi = Self;
873     type DefaultType = Self;
874 }
875 #[derive(:: std :: clone :: Clone)]
876 #[repr(C)]
877 #[cfg(feature = "Win32_Foundation")]
878 pub struct PropertyChainSource {
879     pub Handle: u64,
880     pub TargetType: super::super::super::Foundation::BSTR,
881     pub Name: super::super::super::Foundation::BSTR,
882     pub Source: BaseValueSource,
883     pub SrcInfo: SourceInfo,
884 }
885 #[cfg(feature = "Win32_Foundation")]
886 impl PropertyChainSource {}
887 #[cfg(feature = "Win32_Foundation")]
888 impl ::std::default::Default for PropertyChainSource {
default() -> Self889     fn default() -> Self {
890         unsafe { ::std::mem::zeroed() }
891     }
892 }
893 #[cfg(feature = "Win32_Foundation")]
894 impl ::std::fmt::Debug for PropertyChainSource {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result895     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
896         fmt.debug_struct("PropertyChainSource").field("Handle", &self.Handle).field("TargetType", &self.TargetType).field("Name", &self.Name).field("Source", &self.Source).field("SrcInfo", &self.SrcInfo).finish()
897     }
898 }
899 #[cfg(feature = "Win32_Foundation")]
900 impl ::std::cmp::PartialEq for PropertyChainSource {
eq(&self, other: &Self) -> bool901     fn eq(&self, other: &Self) -> bool {
902         self.Handle == other.Handle && self.TargetType == other.TargetType && self.Name == other.Name && self.Source == other.Source && self.SrcInfo == other.SrcInfo
903     }
904 }
905 #[cfg(feature = "Win32_Foundation")]
906 impl ::std::cmp::Eq for PropertyChainSource {}
907 #[cfg(feature = "Win32_Foundation")]
908 unsafe impl ::windows::runtime::Abi for PropertyChainSource {
909     type Abi = ::std::mem::ManuallyDrop<Self>;
910     type DefaultType = Self;
911 }
912 #[derive(:: std :: clone :: Clone)]
913 #[repr(C)]
914 #[cfg(feature = "Win32_Foundation")]
915 pub struct PropertyChainValue {
916     pub Index: u32,
917     pub Type: super::super::super::Foundation::BSTR,
918     pub DeclaringType: super::super::super::Foundation::BSTR,
919     pub ValueType: super::super::super::Foundation::BSTR,
920     pub ItemType: super::super::super::Foundation::BSTR,
921     pub Value: super::super::super::Foundation::BSTR,
922     pub Overridden: super::super::super::Foundation::BOOL,
923     pub MetadataBits: i64,
924     pub PropertyName: super::super::super::Foundation::BSTR,
925     pub PropertyChainIndex: u32,
926 }
927 #[cfg(feature = "Win32_Foundation")]
928 impl PropertyChainValue {}
929 #[cfg(feature = "Win32_Foundation")]
930 impl ::std::default::Default for PropertyChainValue {
default() -> Self931     fn default() -> Self {
932         unsafe { ::std::mem::zeroed() }
933     }
934 }
935 #[cfg(feature = "Win32_Foundation")]
936 impl ::std::fmt::Debug for PropertyChainValue {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result937     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
938         fmt.debug_struct("PropertyChainValue")
939             .field("Index", &self.Index)
940             .field("Type", &self.Type)
941             .field("DeclaringType", &self.DeclaringType)
942             .field("ValueType", &self.ValueType)
943             .field("ItemType", &self.ItemType)
944             .field("Value", &self.Value)
945             .field("Overridden", &self.Overridden)
946             .field("MetadataBits", &self.MetadataBits)
947             .field("PropertyName", &self.PropertyName)
948             .field("PropertyChainIndex", &self.PropertyChainIndex)
949             .finish()
950     }
951 }
952 #[cfg(feature = "Win32_Foundation")]
953 impl ::std::cmp::PartialEq for PropertyChainValue {
eq(&self, other: &Self) -> bool954     fn eq(&self, other: &Self) -> bool {
955         self.Index == other.Index && self.Type == other.Type && self.DeclaringType == other.DeclaringType && self.ValueType == other.ValueType && self.ItemType == other.ItemType && self.Value == other.Value && self.Overridden == other.Overridden && self.MetadataBits == other.MetadataBits && self.PropertyName == other.PropertyName && self.PropertyChainIndex == other.PropertyChainIndex
956     }
957 }
958 #[cfg(feature = "Win32_Foundation")]
959 impl ::std::cmp::Eq for PropertyChainValue {}
960 #[cfg(feature = "Win32_Foundation")]
961 unsafe impl ::windows::runtime::Abi for PropertyChainValue {
962     type Abi = ::std::mem::ManuallyDrop<Self>;
963     type DefaultType = Self;
964 }
965 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
966 #[repr(transparent)]
967 pub struct RenderTargetBitmapOptions(pub i32);
968 pub const RenderTarget: RenderTargetBitmapOptions = RenderTargetBitmapOptions(0i32);
969 pub const RenderTargetAndChildren: RenderTargetBitmapOptions = RenderTargetBitmapOptions(1i32);
970 impl ::std::convert::From<i32> for RenderTargetBitmapOptions {
from(value: i32) -> Self971     fn from(value: i32) -> Self {
972         Self(value)
973     }
974 }
975 unsafe impl ::windows::runtime::Abi for RenderTargetBitmapOptions {
976     type Abi = Self;
977     type DefaultType = Self;
978 }
979 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
980 #[repr(transparent)]
981 pub struct ResourceType(pub i32);
982 pub const ResourceTypeStatic: ResourceType = ResourceType(0i32);
983 pub const ResourceTypeTheme: ResourceType = ResourceType(1i32);
984 impl ::std::convert::From<i32> for ResourceType {
from(value: i32) -> Self985     fn from(value: i32) -> Self {
986         Self(value)
987     }
988 }
989 unsafe impl ::windows::runtime::Abi for ResourceType {
990     type Abi = Self;
991     type DefaultType = Self;
992 }
993 #[derive(:: std :: clone :: Clone)]
994 #[repr(C)]
995 #[cfg(feature = "Win32_Foundation")]
996 pub struct SourceInfo {
997     pub FileName: super::super::super::Foundation::BSTR,
998     pub LineNumber: u32,
999     pub ColumnNumber: u32,
1000     pub CharPosition: u32,
1001     pub Hash: super::super::super::Foundation::BSTR,
1002 }
1003 #[cfg(feature = "Win32_Foundation")]
1004 impl SourceInfo {}
1005 #[cfg(feature = "Win32_Foundation")]
1006 impl ::std::default::Default for SourceInfo {
default() -> Self1007     fn default() -> Self {
1008         unsafe { ::std::mem::zeroed() }
1009     }
1010 }
1011 #[cfg(feature = "Win32_Foundation")]
1012 impl ::std::fmt::Debug for SourceInfo {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1013     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1014         fmt.debug_struct("SourceInfo").field("FileName", &self.FileName).field("LineNumber", &self.LineNumber).field("ColumnNumber", &self.ColumnNumber).field("CharPosition", &self.CharPosition).field("Hash", &self.Hash).finish()
1015     }
1016 }
1017 #[cfg(feature = "Win32_Foundation")]
1018 impl ::std::cmp::PartialEq for SourceInfo {
eq(&self, other: &Self) -> bool1019     fn eq(&self, other: &Self) -> bool {
1020         self.FileName == other.FileName && self.LineNumber == other.LineNumber && self.ColumnNumber == other.ColumnNumber && self.CharPosition == other.CharPosition && self.Hash == other.Hash
1021     }
1022 }
1023 #[cfg(feature = "Win32_Foundation")]
1024 impl ::std::cmp::Eq for SourceInfo {}
1025 #[cfg(feature = "Win32_Foundation")]
1026 unsafe impl ::windows::runtime::Abi for SourceInfo {
1027     type Abi = ::std::mem::ManuallyDrop<Self>;
1028     type DefaultType = Self;
1029 }
1030 #[derive(:: std :: clone :: Clone)]
1031 #[repr(C)]
1032 #[cfg(feature = "Win32_Foundation")]
1033 pub struct VisualElement {
1034     pub Handle: u64,
1035     pub SrcInfo: SourceInfo,
1036     pub Type: super::super::super::Foundation::BSTR,
1037     pub Name: super::super::super::Foundation::BSTR,
1038     pub NumChildren: u32,
1039 }
1040 #[cfg(feature = "Win32_Foundation")]
1041 impl VisualElement {}
1042 #[cfg(feature = "Win32_Foundation")]
1043 impl ::std::default::Default for VisualElement {
default() -> Self1044     fn default() -> Self {
1045         unsafe { ::std::mem::zeroed() }
1046     }
1047 }
1048 #[cfg(feature = "Win32_Foundation")]
1049 impl ::std::fmt::Debug for VisualElement {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1050     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1051         fmt.debug_struct("VisualElement").field("Handle", &self.Handle).field("SrcInfo", &self.SrcInfo).field("Type", &self.Type).field("Name", &self.Name).field("NumChildren", &self.NumChildren).finish()
1052     }
1053 }
1054 #[cfg(feature = "Win32_Foundation")]
1055 impl ::std::cmp::PartialEq for VisualElement {
eq(&self, other: &Self) -> bool1056     fn eq(&self, other: &Self) -> bool {
1057         self.Handle == other.Handle && self.SrcInfo == other.SrcInfo && self.Type == other.Type && self.Name == other.Name && self.NumChildren == other.NumChildren
1058     }
1059 }
1060 #[cfg(feature = "Win32_Foundation")]
1061 impl ::std::cmp::Eq for VisualElement {}
1062 #[cfg(feature = "Win32_Foundation")]
1063 unsafe impl ::windows::runtime::Abi for VisualElement {
1064     type Abi = ::std::mem::ManuallyDrop<Self>;
1065     type DefaultType = Self;
1066 }
1067 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1068 #[repr(transparent)]
1069 pub struct VisualElementState(pub i32);
1070 pub const ErrorResolved: VisualElementState = VisualElementState(0i32);
1071 pub const ErrorResourceNotFound: VisualElementState = VisualElementState(1i32);
1072 pub const ErrorInvalidResource: VisualElementState = VisualElementState(2i32);
1073 impl ::std::convert::From<i32> for VisualElementState {
from(value: i32) -> Self1074     fn from(value: i32) -> Self {
1075         Self(value)
1076     }
1077 }
1078 unsafe impl ::windows::runtime::Abi for VisualElementState {
1079     type Abi = Self;
1080     type DefaultType = Self;
1081 }
1082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1083 #[repr(transparent)]
1084 pub struct VisualMutationType(pub i32);
1085 pub const Add: VisualMutationType = VisualMutationType(0i32);
1086 pub const Remove: VisualMutationType = VisualMutationType(1i32);
1087 impl ::std::convert::From<i32> for VisualMutationType {
from(value: i32) -> Self1088     fn from(value: i32) -> Self {
1089         Self(value)
1090     }
1091 }
1092 unsafe impl ::windows::runtime::Abi for VisualMutationType {
1093     type Abi = Self;
1094     type DefaultType = Self;
1095 }
1096