1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 pub const CGD_ARRAY_NODE: u32 = 8u32;
3 pub const CGD_BINARY_PROPERTY: u32 = 4u32;
4 pub const CGD_DATE_PROPERTY: u32 = 2u32;
5 pub const CGD_DEFAULT: u32 = 0u32;
6 pub const CGD_STRING_PROPERTY: u32 = 1u32;
7 pub const CGD_UNKNOWN_PROPERTY: u32 = 0u32;
8 pub const CLSID_ContactAggregationManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2529734037, 49561, 17630, [179, 78, 172, 51, 196, 66, 223, 57]);
9 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10 #[repr(C)]
11 pub struct CONTACT_AGGREGATION_BLOB {
12     pub dwCount: u32,
13     pub lpb: *mut u8,
14 }
15 impl CONTACT_AGGREGATION_BLOB {}
16 impl ::std::default::Default for CONTACT_AGGREGATION_BLOB {
default() -> Self17     fn default() -> Self {
18         unsafe { ::std::mem::zeroed() }
19     }
20 }
21 impl ::std::fmt::Debug for CONTACT_AGGREGATION_BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result22     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
23         fmt.debug_struct("CONTACT_AGGREGATION_BLOB").field("dwCount", &self.dwCount).field("lpb", &self.lpb).finish()
24     }
25 }
26 impl ::std::cmp::PartialEq for CONTACT_AGGREGATION_BLOB {
eq(&self, other: &Self) -> bool27     fn eq(&self, other: &Self) -> bool {
28         self.dwCount == other.dwCount && self.lpb == other.lpb
29     }
30 }
31 impl ::std::cmp::Eq for CONTACT_AGGREGATION_BLOB {}
32 unsafe impl ::windows::runtime::Abi for CONTACT_AGGREGATION_BLOB {
33     type Abi = Self;
34     type DefaultType = Self;
35 }
36 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
37 #[repr(transparent)]
38 pub struct CONTACT_AGGREGATION_COLLECTION_OPTIONS(pub i32);
39 pub const CACO_DEFAULT: CONTACT_AGGREGATION_COLLECTION_OPTIONS = CONTACT_AGGREGATION_COLLECTION_OPTIONS(0i32);
40 pub const CACO_INCLUDE_EXTERNAL: CONTACT_AGGREGATION_COLLECTION_OPTIONS = CONTACT_AGGREGATION_COLLECTION_OPTIONS(1i32);
41 pub const CACO_EXTERNAL_ONLY: CONTACT_AGGREGATION_COLLECTION_OPTIONS = CONTACT_AGGREGATION_COLLECTION_OPTIONS(2i32);
42 impl ::std::convert::From<i32> for CONTACT_AGGREGATION_COLLECTION_OPTIONS {
from(value: i32) -> Self43     fn from(value: i32) -> Self {
44         Self(value)
45     }
46 }
47 unsafe impl ::windows::runtime::Abi for CONTACT_AGGREGATION_COLLECTION_OPTIONS {
48     type Abi = Self;
49     type DefaultType = Self;
50 }
51 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
52 #[repr(transparent)]
53 pub struct CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS(pub i32);
54 pub const CA_CREATE_LOCAL: CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS = CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS(0i32);
55 pub const CA_CREATE_EXTERNAL: CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS = CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS(1i32);
56 impl ::std::convert::From<i32> for CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS {
from(value: i32) -> Self57     fn from(value: i32) -> Self {
58         Self(value)
59     }
60 }
61 unsafe impl ::windows::runtime::Abi for CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS {
62     type Abi = Self;
63     type DefaultType = Self;
64 }
65 pub const Contact: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1639352328, 36590, 20433, [172, 184, 61, 128, 76, 141, 176, 86]);
66 pub const ContactManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1902495915, 44936, 17085, [134, 253, 83, 16, 180, 40, 90, 2]);
67 #[repr(transparent)]
68 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
69 pub struct IContact(::windows::runtime::IUnknown);
70 impl IContact {
71     #[cfg(feature = "Win32_Foundation")]
GetContactID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcontactid: Param0, cchcontactid: u32, pdwcchcontactidrequired: *mut u32) -> ::windows::runtime::Result<()>72     pub unsafe fn GetContactID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcontactid: Param0, cchcontactid: u32, pdwcchcontactidrequired: *mut u32) -> ::windows::runtime::Result<()> {
73         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszcontactid.into_param().abi(), ::std::mem::transmute(cchcontactid), ::std::mem::transmute(pdwcchcontactidrequired)).ok()
74     }
75     #[cfg(feature = "Win32_Foundation")]
GetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpath: Param0, cchpath: u32, pdwcchpathrequired: *mut u32) -> ::windows::runtime::Result<()>76     pub unsafe fn GetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpath: Param0, cchpath: u32, pdwcchpathrequired: *mut u32) -> ::windows::runtime::Result<()> {
77         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszpath.into_param().abi(), ::std::mem::transmute(cchpath), ::std::mem::transmute(pdwcchpathrequired)).ok()
78     }
CommitChanges(&self, dwcommitflags: u32) -> ::windows::runtime::Result<()>79     pub unsafe fn CommitChanges(&self, dwcommitflags: u32) -> ::windows::runtime::Result<()> {
80         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcommitflags)).ok()
81     }
82 }
83 unsafe impl ::windows::runtime::Interface for IContact {
84     type Vtable = IContact_abi;
85     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4181833329, 48551, 20343, [136, 74, 244, 100, 98, 242, 38, 167]);
86 }
87 impl ::std::convert::From<IContact> for ::windows::runtime::IUnknown {
from(value: IContact) -> Self88     fn from(value: IContact) -> Self {
89         unsafe { ::std::mem::transmute(value) }
90     }
91 }
92 impl ::std::convert::From<&IContact> for ::windows::runtime::IUnknown {
from(value: &IContact) -> Self93     fn from(value: &IContact) -> Self {
94         ::std::convert::From::from(::std::clone::Clone::clone(value))
95     }
96 }
97 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>98     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
99         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
100     }
101 }
102 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>103     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
104         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
105     }
106 }
107 #[repr(C)]
108 #[doc(hidden)]
109 pub struct IContact_abi(
110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
113     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcontactid: super::super::Foundation::PWSTR, cchcontactid: u32, pdwcchcontactidrequired: *mut u32) -> ::windows::runtime::HRESULT,
114     #[cfg(not(feature = "Win32_Foundation"))] usize,
115     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpath: super::super::Foundation::PWSTR, cchpath: u32, pdwcchpathrequired: *mut u32) -> ::windows::runtime::HRESULT,
116     #[cfg(not(feature = "Win32_Foundation"))] usize,
117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcommitflags: u32) -> ::windows::runtime::HRESULT,
118 );
119 #[repr(transparent)]
120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
121 pub struct IContactAggregationAggregate(::windows::runtime::IUnknown);
122 impl IContactAggregationAggregate {
Save(&self) -> ::windows::runtime::Result<()>123     pub unsafe fn Save(&self) -> ::windows::runtime::Result<()> {
124         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
125     }
GetComponentItems(&self) -> ::windows::runtime::Result<IContactAggregationContactCollection>126     pub unsafe fn GetComponentItems(&self) -> ::windows::runtime::Result<IContactAggregationContactCollection> {
127         let mut result__: <IContactAggregationContactCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
128         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationContactCollection>(result__)
129     }
130     #[cfg(feature = "Win32_Foundation")]
Link<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()>131     pub unsafe fn Link<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()> {
132         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), paggregateid.into_param().abi()).ok()
133     }
Groups(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationGroupCollection>134     pub unsafe fn Groups(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationGroupCollection> {
135         let mut result__: <IContactAggregationGroupCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
136         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IContactAggregationGroupCollection>(result__)
137     }
138     #[cfg(feature = "Win32_Foundation")]
AntiLink(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>139     pub unsafe fn AntiLink(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
140         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
141         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
142     }
143     #[cfg(feature = "Win32_Foundation")]
SetAntiLink<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilink: Param0) -> ::windows::runtime::Result<()>144     pub unsafe fn SetAntiLink<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilink: Param0) -> ::windows::runtime::Result<()> {
145         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pantilink.into_param().abi()).ok()
146     }
FavoriteOrder(&self) -> ::windows::runtime::Result<u32>147     pub unsafe fn FavoriteOrder(&self) -> ::windows::runtime::Result<u32> {
148         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
149         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
150     }
SetFavoriteOrder(&self, favoriteorder: u32) -> ::windows::runtime::Result<()>151     pub unsafe fn SetFavoriteOrder(&self, favoriteorder: u32) -> ::windows::runtime::Result<()> {
152         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(favoriteorder)).ok()
153     }
154     #[cfg(feature = "Win32_Foundation")]
Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>155     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
156         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
157         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
158     }
159 }
160 unsafe impl ::windows::runtime::Interface for IContactAggregationAggregate {
161     type Vtable = IContactAggregationAggregate_abi;
162     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2127677460, 52528, 17352, [155, 141, 46, 72, 158, 83, 213, 75]);
163 }
164 impl ::std::convert::From<IContactAggregationAggregate> for ::windows::runtime::IUnknown {
from(value: IContactAggregationAggregate) -> Self165     fn from(value: IContactAggregationAggregate) -> Self {
166         unsafe { ::std::mem::transmute(value) }
167     }
168 }
169 impl ::std::convert::From<&IContactAggregationAggregate> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationAggregate) -> Self170     fn from(value: &IContactAggregationAggregate) -> Self {
171         ::std::convert::From::from(::std::clone::Clone::clone(value))
172     }
173 }
174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationAggregate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
176         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
177     }
178 }
179 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationAggregate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>180     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
181         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
182     }
183 }
184 #[repr(C)]
185 #[doc(hidden)]
186 pub struct IContactAggregationAggregate_abi(
187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcomponentitems: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
192     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paggregateid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
193     #[cfg(not(feature = "Win32_Foundation"))] usize,
194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS, ppgroups: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
195     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppantilink: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
196     #[cfg(not(feature = "Win32_Foundation"))] usize,
197     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pantilink: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
198     #[cfg(not(feature = "Win32_Foundation"))] usize,
199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfavoriteorder: *mut u32) -> ::windows::runtime::HRESULT,
200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, favoriteorder: u32) -> ::windows::runtime::HRESULT,
201     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitemid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
202     #[cfg(not(feature = "Win32_Foundation"))] usize,
203 );
204 #[repr(transparent)]
205 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
206 pub struct IContactAggregationAggregateCollection(::windows::runtime::IUnknown);
207 impl IContactAggregationAggregateCollection {
FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationAggregate>208     pub unsafe fn FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationAggregate> {
209         let mut result__: <IContactAggregationAggregate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
210         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationAggregate>(result__)
211     }
212     #[cfg(feature = "Win32_Foundation")]
FindFirstByAntiLinkId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilinkid: Param0) -> ::windows::runtime::Result<IContactAggregationAggregate>213     pub unsafe fn FindFirstByAntiLinkId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilinkid: Param0) -> ::windows::runtime::Result<IContactAggregationAggregate> {
214         let mut result__: <IContactAggregationAggregate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
215         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pantilinkid.into_param().abi(), &mut result__).from_abi::<IContactAggregationAggregate>(result__)
216     }
FindNext(&self) -> ::windows::runtime::Result<IContactAggregationAggregate>217     pub unsafe fn FindNext(&self) -> ::windows::runtime::Result<IContactAggregationAggregate> {
218         let mut result__: <IContactAggregationAggregate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
219         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationAggregate>(result__)
220     }
Count(&self) -> ::windows::runtime::Result<i32>221     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
222         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
223         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
224     }
225 }
226 unsafe impl ::windows::runtime::Interface for IContactAggregationAggregateCollection {
227     type Vtable = IContactAggregationAggregateCollection_abi;
228     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(593097638, 14952, 16559, [152, 219, 15, 158, 177, 67, 195, 187]);
229 }
230 impl ::std::convert::From<IContactAggregationAggregateCollection> for ::windows::runtime::IUnknown {
from(value: IContactAggregationAggregateCollection) -> Self231     fn from(value: IContactAggregationAggregateCollection) -> Self {
232         unsafe { ::std::mem::transmute(value) }
233     }
234 }
235 impl ::std::convert::From<&IContactAggregationAggregateCollection> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationAggregateCollection) -> Self236     fn from(value: &IContactAggregationAggregateCollection) -> Self {
237         ::std::convert::From::from(::std::clone::Clone::clone(value))
238     }
239 }
240 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationAggregateCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>241     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
242         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
243     }
244 }
245 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationAggregateCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>246     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
247         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
248     }
249 }
250 #[repr(C)]
251 #[doc(hidden)]
252 pub struct IContactAggregationAggregateCollection_abi(
253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaggregate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
257     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pantilinkid: super::super::Foundation::PWSTR, ppaggregate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
258     #[cfg(not(feature = "Win32_Foundation"))] usize,
259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaggregate: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut i32) -> ::windows::runtime::HRESULT,
261 );
262 #[repr(transparent)]
263 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
264 pub struct IContactAggregationContact(::windows::runtime::IUnknown);
265 impl IContactAggregationContact {
Delete(&self) -> ::windows::runtime::Result<()>266     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
267         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
268     }
Save(&self) -> ::windows::runtime::Result<()>269     pub unsafe fn Save(&self) -> ::windows::runtime::Result<()> {
270         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
271     }
272     #[cfg(feature = "Win32_Foundation")]
MoveToAggregate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()>273     pub unsafe fn MoveToAggregate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()> {
274         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), paggregateid.into_param().abi()).ok()
275     }
Unlink(&self) -> ::windows::runtime::Result<()>276     pub unsafe fn Unlink(&self) -> ::windows::runtime::Result<()> {
277         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
278     }
279     #[cfg(feature = "Win32_Foundation")]
AccountId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>280     pub unsafe fn AccountId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
281         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
282         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
283     }
284     #[cfg(feature = "Win32_Foundation")]
SetAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paccountid: Param0) -> ::windows::runtime::Result<()>285     pub unsafe fn SetAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paccountid: Param0) -> ::windows::runtime::Result<()> {
286         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), paccountid.into_param().abi()).ok()
287     }
288     #[cfg(feature = "Win32_Foundation")]
AggregateId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>289     pub unsafe fn AggregateId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
290         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
291         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
292     }
293     #[cfg(feature = "Win32_Foundation")]
Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>294     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
295         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
296         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
297     }
298     #[cfg(feature = "Win32_Foundation")]
IsMe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>299     pub unsafe fn IsMe(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
300         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
301         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
302     }
303     #[cfg(feature = "Win32_Foundation")]
IsExternal(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>304     pub unsafe fn IsExternal(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
305         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
306         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
307     }
NetworkSourceId(&self) -> ::windows::runtime::Result<u32>308     pub unsafe fn NetworkSourceId(&self) -> ::windows::runtime::Result<u32> {
309         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
310         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
311     }
SetNetworkSourceId(&self, networksourceid: u32) -> ::windows::runtime::Result<()>312     pub unsafe fn SetNetworkSourceId(&self, networksourceid: u32) -> ::windows::runtime::Result<()> {
313         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(networksourceid)).ok()
314     }
315     #[cfg(feature = "Win32_Foundation")]
NetworkSourceIdString(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>316     pub unsafe fn NetworkSourceIdString(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
317         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
318         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
319     }
320     #[cfg(feature = "Win32_Foundation")]
SetNetworkSourceIdString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pnetworksourceid: Param0) -> ::windows::runtime::Result<()>321     pub unsafe fn SetNetworkSourceIdString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pnetworksourceid: Param0) -> ::windows::runtime::Result<()> {
322         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pnetworksourceid.into_param().abi()).ok()
323     }
RemoteObjectId(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB>324     pub unsafe fn RemoteObjectId(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB> {
325         let mut result__: <*mut CONTACT_AGGREGATION_BLOB as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
326         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut CONTACT_AGGREGATION_BLOB>(result__)
327     }
SetRemoteObjectId(&self, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()>328     pub unsafe fn SetRemoteObjectId(&self, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()> {
329         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(premoteobjectid)).ok()
330     }
SyncIdentityHash(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB>331     pub unsafe fn SyncIdentityHash(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB> {
332         let mut result__: <*mut CONTACT_AGGREGATION_BLOB as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
333         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut CONTACT_AGGREGATION_BLOB>(result__)
334     }
SetSyncIdentityHash(&self, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()>335     pub unsafe fn SetSyncIdentityHash(&self, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()> {
336         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(psyncidentityhash)).ok()
337     }
338 }
339 unsafe impl ::windows::runtime::Interface for IContactAggregationContact {
340     type Vtable = IContactAggregationContact_abi;
341     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(514993798, 19590, 16880, [159, 159, 194, 81, 233, 253, 166, 195]);
342 }
343 impl ::std::convert::From<IContactAggregationContact> for ::windows::runtime::IUnknown {
from(value: IContactAggregationContact) -> Self344     fn from(value: IContactAggregationContact) -> Self {
345         unsafe { ::std::mem::transmute(value) }
346     }
347 }
348 impl ::std::convert::From<&IContactAggregationContact> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationContact) -> Self349     fn from(value: &IContactAggregationContact) -> Self {
350         ::std::convert::From::from(::std::clone::Clone::clone(value))
351     }
352 }
353 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>354     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
355         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
356     }
357 }
358 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationContact {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>359     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
360         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
361     }
362 }
363 #[repr(C)]
364 #[doc(hidden)]
365 pub struct IContactAggregationContact_abi(
366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
371     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paggregateid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
372     #[cfg(not(feature = "Win32_Foundation"))] usize,
373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
374     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaccountid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
375     #[cfg(not(feature = "Win32_Foundation"))] usize,
376     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paccountid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
377     #[cfg(not(feature = "Win32_Foundation"))] usize,
378     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaggregateid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
379     #[cfg(not(feature = "Win32_Foundation"))] usize,
380     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitemid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
381     #[cfg(not(feature = "Win32_Foundation"))] usize,
382     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pisme: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
383     #[cfg(not(feature = "Win32_Foundation"))] usize,
384     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pisexternal: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
385     #[cfg(not(feature = "Win32_Foundation"))] usize,
386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnetworksourceid: *mut u32) -> ::windows::runtime::HRESULT,
387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, networksourceid: u32) -> ::windows::runtime::HRESULT,
388     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnetworksourceid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
389     #[cfg(not(feature = "Win32_Foundation"))] usize,
390     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnetworksourceid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
391     #[cfg(not(feature = "Win32_Foundation"))] usize,
392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppremoteobjectid: *mut *mut CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsyncidentityhash: *mut *mut CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
396 );
397 #[repr(transparent)]
398 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
399 pub struct IContactAggregationContactCollection(::windows::runtime::IUnknown);
400 impl IContactAggregationContactCollection {
FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationContact>401     pub unsafe fn FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationContact> {
402         let mut result__: <IContactAggregationContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
403         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationContact>(result__)
404     }
FindNext(&self) -> ::windows::runtime::Result<IContactAggregationContact>405     pub unsafe fn FindNext(&self) -> ::windows::runtime::Result<IContactAggregationContact> {
406         let mut result__: <IContactAggregationContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
407         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationContact>(result__)
408     }
409     #[cfg(feature = "Win32_Foundation")]
FindFirstByIdentityHash<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psourcetype: Param0, paccountid: Param1, pidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<IContactAggregationContact>410     pub unsafe fn FindFirstByIdentityHash<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psourcetype: Param0, paccountid: Param1, pidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<IContactAggregationContact> {
411         let mut result__: <IContactAggregationContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
412         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), ::std::mem::transmute(pidentityhash), &mut result__).from_abi::<IContactAggregationContact>(result__)
413     }
Count(&self) -> ::windows::runtime::Result<i32>414     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
415         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
416         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
417     }
418     #[cfg(feature = "Win32_Foundation")]
FindFirstByRemoteId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psourcetype: Param0, paccountid: Param1, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<IContactAggregationContact>419     pub unsafe fn FindFirstByRemoteId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psourcetype: Param0, paccountid: Param1, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<IContactAggregationContact> {
420         let mut result__: <IContactAggregationContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
421         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), ::std::mem::transmute(premoteobjectid), &mut result__).from_abi::<IContactAggregationContact>(result__)
422     }
423 }
424 unsafe impl ::windows::runtime::Interface for IContactAggregationContactCollection {
425     type Vtable = IContactAggregationContactCollection_abi;
426     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2188273402, 33246, 17354, [166, 251, 140, 120, 92, 217, 150, 198]);
427 }
428 impl ::std::convert::From<IContactAggregationContactCollection> for ::windows::runtime::IUnknown {
from(value: IContactAggregationContactCollection) -> Self429     fn from(value: IContactAggregationContactCollection) -> Self {
430         unsafe { ::std::mem::transmute(value) }
431     }
432 }
433 impl ::std::convert::From<&IContactAggregationContactCollection> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationContactCollection) -> Self434     fn from(value: &IContactAggregationContactCollection) -> Self {
435         ::std::convert::From::from(::std::clone::Clone::clone(value))
436     }
437 }
438 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationContactCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>439     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
440         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
441     }
442 }
443 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationContactCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>444     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
445         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
446     }
447 }
448 #[repr(C)]
449 #[doc(hidden)]
450 pub struct IContactAggregationContactCollection_abi(
451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
456     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psourcetype: super::super::Foundation::PWSTR, paccountid: super::super::Foundation::PWSTR, pidentityhash: *const CONTACT_AGGREGATION_BLOB, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
457     #[cfg(not(feature = "Win32_Foundation"))] usize,
458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut i32) -> ::windows::runtime::HRESULT,
459     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psourcetype: super::super::Foundation::PWSTR, paccountid: super::super::Foundation::PWSTR, premoteobjectid: *const CONTACT_AGGREGATION_BLOB, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
460     #[cfg(not(feature = "Win32_Foundation"))] usize,
461 );
462 #[repr(transparent)]
463 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
464 pub struct IContactAggregationGroup(::windows::runtime::IUnknown);
465 impl IContactAggregationGroup {
Delete(&self) -> ::windows::runtime::Result<()>466     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
467         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
468     }
Save(&self) -> ::windows::runtime::Result<()>469     pub unsafe fn Save(&self) -> ::windows::runtime::Result<()> {
470         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
471     }
472     #[cfg(feature = "Win32_Foundation")]
Add<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()>473     pub unsafe fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()> {
474         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), paggregateid.into_param().abi()).ok()
475     }
476     #[cfg(feature = "Win32_Foundation")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()>477     pub unsafe fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()> {
478         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), paggregateid.into_param().abi()).ok()
479     }
Members(&self) -> ::windows::runtime::Result<IContactAggregationAggregateCollection>480     pub unsafe fn Members(&self) -> ::windows::runtime::Result<IContactAggregationAggregateCollection> {
481         let mut result__: <IContactAggregationAggregateCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
482         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationAggregateCollection>(result__)
483     }
GlobalObjectId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>484     pub unsafe fn GlobalObjectId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
485         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
486         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
487     }
SetGlobalObjectId(&self, pglobalobjectid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>488     pub unsafe fn SetGlobalObjectId(&self, pglobalobjectid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
489         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pglobalobjectid)).ok()
490     }
491     #[cfg(feature = "Win32_Foundation")]
Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>492     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
493         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
494         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
495     }
496     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>497     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
498         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
499         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
500     }
501     #[cfg(feature = "Win32_Foundation")]
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<()>502     pub unsafe fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pname: Param0) -> ::windows::runtime::Result<()> {
503         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pname.into_param().abi()).ok()
504     }
505 }
506 unsafe impl ::windows::runtime::Interface for IContactAggregationGroup {
507     type Vtable = IContactAggregationGroup_abi;
508     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3376174175, 4740, 18843, [150, 175, 7, 55, 42, 244, 115, 224]);
509 }
510 impl ::std::convert::From<IContactAggregationGroup> for ::windows::runtime::IUnknown {
from(value: IContactAggregationGroup) -> Self511     fn from(value: IContactAggregationGroup) -> Self {
512         unsafe { ::std::mem::transmute(value) }
513     }
514 }
515 impl ::std::convert::From<&IContactAggregationGroup> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationGroup) -> Self516     fn from(value: &IContactAggregationGroup) -> Self {
517         ::std::convert::From::from(::std::clone::Clone::clone(value))
518     }
519 }
520 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>521     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
522         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
523     }
524 }
525 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>526     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
527         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
528     }
529 }
530 #[repr(C)]
531 #[doc(hidden)]
532 pub struct IContactAggregationGroup_abi(
533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
538     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paggregateid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
539     #[cfg(not(feature = "Win32_Foundation"))] usize,
540     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paggregateid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
541     #[cfg(not(feature = "Win32_Foundation"))] usize,
542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaggregatecontactcollection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pglobalobjectid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pglobalobjectid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
545     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitemid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
546     #[cfg(not(feature = "Win32_Foundation"))] usize,
547     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
548     #[cfg(not(feature = "Win32_Foundation"))] usize,
549     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
550     #[cfg(not(feature = "Win32_Foundation"))] usize,
551 );
552 #[repr(transparent)]
553 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
554 pub struct IContactAggregationGroupCollection(::windows::runtime::IUnknown);
555 impl IContactAggregationGroupCollection {
FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationGroup>556     pub unsafe fn FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationGroup> {
557         let mut result__: <IContactAggregationGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
558         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationGroup>(result__)
559     }
FindFirstByGlobalObjectId(&self, pglobalobjectid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IContactAggregationGroup>560     pub unsafe fn FindFirstByGlobalObjectId(&self, pglobalobjectid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IContactAggregationGroup> {
561         let mut result__: <IContactAggregationGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
562         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pglobalobjectid), &mut result__).from_abi::<IContactAggregationGroup>(result__)
563     }
FindNext(&self) -> ::windows::runtime::Result<IContactAggregationGroup>564     pub unsafe fn FindNext(&self) -> ::windows::runtime::Result<IContactAggregationGroup> {
565         let mut result__: <IContactAggregationGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
566         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationGroup>(result__)
567     }
Count(&self) -> ::windows::runtime::Result<u32>568     pub unsafe fn Count(&self) -> ::windows::runtime::Result<u32> {
569         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
570         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
571     }
572 }
573 unsafe impl ::windows::runtime::Interface for IContactAggregationGroupCollection {
574     type Vtable = IContactAggregationGroupCollection_abi;
575     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(547461788, 54003, 19331, [145, 67, 190, 255, 210, 204, 34, 109]);
576 }
577 impl ::std::convert::From<IContactAggregationGroupCollection> for ::windows::runtime::IUnknown {
from(value: IContactAggregationGroupCollection) -> Self578     fn from(value: IContactAggregationGroupCollection) -> Self {
579         unsafe { ::std::mem::transmute(value) }
580     }
581 }
582 impl ::std::convert::From<&IContactAggregationGroupCollection> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationGroupCollection) -> Self583     fn from(value: &IContactAggregationGroupCollection) -> Self {
584         ::std::convert::From::from(::std::clone::Clone::clone(value))
585     }
586 }
587 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationGroupCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>588     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
589         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
590     }
591 }
592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationGroupCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
594         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
595     }
596 }
597 #[repr(C)]
598 #[doc(hidden)]
599 pub struct IContactAggregationGroupCollection_abi(
600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pglobalobjectid: *const ::windows::runtime::GUID, ppgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
607 );
608 #[repr(transparent)]
609 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
610 pub struct IContactAggregationLink(::windows::runtime::IUnknown);
611 impl IContactAggregationLink {
Delete(&self) -> ::windows::runtime::Result<()>612     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
613         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
614     }
Save(&self) -> ::windows::runtime::Result<()>615     pub unsafe fn Save(&self) -> ::windows::runtime::Result<()> {
616         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
617     }
618     #[cfg(feature = "Win32_Foundation")]
AccountId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>619     pub unsafe fn AccountId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
620         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
621         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
622     }
623     #[cfg(feature = "Win32_Foundation")]
SetAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paccountid: Param0) -> ::windows::runtime::Result<()>624     pub unsafe fn SetAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paccountid: Param0) -> ::windows::runtime::Result<()> {
625         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), paccountid.into_param().abi()).ok()
626     }
627     #[cfg(feature = "Win32_Foundation")]
Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>628     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
629         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
630         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
631     }
632     #[cfg(feature = "Win32_Foundation")]
IsLinkResolved(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>633     pub unsafe fn IsLinkResolved(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
634         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
635         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
636     }
637     #[cfg(feature = "Win32_Foundation")]
SetIsLinkResolved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, islinkresolved: Param0) -> ::windows::runtime::Result<()>638     pub unsafe fn SetIsLinkResolved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, islinkresolved: Param0) -> ::windows::runtime::Result<()> {
639         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), islinkresolved.into_param().abi()).ok()
640     }
641     #[cfg(feature = "Win32_Foundation")]
NetworkSourceIdString(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>642     pub unsafe fn NetworkSourceIdString(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
643         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
644         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
645     }
646     #[cfg(feature = "Win32_Foundation")]
SetNetworkSourceIdString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pnetworksourceid: Param0) -> ::windows::runtime::Result<()>647     pub unsafe fn SetNetworkSourceIdString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pnetworksourceid: Param0) -> ::windows::runtime::Result<()> {
648         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pnetworksourceid.into_param().abi()).ok()
649     }
RemoteObjectId(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB>650     pub unsafe fn RemoteObjectId(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB> {
651         let mut result__: <*mut CONTACT_AGGREGATION_BLOB as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
652         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut CONTACT_AGGREGATION_BLOB>(result__)
653     }
SetRemoteObjectId(&self, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()>654     pub unsafe fn SetRemoteObjectId(&self, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()> {
655         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(premoteobjectid)).ok()
656     }
657     #[cfg(feature = "Win32_Foundation")]
ServerPerson(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>658     pub unsafe fn ServerPerson(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
659         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
660         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
661     }
662     #[cfg(feature = "Win32_Foundation")]
SetServerPerson<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pserverpersonid: Param0) -> ::windows::runtime::Result<()>663     pub unsafe fn SetServerPerson<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pserverpersonid: Param0) -> ::windows::runtime::Result<()> {
664         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pserverpersonid.into_param().abi()).ok()
665     }
666     #[cfg(feature = "Win32_Foundation")]
ServerPersonBaseline(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>667     pub unsafe fn ServerPersonBaseline(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
668         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
669         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
670     }
671     #[cfg(feature = "Win32_Foundation")]
SetServerPersonBaseline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pserverpersonid: Param0) -> ::windows::runtime::Result<()>672     pub unsafe fn SetServerPersonBaseline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pserverpersonid: Param0) -> ::windows::runtime::Result<()> {
673         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pserverpersonid.into_param().abi()).ok()
674     }
SyncIdentityHash(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB>675     pub unsafe fn SyncIdentityHash(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB> {
676         let mut result__: <*mut CONTACT_AGGREGATION_BLOB as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
677         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut CONTACT_AGGREGATION_BLOB>(result__)
678     }
SetSyncIdentityHash(&self, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()>679     pub unsafe fn SetSyncIdentityHash(&self, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()> {
680         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(psyncidentityhash)).ok()
681     }
682 }
683 unsafe impl ::windows::runtime::Interface for IContactAggregationLink {
684     type Vtable = IContactAggregationLink_abi;
685     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3061920547, 41347, 18004, [134, 39, 121, 179, 13, 227, 160, 236]);
686 }
687 impl ::std::convert::From<IContactAggregationLink> for ::windows::runtime::IUnknown {
from(value: IContactAggregationLink) -> Self688     fn from(value: IContactAggregationLink) -> Self {
689         unsafe { ::std::mem::transmute(value) }
690     }
691 }
692 impl ::std::convert::From<&IContactAggregationLink> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationLink) -> Self693     fn from(value: &IContactAggregationLink) -> Self {
694         ::std::convert::From::from(::std::clone::Clone::clone(value))
695     }
696 }
697 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationLink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>698     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
699         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
700     }
701 }
702 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationLink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>703     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
704         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
705     }
706 }
707 #[repr(C)]
708 #[doc(hidden)]
709 pub struct IContactAggregationLink_abi(
710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
715     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaccountid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
716     #[cfg(not(feature = "Win32_Foundation"))] usize,
717     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paccountid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
718     #[cfg(not(feature = "Win32_Foundation"))] usize,
719     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitemid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
720     #[cfg(not(feature = "Win32_Foundation"))] usize,
721     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pislinkresolved: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
722     #[cfg(not(feature = "Win32_Foundation"))] usize,
723     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, islinkresolved: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
724     #[cfg(not(feature = "Win32_Foundation"))] usize,
725     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppnetworksourceid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
726     #[cfg(not(feature = "Win32_Foundation"))] usize,
727     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnetworksourceid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
728     #[cfg(not(feature = "Win32_Foundation"))] usize,
729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppremoteobjectid: *mut *mut CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, premoteobjectid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
731     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppserverpersonid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
732     #[cfg(not(feature = "Win32_Foundation"))] usize,
733     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pserverpersonid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
734     #[cfg(not(feature = "Win32_Foundation"))] usize,
735     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppserverpersonid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
736     #[cfg(not(feature = "Win32_Foundation"))] usize,
737     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pserverpersonid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
738     #[cfg(not(feature = "Win32_Foundation"))] usize,
739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppsyncidentityhash: *mut *mut CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psyncidentityhash: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
741 );
742 #[repr(transparent)]
743 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
744 pub struct IContactAggregationLinkCollection(::windows::runtime::IUnknown);
745 impl IContactAggregationLinkCollection {
FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationLink>746     pub unsafe fn FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationLink> {
747         let mut result__: <IContactAggregationLink as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
748         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationLink>(result__)
749     }
750     #[cfg(feature = "Win32_Foundation")]
FindFirstByRemoteId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psourcetype: Param0, paccountid: Param1, premoteid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<IContactAggregationLink>751     pub unsafe fn FindFirstByRemoteId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psourcetype: Param0, paccountid: Param1, premoteid: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<IContactAggregationLink> {
752         let mut result__: <IContactAggregationLink as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
753         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), psourcetype.into_param().abi(), paccountid.into_param().abi(), ::std::mem::transmute(premoteid), &mut result__).from_abi::<IContactAggregationLink>(result__)
754     }
FindNext(&self) -> ::windows::runtime::Result<IContactAggregationLink>755     pub unsafe fn FindNext(&self) -> ::windows::runtime::Result<IContactAggregationLink> {
756         let mut result__: <IContactAggregationLink as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
757         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationLink>(result__)
758     }
Count(&self) -> ::windows::runtime::Result<u32>759     pub unsafe fn Count(&self) -> ::windows::runtime::Result<u32> {
760         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
761         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
762     }
763 }
764 unsafe impl ::windows::runtime::Interface for IContactAggregationLinkCollection {
765     type Vtable = IContactAggregationLinkCollection_abi;
766     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4173074067, 64341, 20264, [185, 250, 177, 194, 116, 21, 50, 146]);
767 }
768 impl ::std::convert::From<IContactAggregationLinkCollection> for ::windows::runtime::IUnknown {
from(value: IContactAggregationLinkCollection) -> Self769     fn from(value: IContactAggregationLinkCollection) -> Self {
770         unsafe { ::std::mem::transmute(value) }
771     }
772 }
773 impl ::std::convert::From<&IContactAggregationLinkCollection> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationLinkCollection) -> Self774     fn from(value: &IContactAggregationLinkCollection) -> Self {
775         ::std::convert::From::from(::std::clone::Clone::clone(value))
776     }
777 }
778 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationLinkCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>779     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
780         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
781     }
782 }
783 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationLinkCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>784     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
785         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
786     }
787 }
788 #[repr(C)]
789 #[doc(hidden)]
790 pub struct IContactAggregationLinkCollection_abi(
791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppservercontactlink: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
795     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psourcetype: super::super::Foundation::PWSTR, paccountid: super::super::Foundation::PWSTR, premoteid: *const CONTACT_AGGREGATION_BLOB, ppservercontactlink: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
796     #[cfg(not(feature = "Win32_Foundation"))] usize,
797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppservercontactlink: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
799 );
800 #[repr(transparent)]
801 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
802 pub struct IContactAggregationManager(::windows::runtime::IUnknown);
803 impl IContactAggregationManager {
GetVersionInfo(&self, plmajorversion: *mut i32, plminorversion: *mut i32) -> ::windows::runtime::Result<()>804     pub unsafe fn GetVersionInfo(&self, plmajorversion: *mut i32, plminorversion: *mut i32) -> ::windows::runtime::Result<()> {
805         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(plmajorversion), ::std::mem::transmute(plminorversion)).ok()
806     }
807     #[cfg(feature = "Win32_Foundation")]
CreateOrOpenGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pgroupname: Param0, options: CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS, pcreatedgroup: *mut super::super::Foundation::BOOL, ppgroup: *mut ::std::option::Option<IContactAggregationGroup>) -> ::windows::runtime::Result<()>808     pub unsafe fn CreateOrOpenGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pgroupname: Param0, options: CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS, pcreatedgroup: *mut super::super::Foundation::BOOL, ppgroup: *mut ::std::option::Option<IContactAggregationGroup>) -> ::windows::runtime::Result<()> {
809         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pgroupname.into_param().abi(), ::std::mem::transmute(options), ::std::mem::transmute(pcreatedgroup), ::std::mem::transmute(ppgroup)).ok()
810     }
CreateExternalContact(&self) -> ::windows::runtime::Result<IContactAggregationContact>811     pub unsafe fn CreateExternalContact(&self) -> ::windows::runtime::Result<IContactAggregationContact> {
812         let mut result__: <IContactAggregationContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
813         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationContact>(result__)
814     }
CreateServerPerson(&self) -> ::windows::runtime::Result<IContactAggregationServerPerson>815     pub unsafe fn CreateServerPerson(&self) -> ::windows::runtime::Result<IContactAggregationServerPerson> {
816         let mut result__: <IContactAggregationServerPerson as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
817         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationServerPerson>(result__)
818     }
CreateServerContactLink(&self) -> ::windows::runtime::Result<IContactAggregationLink>819     pub unsafe fn CreateServerContactLink(&self) -> ::windows::runtime::Result<IContactAggregationLink> {
820         let mut result__: <IContactAggregationLink as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
821         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationLink>(result__)
822     }
Flush(&self) -> ::windows::runtime::Result<()>823     pub unsafe fn Flush(&self) -> ::windows::runtime::Result<()> {
824         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
825     }
826     #[cfg(feature = "Win32_Foundation")]
OpenAggregateContact<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationAggregate>827     pub unsafe fn OpenAggregateContact<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationAggregate> {
828         let mut result__: <IContactAggregationAggregate as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
829         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pitemid.into_param().abi(), &mut result__).from_abi::<IContactAggregationAggregate>(result__)
830     }
831     #[cfg(feature = "Win32_Foundation")]
OpenContact<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationContact>832     pub unsafe fn OpenContact<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationContact> {
833         let mut result__: <IContactAggregationContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
834         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pitemid.into_param().abi(), &mut result__).from_abi::<IContactAggregationContact>(result__)
835     }
836     #[cfg(feature = "Win32_Foundation")]
OpenServerContactLink<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationLink>837     pub unsafe fn OpenServerContactLink<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationLink> {
838         let mut result__: <IContactAggregationLink as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
839         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pitemid.into_param().abi(), &mut result__).from_abi::<IContactAggregationLink>(result__)
840     }
841     #[cfg(feature = "Win32_Foundation")]
OpenServerPerson<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson>842     pub unsafe fn OpenServerPerson<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pitemid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson> {
843         let mut result__: <IContactAggregationServerPerson as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
844         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pitemid.into_param().abi(), &mut result__).from_abi::<IContactAggregationServerPerson>(result__)
845     }
Contacts(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationContactCollection>846     pub unsafe fn Contacts(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationContactCollection> {
847         let mut result__: <IContactAggregationContactCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
848         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IContactAggregationContactCollection>(result__)
849     }
AggregateContacts(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationAggregateCollection>850     pub unsafe fn AggregateContacts(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationAggregateCollection> {
851         let mut result__: <IContactAggregationAggregateCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
852         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IContactAggregationAggregateCollection>(result__)
853     }
Groups(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationGroupCollection>854     pub unsafe fn Groups(&self, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS) -> ::windows::runtime::Result<IContactAggregationGroupCollection> {
855         let mut result__: <IContactAggregationGroupCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
856         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(options), &mut result__).from_abi::<IContactAggregationGroupCollection>(result__)
857     }
ServerPersons(&self) -> ::windows::runtime::Result<IContactAggregationServerPersonCollection>858     pub unsafe fn ServerPersons(&self) -> ::windows::runtime::Result<IContactAggregationServerPersonCollection> {
859         let mut result__: <IContactAggregationServerPersonCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
860         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationServerPersonCollection>(result__)
861     }
862     #[cfg(feature = "Win32_Foundation")]
ServerContactLinks<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ppersonitemid: Param0) -> ::windows::runtime::Result<IContactAggregationLinkCollection>863     pub unsafe fn ServerContactLinks<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ppersonitemid: Param0) -> ::windows::runtime::Result<IContactAggregationLinkCollection> {
864         let mut result__: <IContactAggregationLinkCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
865         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ppersonitemid.into_param().abi(), &mut result__).from_abi::<IContactAggregationLinkCollection>(result__)
866     }
867 }
868 unsafe impl ::windows::runtime::Interface for IContactAggregationManager {
869     type Vtable = IContactAggregationManager_abi;
870     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(495344009, 19231, 19296, [143, 52, 194, 173, 70, 139, 43, 80]);
871 }
872 impl ::std::convert::From<IContactAggregationManager> for ::windows::runtime::IUnknown {
from(value: IContactAggregationManager) -> Self873     fn from(value: IContactAggregationManager) -> Self {
874         unsafe { ::std::mem::transmute(value) }
875     }
876 }
877 impl ::std::convert::From<&IContactAggregationManager> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationManager) -> Self878     fn from(value: &IContactAggregationManager) -> Self {
879         ::std::convert::From::from(::std::clone::Clone::clone(value))
880     }
881 }
882 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>883     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
884         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
885     }
886 }
887 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>888     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
889         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
890     }
891 }
892 #[repr(C)]
893 #[doc(hidden)]
894 pub struct IContactAggregationManager_abi(
895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plmajorversion: *mut i32, plminorversion: *mut i32) -> ::windows::runtime::HRESULT,
899     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgroupname: super::super::Foundation::PWSTR, options: CONTACT_AGGREGATION_CREATE_OR_OPEN_OPTIONS, pcreatedgroup: *mut super::super::Foundation::BOOL, ppgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
900     #[cfg(not(feature = "Win32_Foundation"))] usize,
901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppserverperson: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppservercontactlink: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
905     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pitemid: super::super::Foundation::PWSTR, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
906     #[cfg(not(feature = "Win32_Foundation"))] usize,
907     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pitemid: super::super::Foundation::PWSTR, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
908     #[cfg(not(feature = "Win32_Foundation"))] usize,
909     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pitemid: super::super::Foundation::PWSTR, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
910     #[cfg(not(feature = "Win32_Foundation"))] usize,
911     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pitemid: super::super::Foundation::PWSTR, ppitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
912     #[cfg(not(feature = "Win32_Foundation"))] usize,
913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS, ppitems: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS, ppaggregates: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: CONTACT_AGGREGATION_COLLECTION_OPTIONS, ppgroups: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppserverpersoncollection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
917     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppersonitemid: super::super::Foundation::PWSTR, ppservercontactlinkcollection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
918     #[cfg(not(feature = "Win32_Foundation"))] usize,
919 );
920 #[repr(transparent)]
921 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
922 pub struct IContactAggregationServerPerson(::windows::runtime::IUnknown);
923 impl IContactAggregationServerPerson {
Delete(&self) -> ::windows::runtime::Result<()>924     pub unsafe fn Delete(&self) -> ::windows::runtime::Result<()> {
925         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
926     }
Save(&self) -> ::windows::runtime::Result<()>927     pub unsafe fn Save(&self) -> ::windows::runtime::Result<()> {
928         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
929     }
930     #[cfg(feature = "Win32_Foundation")]
AggregateId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>931     pub unsafe fn AggregateId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
932         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
933         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
934     }
935     #[cfg(feature = "Win32_Foundation")]
SetAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()>936     pub unsafe fn SetAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<()> {
937         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), paggregateid.into_param().abi()).ok()
938     }
939     #[cfg(feature = "Win32_Foundation")]
AntiLink(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>940     pub unsafe fn AntiLink(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
941         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
942         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
943     }
944     #[cfg(feature = "Win32_Foundation")]
SetAntiLink<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilink: Param0) -> ::windows::runtime::Result<()>945     pub unsafe fn SetAntiLink<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilink: Param0) -> ::windows::runtime::Result<()> {
946         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pantilink.into_param().abi()).ok()
947     }
948     #[cfg(feature = "Win32_Foundation")]
AntiLinkBaseline(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>949     pub unsafe fn AntiLinkBaseline(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
950         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
951         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
952     }
953     #[cfg(feature = "Win32_Foundation")]
SetAntiLinkBaseline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilink: Param0) -> ::windows::runtime::Result<()>954     pub unsafe fn SetAntiLinkBaseline<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pantilink: Param0) -> ::windows::runtime::Result<()> {
955         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pantilink.into_param().abi()).ok()
956     }
FavoriteOrder(&self) -> ::windows::runtime::Result<u32>957     pub unsafe fn FavoriteOrder(&self) -> ::windows::runtime::Result<u32> {
958         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
959         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
960     }
SetFavoriteOrder(&self, favoriteorder: u32) -> ::windows::runtime::Result<()>961     pub unsafe fn SetFavoriteOrder(&self, favoriteorder: u32) -> ::windows::runtime::Result<()> {
962         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(favoriteorder)).ok()
963     }
FavoriteOrderBaseline(&self) -> ::windows::runtime::Result<u32>964     pub unsafe fn FavoriteOrderBaseline(&self) -> ::windows::runtime::Result<u32> {
965         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
966         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
967     }
SetFavoriteOrderBaseline(&self, favoriteorder: u32) -> ::windows::runtime::Result<()>968     pub unsafe fn SetFavoriteOrderBaseline(&self, favoriteorder: u32) -> ::windows::runtime::Result<()> {
969         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(favoriteorder)).ok()
970     }
Groups(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB>971     pub unsafe fn Groups(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB> {
972         let mut result__: <*mut CONTACT_AGGREGATION_BLOB as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
973         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut CONTACT_AGGREGATION_BLOB>(result__)
974     }
SetGroups(&self, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()>975     pub unsafe fn SetGroups(&self, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()> {
976         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(pgroups)).ok()
977     }
GroupsBaseline(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB>978     pub unsafe fn GroupsBaseline(&self) -> ::windows::runtime::Result<*mut CONTACT_AGGREGATION_BLOB> {
979         let mut result__: <*mut CONTACT_AGGREGATION_BLOB as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
980         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut CONTACT_AGGREGATION_BLOB>(result__)
981     }
SetGroupsBaseline(&self, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()>982     pub unsafe fn SetGroupsBaseline(&self, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::Result<()> {
983         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(pgroups)).ok()
984     }
985     #[cfg(feature = "Win32_Foundation")]
Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>986     pub unsafe fn Id(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
987         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
988         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
989     }
990     #[cfg(feature = "Win32_Foundation")]
IsTombstone(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>991     pub unsafe fn IsTombstone(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
992         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
993         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
994     }
995     #[cfg(feature = "Win32_Foundation")]
SetIsTombstone<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, istombstone: Param0) -> ::windows::runtime::Result<()>996     pub unsafe fn SetIsTombstone<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, istombstone: Param0) -> ::windows::runtime::Result<()> {
997         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), istombstone.into_param().abi()).ok()
998     }
999     #[cfg(feature = "Win32_Foundation")]
LinkedAggregateId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1000     pub unsafe fn LinkedAggregateId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1001         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1002         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1003     }
1004     #[cfg(feature = "Win32_Foundation")]
SetLinkedAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, plinkedaggregateid: Param0) -> ::windows::runtime::Result<()>1005     pub unsafe fn SetLinkedAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, plinkedaggregateid: Param0) -> ::windows::runtime::Result<()> {
1006         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), plinkedaggregateid.into_param().abi()).ok()
1007     }
1008     #[cfg(feature = "Win32_Foundation")]
ObjectId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1009     pub unsafe fn ObjectId(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1010         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1011         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1012     }
1013     #[cfg(feature = "Win32_Foundation")]
SetObjectId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobjectid: Param0) -> ::windows::runtime::Result<()>1014     pub unsafe fn SetObjectId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pobjectid: Param0) -> ::windows::runtime::Result<()> {
1015         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), pobjectid.into_param().abi()).ok()
1016     }
1017 }
1018 unsafe impl ::windows::runtime::Interface for IContactAggregationServerPerson {
1019     type Vtable = IContactAggregationServerPerson_abi;
1020     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2145140043, 7042, 17204, [133, 197, 37, 24, 78, 229, 165, 242]);
1021 }
1022 impl ::std::convert::From<IContactAggregationServerPerson> for ::windows::runtime::IUnknown {
from(value: IContactAggregationServerPerson) -> Self1023     fn from(value: IContactAggregationServerPerson) -> Self {
1024         unsafe { ::std::mem::transmute(value) }
1025     }
1026 }
1027 impl ::std::convert::From<&IContactAggregationServerPerson> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationServerPerson) -> Self1028     fn from(value: &IContactAggregationServerPerson) -> Self {
1029         ::std::convert::From::from(::std::clone::Clone::clone(value))
1030     }
1031 }
1032 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationServerPerson {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1033     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1034         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1035     }
1036 }
1037 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationServerPerson {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1038     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1039         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1040     }
1041 }
1042 #[repr(C)]
1043 #[doc(hidden)]
1044 pub struct IContactAggregationServerPerson_abi(
1045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1050     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppaggregateid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1051     #[cfg(not(feature = "Win32_Foundation"))] usize,
1052     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paggregateid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1053     #[cfg(not(feature = "Win32_Foundation"))] usize,
1054     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppantilink: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1055     #[cfg(not(feature = "Win32_Foundation"))] usize,
1056     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pantilink: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1057     #[cfg(not(feature = "Win32_Foundation"))] usize,
1058     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppantilink: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1059     #[cfg(not(feature = "Win32_Foundation"))] usize,
1060     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pantilink: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1061     #[cfg(not(feature = "Win32_Foundation"))] usize,
1062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfavoriteorder: *mut u32) -> ::windows::runtime::HRESULT,
1063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, favoriteorder: u32) -> ::windows::runtime::HRESULT,
1064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfavoriteorder: *mut u32) -> ::windows::runtime::HRESULT,
1065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, favoriteorder: u32) -> ::windows::runtime::HRESULT,
1066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgroups: *mut *mut CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
1067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
1068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppgroups: *mut *mut CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
1069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgroups: *const CONTACT_AGGREGATION_BLOB) -> ::windows::runtime::HRESULT,
1070     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1071     #[cfg(not(feature = "Win32_Foundation"))] usize,
1072     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pistombstone: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1073     #[cfg(not(feature = "Win32_Foundation"))] usize,
1074     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, istombstone: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1075     #[cfg(not(feature = "Win32_Foundation"))] usize,
1076     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pplinkedaggregateid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1077     #[cfg(not(feature = "Win32_Foundation"))] usize,
1078     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plinkedaggregateid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1079     #[cfg(not(feature = "Win32_Foundation"))] usize,
1080     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppobjectid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1081     #[cfg(not(feature = "Win32_Foundation"))] usize,
1082     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobjectid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1083     #[cfg(not(feature = "Win32_Foundation"))] usize,
1084 );
1085 #[repr(transparent)]
1086 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1087 pub struct IContactAggregationServerPersonCollection(::windows::runtime::IUnknown);
1088 impl IContactAggregationServerPersonCollection {
FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationServerPerson>1089     pub unsafe fn FindFirst(&self) -> ::windows::runtime::Result<IContactAggregationServerPerson> {
1090         let mut result__: <IContactAggregationServerPerson as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1091         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationServerPerson>(result__)
1092     }
1093     #[cfg(feature = "Win32_Foundation")]
FindFirstByServerId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pserverid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson>1094     pub unsafe fn FindFirstByServerId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pserverid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson> {
1095         let mut result__: <IContactAggregationServerPerson as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1096         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pserverid.into_param().abi(), &mut result__).from_abi::<IContactAggregationServerPerson>(result__)
1097     }
1098     #[cfg(feature = "Win32_Foundation")]
FindFirstByAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson>1099     pub unsafe fn FindFirstByAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson> {
1100         let mut result__: <IContactAggregationServerPerson as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1101         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), paggregateid.into_param().abi(), &mut result__).from_abi::<IContactAggregationServerPerson>(result__)
1102     }
1103     #[cfg(feature = "Win32_Foundation")]
FindFirstByLinkedAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson>1104     pub unsafe fn FindFirstByLinkedAggregateId<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, paggregateid: Param0) -> ::windows::runtime::Result<IContactAggregationServerPerson> {
1105         let mut result__: <IContactAggregationServerPerson as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1106         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), paggregateid.into_param().abi(), &mut result__).from_abi::<IContactAggregationServerPerson>(result__)
1107     }
FindNext(&self) -> ::windows::runtime::Result<IContactAggregationServerPerson>1108     pub unsafe fn FindNext(&self) -> ::windows::runtime::Result<IContactAggregationServerPerson> {
1109         let mut result__: <IContactAggregationServerPerson as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1110         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactAggregationServerPerson>(result__)
1111     }
Count(&self) -> ::windows::runtime::Result<u32>1112     pub unsafe fn Count(&self) -> ::windows::runtime::Result<u32> {
1113         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1114         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1115     }
1116 }
1117 unsafe impl ::windows::runtime::Interface for IContactAggregationServerPersonCollection {
1118     type Vtable = IContactAggregationServerPersonCollection_abi;
1119     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1332939338, 26116, 18358, [169, 135, 102, 158, 207, 30, 87, 81]);
1120 }
1121 impl ::std::convert::From<IContactAggregationServerPersonCollection> for ::windows::runtime::IUnknown {
from(value: IContactAggregationServerPersonCollection) -> Self1122     fn from(value: IContactAggregationServerPersonCollection) -> Self {
1123         unsafe { ::std::mem::transmute(value) }
1124     }
1125 }
1126 impl ::std::convert::From<&IContactAggregationServerPersonCollection> for ::windows::runtime::IUnknown {
from(value: &IContactAggregationServerPersonCollection) -> Self1127     fn from(value: &IContactAggregationServerPersonCollection) -> Self {
1128         ::std::convert::From::from(::std::clone::Clone::clone(value))
1129     }
1130 }
1131 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactAggregationServerPersonCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1132     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1133         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1134     }
1135 }
1136 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactAggregationServerPersonCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1137     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1138         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1139     }
1140 }
1141 #[repr(C)]
1142 #[doc(hidden)]
1143 pub struct IContactAggregationServerPersonCollection_abi(
1144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppserverperson: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1148     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pserverid: super::super::Foundation::PWSTR, ppserverperson: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1149     #[cfg(not(feature = "Win32_Foundation"))] usize,
1150     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paggregateid: super::super::Foundation::PWSTR, ppserverperson: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1151     #[cfg(not(feature = "Win32_Foundation"))] usize,
1152     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, paggregateid: super::super::Foundation::PWSTR, ppserverperson: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1153     #[cfg(not(feature = "Win32_Foundation"))] usize,
1154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppserverperson: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcount: *mut u32) -> ::windows::runtime::HRESULT,
1156 );
1157 #[repr(transparent)]
1158 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1159 pub struct IContactCollection(::windows::runtime::IUnknown);
1160 impl IContactCollection {
Reset(&self) -> ::windows::runtime::Result<()>1161     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1162         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
1163     }
Next(&self) -> ::windows::runtime::Result<()>1164     pub unsafe fn Next(&self) -> ::windows::runtime::Result<()> {
1165         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1166     }
GetCurrent(&self) -> ::windows::runtime::Result<IContact>1167     pub unsafe fn GetCurrent(&self) -> ::windows::runtime::Result<IContact> {
1168         let mut result__: <IContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1169         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContact>(result__)
1170     }
1171 }
1172 unsafe impl ::windows::runtime::Interface for IContactCollection {
1173     type Vtable = IContactCollection_abi;
1174     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3064963896, 55161, 4569, [139, 222, 246, 107, 173, 30, 63, 58]);
1175 }
1176 impl ::std::convert::From<IContactCollection> for ::windows::runtime::IUnknown {
from(value: IContactCollection) -> Self1177     fn from(value: IContactCollection) -> Self {
1178         unsafe { ::std::mem::transmute(value) }
1179     }
1180 }
1181 impl ::std::convert::From<&IContactCollection> for ::windows::runtime::IUnknown {
from(value: &IContactCollection) -> Self1182     fn from(value: &IContactCollection) -> Self {
1183         ::std::convert::From::from(::std::clone::Clone::clone(value))
1184     }
1185 }
1186 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1187     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1188         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1189     }
1190 }
1191 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1192     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1193         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1194     }
1195 }
1196 #[repr(C)]
1197 #[doc(hidden)]
1198 pub struct IContactCollection_abi(
1199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcontact: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1205 );
1206 #[repr(transparent)]
1207 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1208 pub struct IContactManager(::windows::runtime::IUnknown);
1209 impl IContactManager {
1210     #[cfg(feature = "Win32_Foundation")]
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszappname: Param0, pszappversion: Param1) -> ::windows::runtime::Result<()>1211     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszappname: Param0, pszappversion: Param1) -> ::windows::runtime::Result<()> {
1212         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszappname.into_param().abi(), pszappversion.into_param().abi()).ok()
1213     }
1214     #[cfg(feature = "Win32_Foundation")]
Load<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcontactid: Param0) -> ::windows::runtime::Result<IContact>1215     pub unsafe fn Load<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszcontactid: Param0) -> ::windows::runtime::Result<IContact> {
1216         let mut result__: <IContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1217         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszcontactid.into_param().abi(), &mut result__).from_abi::<IContact>(result__)
1218     }
1219     #[cfg(feature = "Win32_Foundation")]
MergeContactIDs<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psznewcontactid: Param0, pszoldcontactid: Param1) -> ::windows::runtime::Result<()>1220     pub unsafe fn MergeContactIDs<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, psznewcontactid: Param0, pszoldcontactid: Param1) -> ::windows::runtime::Result<()> {
1221         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), psznewcontactid.into_param().abi(), pszoldcontactid.into_param().abi()).ok()
1222     }
GetMeContact(&self) -> ::windows::runtime::Result<IContact>1223     pub unsafe fn GetMeContact(&self) -> ::windows::runtime::Result<IContact> {
1224         let mut result__: <IContact as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1225         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContact>(result__)
1226     }
SetMeContact<'a, Param0: ::windows::runtime::IntoParam<'a, IContact>>(&self, pmecontact: Param0) -> ::windows::runtime::Result<()>1227     pub unsafe fn SetMeContact<'a, Param0: ::windows::runtime::IntoParam<'a, IContact>>(&self, pmecontact: Param0) -> ::windows::runtime::Result<()> {
1228         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pmecontact.into_param().abi()).ok()
1229     }
GetContactCollection(&self) -> ::windows::runtime::Result<IContactCollection>1230     pub unsafe fn GetContactCollection(&self) -> ::windows::runtime::Result<IContactCollection> {
1231         let mut result__: <IContactCollection as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1232         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IContactCollection>(result__)
1233     }
1234 }
1235 unsafe impl ::windows::runtime::Interface for IContactManager {
1236     type Vtable = IContactManager_abi;
1237     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2908044696, 57009, 18250, [142, 23, 252, 12, 32, 117, 183, 56]);
1238 }
1239 impl ::std::convert::From<IContactManager> for ::windows::runtime::IUnknown {
from(value: IContactManager) -> Self1240     fn from(value: IContactManager) -> Self {
1241         unsafe { ::std::mem::transmute(value) }
1242     }
1243 }
1244 impl ::std::convert::From<&IContactManager> for ::windows::runtime::IUnknown {
from(value: &IContactManager) -> Self1245     fn from(value: &IContactManager) -> Self {
1246         ::std::convert::From::from(::std::clone::Clone::clone(value))
1247     }
1248 }
1249 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1250     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1251         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1252     }
1253 }
1254 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1255     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1256         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1257     }
1258 }
1259 #[repr(C)]
1260 #[doc(hidden)]
1261 pub struct IContactManager_abi(
1262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1265     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszappname: super::super::Foundation::PWSTR, pszappversion: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1266     #[cfg(not(feature = "Win32_Foundation"))] usize,
1267     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszcontactid: super::super::Foundation::PWSTR, ppcontact: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1268     #[cfg(not(feature = "Win32_Foundation"))] usize,
1269     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psznewcontactid: super::super::Foundation::PWSTR, pszoldcontactid: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1270     #[cfg(not(feature = "Win32_Foundation"))] usize,
1271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppmecontact: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmecontact: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcontactcollection: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1274 );
1275 #[repr(transparent)]
1276 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1277 pub struct IContactProperties(::windows::runtime::IUnknown);
1278 impl IContactProperties {
1279     #[cfg(feature = "Win32_Foundation")]
GetString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pszvalue: Param2, cchvalue: u32, pdwcchpropertyvaluerequired: *mut u32) -> ::windows::runtime::Result<()>1280     pub unsafe fn GetString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pszvalue: Param2, cchvalue: u32, pdwcchpropertyvaluerequired: *mut u32) -> ::windows::runtime::Result<()> {
1281         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(dwflags), pszvalue.into_param().abi(), ::std::mem::transmute(cchvalue), ::std::mem::transmute(pdwcchpropertyvaluerequired)).ok()
1282     }
1283     #[cfg(feature = "Win32_Foundation")]
GetDate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pftdatetime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::Result<()>1284     pub unsafe fn GetDate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pftdatetime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::Result<()> {
1285         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(dwflags), ::std::mem::transmute(pftdatetime)).ok()
1286     }
1287     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetBinary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pszcontenttype: Param2, cchcontenttype: u32, pdwcchcontenttyperequired: *mut u32, ppstream: *mut ::std::option::Option<super::Com::IStream>) -> ::windows::runtime::Result<()>1288     pub unsafe fn GetBinary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pszcontenttype: Param2, cchcontenttype: u32, pdwcchcontenttyperequired: *mut u32, ppstream: *mut ::std::option::Option<super::Com::IStream>) -> ::windows::runtime::Result<()> {
1289         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(dwflags), pszcontenttype.into_param().abi(), ::std::mem::transmute(cchcontenttype), ::std::mem::transmute(pdwcchcontenttyperequired), ::std::mem::transmute(ppstream)).ok()
1290     }
1291     #[cfg(feature = "Win32_Foundation")]
GetLabels<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32, pszlabels: Param2, cchlabels: u32, pdwcchlabelsrequired: *mut u32) -> ::windows::runtime::Result<()>1292     pub unsafe fn GetLabels<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32, pszlabels: Param2, cchlabels: u32, pdwcchlabelsrequired: *mut u32) -> ::windows::runtime::Result<()> {
1293         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszarrayelementname.into_param().abi(), ::std::mem::transmute(dwflags), pszlabels.into_param().abi(), ::std::mem::transmute(cchlabels), ::std::mem::transmute(pdwcchlabelsrequired)).ok()
1294     }
1295     #[cfg(feature = "Win32_Foundation")]
SetString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pszvalue: Param2) -> ::windows::runtime::Result<()>1296     pub unsafe fn SetString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32, pszvalue: Param2) -> ::windows::runtime::Result<()> {
1297         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(dwflags), pszvalue.into_param().abi()).ok()
1298     }
1299     #[cfg(feature = "Win32_Foundation")]
SetDate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(&self, pszpropertyname: Param0, dwflags: u32, ftdatetime: Param2) -> ::windows::runtime::Result<()>1300     pub unsafe fn SetDate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(&self, pszpropertyname: Param0, dwflags: u32, ftdatetime: Param2) -> ::windows::runtime::Result<()> {
1301         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(dwflags), ftdatetime.into_param().abi()).ok()
1302     }
1303     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetBinary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::Com::IStream>>(&self, pszpropertyname: Param0, dwflags: u32, pszcontenttype: Param2, pstream: Param3) -> ::windows::runtime::Result<()>1304     pub unsafe fn SetBinary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param3: ::windows::runtime::IntoParam<'a, super::Com::IStream>>(&self, pszpropertyname: Param0, dwflags: u32, pszcontenttype: Param2, pstream: Param3) -> ::windows::runtime::Result<()> {
1305         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(dwflags), pszcontenttype.into_param().abi(), pstream.into_param().abi()).ok()
1306     }
1307     #[cfg(feature = "Win32_Foundation")]
SetLabels<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32, dwlabelcount: u32, ppszlabels: *const super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>1308     pub unsafe fn SetLabels<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32, dwlabelcount: u32, ppszlabels: *const super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
1309         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pszarrayelementname.into_param().abi(), ::std::mem::transmute(dwflags), ::std::mem::transmute(dwlabelcount), ::std::mem::transmute(ppszlabels)).ok()
1310     }
1311     #[cfg(feature = "Win32_Foundation")]
CreateArrayNode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayname: Param0, dwflags: u32, fappend: Param2, psznewarrayelementname: Param3, cchnewarrayelementname: u32, pdwcchnewarrayelementnamerequired: *mut u32) -> ::windows::runtime::Result<()>1312     pub unsafe fn CreateArrayNode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayname: Param0, dwflags: u32, fappend: Param2, psznewarrayelementname: Param3, cchnewarrayelementname: u32, pdwcchnewarrayelementnamerequired: *mut u32) -> ::windows::runtime::Result<()> {
1313         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pszarrayname.into_param().abi(), ::std::mem::transmute(dwflags), fappend.into_param().abi(), psznewarrayelementname.into_param().abi(), ::std::mem::transmute(cchnewarrayelementname), ::std::mem::transmute(pdwcchnewarrayelementnamerequired)).ok()
1314     }
1315     #[cfg(feature = "Win32_Foundation")]
DeleteProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32) -> ::windows::runtime::Result<()>1316     pub unsafe fn DeleteProperty<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, dwflags: u32) -> ::windows::runtime::Result<()> {
1317         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(dwflags)).ok()
1318     }
1319     #[cfg(feature = "Win32_Foundation")]
DeleteArrayNode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32) -> ::windows::runtime::Result<()>1320     pub unsafe fn DeleteArrayNode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32) -> ::windows::runtime::Result<()> {
1321         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pszarrayelementname.into_param().abi(), ::std::mem::transmute(dwflags)).ok()
1322     }
1323     #[cfg(feature = "Win32_Foundation")]
DeleteLabels<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32) -> ::windows::runtime::Result<()>1324     pub unsafe fn DeleteLabels<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementname: Param0, dwflags: u32) -> ::windows::runtime::Result<()> {
1325         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), pszarrayelementname.into_param().abi(), ::std::mem::transmute(dwflags)).ok()
1326     }
1327     #[cfg(feature = "Win32_Foundation")]
GetPropertyCollection<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pppropertycollection: *mut ::std::option::Option<IContactPropertyCollection>, dwflags: u32, pszmultivaluename: Param2, dwlabelcount: u32, ppszlabels: *const super::super::Foundation::PWSTR, fanylabelmatches: Param5) -> ::windows::runtime::Result<()>1328     pub unsafe fn GetPropertyCollection<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pppropertycollection: *mut ::std::option::Option<IContactPropertyCollection>, dwflags: u32, pszmultivaluename: Param2, dwlabelcount: u32, ppszlabels: *const super::super::Foundation::PWSTR, fanylabelmatches: Param5) -> ::windows::runtime::Result<()> {
1329         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(pppropertycollection), ::std::mem::transmute(dwflags), pszmultivaluename.into_param().abi(), ::std::mem::transmute(dwlabelcount), ::std::mem::transmute(ppszlabels), fanylabelmatches.into_param().abi()).ok()
1330     }
1331 }
1332 unsafe impl ::windows::runtime::Interface for IContactProperties {
1333     type Vtable = IContactProperties_abi;
1334     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1893541853, 23741, 18152, [190, 240, 35, 182, 179, 70, 40, 143]);
1335 }
1336 impl ::std::convert::From<IContactProperties> for ::windows::runtime::IUnknown {
from(value: IContactProperties) -> Self1337     fn from(value: IContactProperties) -> Self {
1338         unsafe { ::std::mem::transmute(value) }
1339     }
1340 }
1341 impl ::std::convert::From<&IContactProperties> for ::windows::runtime::IUnknown {
from(value: &IContactProperties) -> Self1342     fn from(value: &IContactProperties) -> Self {
1343         ::std::convert::From::from(::std::clone::Clone::clone(value))
1344     }
1345 }
1346 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1347     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1348         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1349     }
1350 }
1351 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1352     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1353         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1354     }
1355 }
1356 #[repr(C)]
1357 #[doc(hidden)]
1358 pub struct IContactProperties_abi(
1359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1362     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, dwflags: u32, pszvalue: super::super::Foundation::PWSTR, cchvalue: u32, pdwcchpropertyvaluerequired: *mut u32) -> ::windows::runtime::HRESULT,
1363     #[cfg(not(feature = "Win32_Foundation"))] usize,
1364     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, dwflags: u32, pftdatetime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
1365     #[cfg(not(feature = "Win32_Foundation"))] usize,
1366     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, dwflags: u32, pszcontenttype: super::super::Foundation::PWSTR, cchcontenttype: u32, pdwcchcontenttyperequired: *mut u32, ppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1367     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1368     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszarrayelementname: super::super::Foundation::PWSTR, dwflags: u32, pszlabels: super::super::Foundation::PWSTR, cchlabels: u32, pdwcchlabelsrequired: *mut u32) -> ::windows::runtime::HRESULT,
1369     #[cfg(not(feature = "Win32_Foundation"))] usize,
1370     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, dwflags: u32, pszvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1371     #[cfg(not(feature = "Win32_Foundation"))] usize,
1372     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, dwflags: u32, ftdatetime: super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
1373     #[cfg(not(feature = "Win32_Foundation"))] usize,
1374     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, dwflags: u32, pszcontenttype: super::super::Foundation::PWSTR, pstream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1375     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1376     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszarrayelementname: super::super::Foundation::PWSTR, dwflags: u32, dwlabelcount: u32, ppszlabels: *const super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1377     #[cfg(not(feature = "Win32_Foundation"))] usize,
1378     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszarrayname: super::super::Foundation::PWSTR, dwflags: u32, fappend: super::super::Foundation::BOOL, psznewarrayelementname: super::super::Foundation::PWSTR, cchnewarrayelementname: u32, pdwcchnewarrayelementnamerequired: *mut u32) -> ::windows::runtime::HRESULT,
1379     #[cfg(not(feature = "Win32_Foundation"))] usize,
1380     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, dwflags: u32) -> ::windows::runtime::HRESULT,
1381     #[cfg(not(feature = "Win32_Foundation"))] usize,
1382     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszarrayelementname: super::super::Foundation::PWSTR, dwflags: u32) -> ::windows::runtime::HRESULT,
1383     #[cfg(not(feature = "Win32_Foundation"))] usize,
1384     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszarrayelementname: super::super::Foundation::PWSTR, dwflags: u32) -> ::windows::runtime::HRESULT,
1385     #[cfg(not(feature = "Win32_Foundation"))] usize,
1386     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropertycollection: *mut ::windows::runtime::RawPtr, dwflags: u32, pszmultivaluename: super::super::Foundation::PWSTR, dwlabelcount: u32, ppszlabels: *const super::super::Foundation::PWSTR, fanylabelmatches: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1387     #[cfg(not(feature = "Win32_Foundation"))] usize,
1388 );
1389 #[repr(transparent)]
1390 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1391 pub struct IContactPropertyCollection(::windows::runtime::IUnknown);
1392 impl IContactPropertyCollection {
Reset(&self) -> ::windows::runtime::Result<()>1393     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
1394         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
1395     }
Next(&self) -> ::windows::runtime::Result<()>1396     pub unsafe fn Next(&self) -> ::windows::runtime::Result<()> {
1397         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1398     }
1399     #[cfg(feature = "Win32_Foundation")]
GetPropertyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, cchpropertyname: u32, pdwcchpropertynamerequired: *mut u32) -> ::windows::runtime::Result<()>1400     pub unsafe fn GetPropertyName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszpropertyname: Param0, cchpropertyname: u32, pdwcchpropertynamerequired: *mut u32) -> ::windows::runtime::Result<()> {
1401         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszpropertyname.into_param().abi(), ::std::mem::transmute(cchpropertyname), ::std::mem::transmute(pdwcchpropertynamerequired)).ok()
1402     }
GetPropertyType(&self, pdwtype: *mut u32) -> ::windows::runtime::Result<()>1403     pub unsafe fn GetPropertyType(&self, pdwtype: *mut u32) -> ::windows::runtime::Result<()> {
1404         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwtype)).ok()
1405     }
GetPropertyVersion(&self, pdwversion: *mut u32) -> ::windows::runtime::Result<()>1406     pub unsafe fn GetPropertyVersion(&self, pdwversion: *mut u32) -> ::windows::runtime::Result<()> {
1407         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwversion)).ok()
1408     }
1409     #[cfg(feature = "Win32_Foundation")]
GetPropertyModificationDate(&self, pftmodificationdate: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::Result<()>1410     pub unsafe fn GetPropertyModificationDate(&self, pftmodificationdate: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::Result<()> {
1411         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pftmodificationdate)).ok()
1412     }
1413     #[cfg(feature = "Win32_Foundation")]
GetPropertyArrayElementID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementid: Param0, ccharrayelementid: u32, pdwccharrayelementidrequired: *mut u32) -> ::windows::runtime::Result<()>1414     pub unsafe fn GetPropertyArrayElementID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszarrayelementid: Param0, ccharrayelementid: u32, pdwccharrayelementidrequired: *mut u32) -> ::windows::runtime::Result<()> {
1415         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszarrayelementid.into_param().abi(), ::std::mem::transmute(ccharrayelementid), ::std::mem::transmute(pdwccharrayelementidrequired)).ok()
1416     }
1417 }
1418 unsafe impl ::windows::runtime::Interface for IContactPropertyCollection {
1419     type Vtable = IContactPropertyCollection_abi;
1420     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4292062712, 64100, 17192, [177, 182, 46, 13, 181, 9, 203, 60]);
1421 }
1422 impl ::std::convert::From<IContactPropertyCollection> for ::windows::runtime::IUnknown {
from(value: IContactPropertyCollection) -> Self1423     fn from(value: IContactPropertyCollection) -> Self {
1424         unsafe { ::std::mem::transmute(value) }
1425     }
1426 }
1427 impl ::std::convert::From<&IContactPropertyCollection> for ::windows::runtime::IUnknown {
from(value: &IContactPropertyCollection) -> Self1428     fn from(value: &IContactPropertyCollection) -> Self {
1429         ::std::convert::From::from(::std::clone::Clone::clone(value))
1430     }
1431 }
1432 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactPropertyCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1433     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1434         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1435     }
1436 }
1437 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactPropertyCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1438     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1439         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1440     }
1441 }
1442 #[repr(C)]
1443 #[doc(hidden)]
1444 pub struct IContactPropertyCollection_abi(
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1450     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszpropertyname: super::super::Foundation::PWSTR, cchpropertyname: u32, pdwcchpropertynamerequired: *mut u32) -> ::windows::runtime::HRESULT,
1451     #[cfg(not(feature = "Win32_Foundation"))] usize,
1452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwtype: *mut u32) -> ::windows::runtime::HRESULT,
1453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwversion: *mut u32) -> ::windows::runtime::HRESULT,
1454     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pftmodificationdate: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
1455     #[cfg(not(feature = "Win32_Foundation"))] usize,
1456     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszarrayelementid: super::super::Foundation::PWSTR, ccharrayelementid: u32, pdwccharrayelementidrequired: *mut u32) -> ::windows::runtime::HRESULT,
1457     #[cfg(not(feature = "Win32_Foundation"))] usize,
1458 );
1459