1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "Phone_PersonalInformation_Provisioning")]
3 pub mod Provisioning;
4 #[repr(transparent)]
5 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6 pub struct ContactAddress(::windows::runtime::IInspectable);
7 impl ContactAddress {
8     pub fn new() -> ::windows::runtime::Result<Self> {
9         Self::IActivationFactory(|f| f.activate_instance::<Self>())
10     }
11     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
12         static mut SHARED: ::windows::runtime::FactoryCache<ContactAddress, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
13         unsafe { SHARED.call(callback) }
14     }
15     pub fn Country(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
16         let this = self;
17         unsafe {
18             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
19             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
20         }
21     }
22     pub fn SetCountry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
23         let this = self;
24         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
25     }
26     pub fn Locality(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
27         let this = self;
28         unsafe {
29             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
30             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
31         }
32     }
33     pub fn SetLocality<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34         let this = self;
35         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36     }
37     pub fn Region(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
38         let this = self;
39         unsafe {
40             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
41             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
42         }
43     }
44     pub fn SetRegion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
45         let this = self;
46         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
47     }
48     pub fn PostalCode(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
49         let this = self;
50         unsafe {
51             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
52             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
53         }
54     }
55     pub fn SetPostalCode<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
56         let this = self;
57         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
58     }
59     pub fn StreetAddress(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
60         let this = self;
61         unsafe {
62             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
63             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
64         }
65     }
66     pub fn SetStreetAddress<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
67         let this = self;
68         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
69     }
70 }
71 unsafe impl ::windows::runtime::RuntimeType for ContactAddress {
72     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Phone.PersonalInformation.ContactAddress;{5f24f927-94a9-44a2-a155-2d0b37d1dccd})");
73 }
74 unsafe impl ::windows::runtime::Interface for ContactAddress {
75     type Vtable = IContactAddress_abi;
76     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1596258599, 38057, 17570, [161, 85, 45, 11, 55, 209, 220, 205]);
77 }
78 impl ::windows::runtime::RuntimeName for ContactAddress {
79     const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactAddress";
80 }
81 impl ::std::convert::From<ContactAddress> for ::windows::runtime::IUnknown {
82     fn from(value: ContactAddress) -> Self {
83         unsafe { ::std::mem::transmute(value) }
84     }
85 }
86 impl ::std::convert::From<&ContactAddress> for ::windows::runtime::IUnknown {
87     fn from(value: &ContactAddress) -> Self {
88         ::std::convert::From::from(::std::clone::Clone::clone(value))
89     }
90 }
91 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContactAddress {
92     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
93         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
94     }
95 }
96 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContactAddress {
97     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
98         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
99     }
100 }
101 impl ::std::convert::From<ContactAddress> for ::windows::runtime::IInspectable {
102     fn from(value: ContactAddress) -> Self {
103         value.0
104     }
105 }
106 impl ::std::convert::From<&ContactAddress> for ::windows::runtime::IInspectable {
107     fn from(value: &ContactAddress) -> Self {
108         value.0.clone()
109     }
110 }
111 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContactAddress {
112     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
113         ::windows::runtime::Param::Owned(self.0)
114     }
115 }
116 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContactAddress {
117     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
118         ::windows::runtime::Param::Borrowed(&self.0)
119     }
120 }
121 unsafe impl ::std::marker::Send for ContactAddress {}
122 unsafe impl ::std::marker::Sync for ContactAddress {}
123 #[repr(transparent)]
124 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
125 pub struct ContactChangeRecord(::windows::runtime::IInspectable);
126 impl ContactChangeRecord {
127     pub fn ChangeType(&self) -> ::windows::runtime::Result<ContactChangeType> {
128         let this = self;
129         unsafe {
130             let mut result__: ContactChangeType = ::std::mem::zeroed();
131             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContactChangeType>(result__)
132         }
133     }
134     pub fn RevisionNumber(&self) -> ::windows::runtime::Result<u64> {
135         let this = self;
136         unsafe {
137             let mut result__: u64 = ::std::mem::zeroed();
138             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
139         }
140     }
141     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
142         let this = self;
143         unsafe {
144             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
145             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
146         }
147     }
148     pub fn RemoteId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
149         let this = self;
150         unsafe {
151             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
152             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
153         }
154     }
155 }
156 unsafe impl ::windows::runtime::RuntimeType for ContactChangeRecord {
157     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Phone.PersonalInformation.ContactChangeRecord;{b9d3f78f-513b-4742-be00-cc5c5c236b04})");
158 }
159 unsafe impl ::windows::runtime::Interface for ContactChangeRecord {
160     type Vtable = IContactChangeRecord_abi;
161     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3117676431, 20795, 18242, [190, 0, 204, 92, 92, 35, 107, 4]);
162 }
163 impl ::windows::runtime::RuntimeName for ContactChangeRecord {
164     const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactChangeRecord";
165 }
166 impl ::std::convert::From<ContactChangeRecord> for ::windows::runtime::IUnknown {
167     fn from(value: ContactChangeRecord) -> Self {
168         unsafe { ::std::mem::transmute(value) }
169     }
170 }
171 impl ::std::convert::From<&ContactChangeRecord> for ::windows::runtime::IUnknown {
172     fn from(value: &ContactChangeRecord) -> Self {
173         ::std::convert::From::from(::std::clone::Clone::clone(value))
174     }
175 }
176 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContactChangeRecord {
177     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
178         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
179     }
180 }
181 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContactChangeRecord {
182     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
183         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
184     }
185 }
186 impl ::std::convert::From<ContactChangeRecord> for ::windows::runtime::IInspectable {
187     fn from(value: ContactChangeRecord) -> Self {
188         value.0
189     }
190 }
191 impl ::std::convert::From<&ContactChangeRecord> for ::windows::runtime::IInspectable {
192     fn from(value: &ContactChangeRecord) -> Self {
193         value.0.clone()
194     }
195 }
196 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContactChangeRecord {
197     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
198         ::windows::runtime::Param::Owned(self.0)
199     }
200 }
201 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContactChangeRecord {
202     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
203         ::windows::runtime::Param::Borrowed(&self.0)
204     }
205 }
206 unsafe impl ::std::marker::Send for ContactChangeRecord {}
207 unsafe impl ::std::marker::Sync for ContactChangeRecord {}
208 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
209 #[repr(transparent)]
210 pub struct ContactChangeType(pub i32);
211 impl ContactChangeType {
212     pub const Created: ContactChangeType = ContactChangeType(0i32);
213     pub const Modified: ContactChangeType = ContactChangeType(1i32);
214     pub const Deleted: ContactChangeType = ContactChangeType(2i32);
215 }
216 impl ::std::convert::From<i32> for ContactChangeType {
217     fn from(value: i32) -> Self {
218         Self(value)
219     }
220 }
221 unsafe impl ::windows::runtime::Abi for ContactChangeType {
222     type Abi = Self;
223     type DefaultType = Self;
224 }
225 unsafe impl ::windows::runtime::RuntimeType for ContactChangeType {
226     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Phone.PersonalInformation.ContactChangeType;i4)");
227 }
228 #[repr(transparent)]
229 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
230 pub struct ContactInformation(::windows::runtime::IInspectable);
231 impl ContactInformation {
232     pub fn new() -> ::windows::runtime::Result<Self> {
233         Self::IActivationFactory(|f| f.activate_instance::<Self>())
234     }
235     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
236         static mut SHARED: ::windows::runtime::FactoryCache<ContactInformation, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
237         unsafe { SHARED.call(callback) }
238     }
239     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
240         let this = self;
241         unsafe {
242             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
243             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
244         }
245     }
246     pub fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
247         let this = self;
248         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
249     }
250     pub fn FamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
251         let this = self;
252         unsafe {
253             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
254             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
255         }
256     }
257     pub fn SetFamilyName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
258         let this = self;
259         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
260     }
261     pub fn GivenName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
262         let this = self;
263         unsafe {
264             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
265             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
266         }
267     }
268     pub fn SetGivenName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
269         let this = self;
270         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
271     }
272     pub fn HonorificPrefix(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
273         let this = self;
274         unsafe {
275             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
276             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
277         }
278     }
279     pub fn SetHonorificPrefix<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
280         let this = self;
281         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
282     }
283     pub fn HonorificSuffix(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
284         let this = self;
285         unsafe {
286             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
287             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
288         }
289     }
290     pub fn SetHonorificSuffix<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
291         let this = self;
292         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
293     }
294     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
295     pub fn GetDisplayPictureAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
296         let this = self;
297         unsafe {
298             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
299             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
300         }
301     }
302     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
303     pub fn SetDisplayPictureAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IInputStream>>(&self, stream: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
304         let this = self;
305         unsafe {
306             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
307             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), stream.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
308         }
309     }
310     #[cfg(feature = "Storage_Streams")]
311     pub fn DisplayPicture(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStreamReference> {
312         let this = self;
313         unsafe {
314             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
315             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IRandomAccessStreamReference>(result__)
316         }
317     }
318     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
319     pub fn GetPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
320         let this = self;
321         unsafe {
322             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
323             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__)
324         }
325     }
326     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
327     pub fn ToVcardAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
328         let this = self;
329         unsafe {
330             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
331             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
332         }
333     }
334     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
335     pub fn ToVcardWithOptionsAsync(&self, format: VCardFormat) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
336         let this = self;
337         unsafe {
338             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
339             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), format, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
340         }
341     }
342     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
343     pub fn ParseVcardAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IInputStream>>(vcard: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ContactInformation>> {
344         Self::IContactInformationStatics(|this| unsafe {
345             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
346             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), vcard.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ContactInformation>>(result__)
347         })
348     }
349     pub fn IContactInformationStatics<R, F: FnOnce(&IContactInformationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
350         static mut SHARED: ::windows::runtime::FactoryCache<ContactInformation, IContactInformationStatics> = ::windows::runtime::FactoryCache::new();
351         unsafe { SHARED.call(callback) }
352     }
353 }
354 unsafe impl ::windows::runtime::RuntimeType for ContactInformation {
355     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Phone.PersonalInformation.ContactInformation;{e2b51ffc-e792-4ab7-b15b-f2e078664dea})");
356 }
357 unsafe impl ::windows::runtime::Interface for ContactInformation {
358     type Vtable = IContactInformation_abi;
359     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3803521020, 59282, 19127, [177, 91, 242, 224, 120, 102, 77, 234]);
360 }
361 impl ::windows::runtime::RuntimeName for ContactInformation {
362     const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactInformation";
363 }
364 impl ::std::convert::From<ContactInformation> for ::windows::runtime::IUnknown {
365     fn from(value: ContactInformation) -> Self {
366         unsafe { ::std::mem::transmute(value) }
367     }
368 }
369 impl ::std::convert::From<&ContactInformation> for ::windows::runtime::IUnknown {
370     fn from(value: &ContactInformation) -> Self {
371         ::std::convert::From::from(::std::clone::Clone::clone(value))
372     }
373 }
374 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContactInformation {
375     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
376         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
377     }
378 }
379 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContactInformation {
380     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
381         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
382     }
383 }
384 impl ::std::convert::From<ContactInformation> for ::windows::runtime::IInspectable {
385     fn from(value: ContactInformation) -> Self {
386         value.0
387     }
388 }
389 impl ::std::convert::From<&ContactInformation> for ::windows::runtime::IInspectable {
390     fn from(value: &ContactInformation) -> Self {
391         value.0.clone()
392     }
393 }
394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContactInformation {
395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
396         ::windows::runtime::Param::Owned(self.0)
397     }
398 }
399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContactInformation {
400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
401         ::windows::runtime::Param::Borrowed(&self.0)
402     }
403 }
404 impl ::std::convert::From<ContactInformation> for IContactInformation {
405     fn from(value: ContactInformation) -> Self {
406         unsafe { ::std::mem::transmute(value) }
407     }
408 }
409 impl ::std::convert::From<&ContactInformation> for IContactInformation {
410     fn from(value: &ContactInformation) -> Self {
411         ::std::convert::From::from(::std::clone::Clone::clone(value))
412     }
413 }
414 impl<'a> ::windows::runtime::IntoParam<'a, IContactInformation> for ContactInformation {
415     fn into_param(self) -> ::windows::runtime::Param<'a, IContactInformation> {
416         ::windows::runtime::Param::Owned(::std::convert::Into::<IContactInformation>::into(self))
417     }
418 }
419 impl<'a> ::windows::runtime::IntoParam<'a, IContactInformation> for &ContactInformation {
420     fn into_param(self) -> ::windows::runtime::Param<'a, IContactInformation> {
421         ::windows::runtime::Param::Owned(::std::convert::Into::<IContactInformation>::into(::std::clone::Clone::clone(self)))
422     }
423 }
424 unsafe impl ::std::marker::Send for ContactInformation {}
425 unsafe impl ::std::marker::Sync for ContactInformation {}
426 #[repr(transparent)]
427 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
428 pub struct ContactQueryOptions(::windows::runtime::IInspectable);
429 impl ContactQueryOptions {
430     pub fn new() -> ::windows::runtime::Result<Self> {
431         Self::IActivationFactory(|f| f.activate_instance::<Self>())
432     }
433     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
434         static mut SHARED: ::windows::runtime::FactoryCache<ContactQueryOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
435         unsafe { SHARED.call(callback) }
436     }
437     #[cfg(feature = "Foundation_Collections")]
438     pub fn DesiredFields(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> {
439         let this = self;
440         unsafe {
441             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
442             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__)
443         }
444     }
445     pub fn OrderBy(&self) -> ::windows::runtime::Result<ContactQueryResultOrdering> {
446         let this = self;
447         unsafe {
448             let mut result__: ContactQueryResultOrdering = ::std::mem::zeroed();
449             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContactQueryResultOrdering>(result__)
450         }
451     }
452     pub fn SetOrderBy(&self, value: ContactQueryResultOrdering) -> ::windows::runtime::Result<()> {
453         let this = self;
454         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
455     }
456 }
457 unsafe impl ::windows::runtime::RuntimeType for ContactQueryOptions {
458     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Phone.PersonalInformation.ContactQueryOptions;{580cab76-3f31-46c1-9a50-424a53dacae3})");
459 }
460 unsafe impl ::windows::runtime::Interface for ContactQueryOptions {
461     type Vtable = IContactQueryOptions_abi;
462     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1477225334, 16177, 18113, [154, 80, 66, 74, 83, 218, 202, 227]);
463 }
464 impl ::windows::runtime::RuntimeName for ContactQueryOptions {
465     const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactQueryOptions";
466 }
467 impl ::std::convert::From<ContactQueryOptions> for ::windows::runtime::IUnknown {
468     fn from(value: ContactQueryOptions) -> Self {
469         unsafe { ::std::mem::transmute(value) }
470     }
471 }
472 impl ::std::convert::From<&ContactQueryOptions> for ::windows::runtime::IUnknown {
473     fn from(value: &ContactQueryOptions) -> Self {
474         ::std::convert::From::from(::std::clone::Clone::clone(value))
475     }
476 }
477 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContactQueryOptions {
478     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
479         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
480     }
481 }
482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContactQueryOptions {
483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
484         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
485     }
486 }
487 impl ::std::convert::From<ContactQueryOptions> for ::windows::runtime::IInspectable {
488     fn from(value: ContactQueryOptions) -> Self {
489         value.0
490     }
491 }
492 impl ::std::convert::From<&ContactQueryOptions> for ::windows::runtime::IInspectable {
493     fn from(value: &ContactQueryOptions) -> Self {
494         value.0.clone()
495     }
496 }
497 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContactQueryOptions {
498     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
499         ::windows::runtime::Param::Owned(self.0)
500     }
501 }
502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContactQueryOptions {
503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
504         ::windows::runtime::Param::Borrowed(&self.0)
505     }
506 }
507 unsafe impl ::std::marker::Send for ContactQueryOptions {}
508 unsafe impl ::std::marker::Sync for ContactQueryOptions {}
509 #[repr(transparent)]
510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
511 pub struct ContactQueryResult(::windows::runtime::IInspectable);
512 impl ContactQueryResult {
513     #[cfg(feature = "Foundation")]
514     pub fn GetContactCountAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<u32>> {
515         let this = self;
516         unsafe {
517             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
518             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<u32>>(result__)
519         }
520     }
521     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
522     pub fn GetContactsAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<StoredContact>>> {
523         let this = self;
524         unsafe {
525             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
526             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<StoredContact>>>(result__)
527         }
528     }
529     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
530     pub fn GetContactsAsyncInRange(&self, startindex: u32, maxnumberofitems: u32) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<StoredContact>>> {
531         let this = self;
532         unsafe {
533             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
534             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), startindex, maxnumberofitems, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<StoredContact>>>(result__)
535         }
536     }
537     pub fn GetCurrentQueryOptions(&self) -> ::windows::runtime::Result<ContactQueryOptions> {
538         let this = self;
539         unsafe {
540             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
541             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContactQueryOptions>(result__)
542         }
543     }
544 }
545 unsafe impl ::windows::runtime::RuntimeType for ContactQueryResult {
546     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Phone.PersonalInformation.ContactQueryResult;{c03db722-ecdb-4700-857e-3e786426b04b})");
547 }
548 unsafe impl ::windows::runtime::Interface for ContactQueryResult {
549     type Vtable = IContactQueryResult_abi;
550     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3225270050, 60635, 18176, [133, 126, 62, 120, 100, 38, 176, 75]);
551 }
552 impl ::windows::runtime::RuntimeName for ContactQueryResult {
553     const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactQueryResult";
554 }
555 impl ::std::convert::From<ContactQueryResult> for ::windows::runtime::IUnknown {
556     fn from(value: ContactQueryResult) -> Self {
557         unsafe { ::std::mem::transmute(value) }
558     }
559 }
560 impl ::std::convert::From<&ContactQueryResult> for ::windows::runtime::IUnknown {
561     fn from(value: &ContactQueryResult) -> Self {
562         ::std::convert::From::from(::std::clone::Clone::clone(value))
563     }
564 }
565 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContactQueryResult {
566     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
567         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
568     }
569 }
570 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContactQueryResult {
571     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
572         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
573     }
574 }
575 impl ::std::convert::From<ContactQueryResult> for ::windows::runtime::IInspectable {
576     fn from(value: ContactQueryResult) -> Self {
577         value.0
578     }
579 }
580 impl ::std::convert::From<&ContactQueryResult> for ::windows::runtime::IInspectable {
581     fn from(value: &ContactQueryResult) -> Self {
582         value.0.clone()
583     }
584 }
585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContactQueryResult {
586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
587         ::windows::runtime::Param::Owned(self.0)
588     }
589 }
590 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContactQueryResult {
591     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
592         ::windows::runtime::Param::Borrowed(&self.0)
593     }
594 }
595 unsafe impl ::std::marker::Send for ContactQueryResult {}
596 unsafe impl ::std::marker::Sync for ContactQueryResult {}
597 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
598 #[repr(transparent)]
599 pub struct ContactQueryResultOrdering(pub i32);
600 impl ContactQueryResultOrdering {
601     pub const SystemDefault: ContactQueryResultOrdering = ContactQueryResultOrdering(0i32);
602     pub const GivenNameFamilyName: ContactQueryResultOrdering = ContactQueryResultOrdering(1i32);
603     pub const FamilyNameGivenName: ContactQueryResultOrdering = ContactQueryResultOrdering(2i32);
604 }
605 impl ::std::convert::From<i32> for ContactQueryResultOrdering {
606     fn from(value: i32) -> Self {
607         Self(value)
608     }
609 }
610 unsafe impl ::windows::runtime::Abi for ContactQueryResultOrdering {
611     type Abi = Self;
612     type DefaultType = Self;
613 }
614 unsafe impl ::windows::runtime::RuntimeType for ContactQueryResultOrdering {
615     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Phone.PersonalInformation.ContactQueryResultOrdering;i4)");
616 }
617 #[repr(transparent)]
618 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
619 pub struct ContactStore(::windows::runtime::IInspectable);
620 impl ContactStore {
621     #[cfg(feature = "Foundation")]
622     pub fn FindContactByRemoteIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<StoredContact>> {
623         let this = self;
624         unsafe {
625             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
626             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), id.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<StoredContact>>(result__)
627         }
628     }
629     #[cfg(feature = "Foundation")]
630     pub fn FindContactByIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<StoredContact>> {
631         let this = self;
632         unsafe {
633             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
634             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), id.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<StoredContact>>(result__)
635         }
636     }
637     #[cfg(feature = "Foundation")]
638     pub fn DeleteContactAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
639         let this = self;
640         unsafe {
641             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
642             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), id.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
643         }
644     }
645     pub fn CreateContactQueryDefault(&self) -> ::windows::runtime::Result<ContactQueryResult> {
646         let this = self;
647         unsafe {
648             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
649             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContactQueryResult>(result__)
650         }
651     }
652     pub fn CreateContactQueryWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ContactQueryOptions>>(&self, options: Param0) -> ::windows::runtime::Result<ContactQueryResult> {
653         let this = self;
654         unsafe {
655             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
656             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), options.into_param().abi(), &mut result__).from_abi::<ContactQueryResult>(result__)
657         }
658     }
659     #[cfg(feature = "Foundation")]
660     pub fn DeleteAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
661         let this = self;
662         unsafe {
663             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
664             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
665         }
666     }
667     pub fn RevisionNumber(&self) -> ::windows::runtime::Result<u64> {
668         let this = self;
669         unsafe {
670             let mut result__: u64 = ::std::mem::zeroed();
671             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
672         }
673     }
674     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
675     pub fn GetChangesAsync(&self, baserevisionnumber: u64) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<ContactChangeRecord>>> {
676         let this = self;
677         unsafe {
678             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
679             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), baserevisionnumber, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IVectorView<ContactChangeRecord>>>(result__)
680         }
681     }
682     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
683     pub fn LoadExtendedPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
684         let this = self;
685         unsafe {
686             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
687             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__)
688         }
689     }
690     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
691     pub fn SaveExtendedPropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(&self, data: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
692         let this = self;
693         unsafe {
694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
695             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), data.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
696         }
697     }
698     #[cfg(feature = "Foundation")]
699     pub fn CreateMeContactAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<StoredContact>> {
700         let this = &::windows::runtime::Interface::cast::<IContactStore2>(self)?;
701         unsafe {
702             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
703             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), id.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<StoredContact>>(result__)
704         }
705     }
706     #[cfg(feature = "Foundation")]
707     pub fn CreateOrOpenAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ContactStore>> {
708         Self::IContactStoreStatics(|this| unsafe {
709             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
710             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ContactStore>>(result__)
711         })
712     }
713     #[cfg(feature = "Foundation")]
714     pub fn CreateOrOpenWithOptionsAsync(access: ContactStoreSystemAccessMode, sharing: ContactStoreApplicationAccessMode) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ContactStore>> {
715         Self::IContactStoreStatics(|this| unsafe {
716             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
717             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), access, sharing, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ContactStore>>(result__)
718         })
719     }
720     pub fn IContactStoreStatics<R, F: FnOnce(&IContactStoreStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
721         static mut SHARED: ::windows::runtime::FactoryCache<ContactStore, IContactStoreStatics> = ::windows::runtime::FactoryCache::new();
722         unsafe { SHARED.call(callback) }
723     }
724 }
725 unsafe impl ::windows::runtime::RuntimeType for ContactStore {
726     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Phone.PersonalInformation.ContactStore;{b2cd6fef-2bfd-4fad-8552-4e698097e8eb})");
727 }
728 unsafe impl ::windows::runtime::Interface for ContactStore {
729     type Vtable = IContactStore_abi;
730     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2999807983, 11261, 20397, [133, 82, 78, 105, 128, 151, 232, 235]);
731 }
732 impl ::windows::runtime::RuntimeName for ContactStore {
733     const NAME: &'static str = "Windows.Phone.PersonalInformation.ContactStore";
734 }
735 impl ::std::convert::From<ContactStore> for ::windows::runtime::IUnknown {
736     fn from(value: ContactStore) -> Self {
737         unsafe { ::std::mem::transmute(value) }
738     }
739 }
740 impl ::std::convert::From<&ContactStore> for ::windows::runtime::IUnknown {
741     fn from(value: &ContactStore) -> Self {
742         ::std::convert::From::from(::std::clone::Clone::clone(value))
743     }
744 }
745 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContactStore {
746     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
747         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
748     }
749 }
750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContactStore {
751     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
752         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
753     }
754 }
755 impl ::std::convert::From<ContactStore> for ::windows::runtime::IInspectable {
756     fn from(value: ContactStore) -> Self {
757         value.0
758     }
759 }
760 impl ::std::convert::From<&ContactStore> for ::windows::runtime::IInspectable {
761     fn from(value: &ContactStore) -> Self {
762         value.0.clone()
763     }
764 }
765 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContactStore {
766     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
767         ::windows::runtime::Param::Owned(self.0)
768     }
769 }
770 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContactStore {
771     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
772         ::windows::runtime::Param::Borrowed(&self.0)
773     }
774 }
775 unsafe impl ::std::marker::Send for ContactStore {}
776 unsafe impl ::std::marker::Sync for ContactStore {}
777 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
778 #[repr(transparent)]
779 pub struct ContactStoreApplicationAccessMode(pub i32);
780 impl ContactStoreApplicationAccessMode {
781     pub const LimitedReadOnly: ContactStoreApplicationAccessMode = ContactStoreApplicationAccessMode(0i32);
782     pub const ReadOnly: ContactStoreApplicationAccessMode = ContactStoreApplicationAccessMode(1i32);
783 }
784 impl ::std::convert::From<i32> for ContactStoreApplicationAccessMode {
785     fn from(value: i32) -> Self {
786         Self(value)
787     }
788 }
789 unsafe impl ::windows::runtime::Abi for ContactStoreApplicationAccessMode {
790     type Abi = Self;
791     type DefaultType = Self;
792 }
793 unsafe impl ::windows::runtime::RuntimeType for ContactStoreApplicationAccessMode {
794     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Phone.PersonalInformation.ContactStoreApplicationAccessMode;i4)");
795 }
796 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
797 #[repr(transparent)]
798 pub struct ContactStoreSystemAccessMode(pub i32);
799 impl ContactStoreSystemAccessMode {
800     pub const ReadOnly: ContactStoreSystemAccessMode = ContactStoreSystemAccessMode(0i32);
801     pub const ReadWrite: ContactStoreSystemAccessMode = ContactStoreSystemAccessMode(1i32);
802 }
803 impl ::std::convert::From<i32> for ContactStoreSystemAccessMode {
804     fn from(value: i32) -> Self {
805         Self(value)
806     }
807 }
808 unsafe impl ::windows::runtime::Abi for ContactStoreSystemAccessMode {
809     type Abi = Self;
810     type DefaultType = Self;
811 }
812 unsafe impl ::windows::runtime::RuntimeType for ContactStoreSystemAccessMode {
813     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Phone.PersonalInformation.ContactStoreSystemAccessMode;i4)");
814 }
815 #[repr(transparent)]
816 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
817 #[doc(hidden)]
818 pub struct IContactAddress(::windows::runtime::IInspectable);
819 unsafe impl ::windows::runtime::Interface for IContactAddress {
820     type Vtable = IContactAddress_abi;
821     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1596258599, 38057, 17570, [161, 85, 45, 11, 55, 209, 220, 205]);
822 }
823 #[repr(C)]
824 #[doc(hidden)]
825 pub struct IContactAddress_abi(
826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
842 );
843 #[repr(transparent)]
844 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
845 #[doc(hidden)]
846 pub struct IContactChangeRecord(::windows::runtime::IInspectable);
847 unsafe impl ::windows::runtime::Interface for IContactChangeRecord {
848     type Vtable = IContactChangeRecord_abi;
849     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3117676431, 20795, 18242, [190, 0, 204, 92, 92, 35, 107, 4]);
850 }
851 #[repr(C)]
852 #[doc(hidden)]
853 pub struct IContactChangeRecord_abi(
854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ContactChangeType) -> ::windows::runtime::HRESULT,
861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
864 );
865 #[repr(transparent)]
866 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
867 pub struct IContactInformation(::windows::runtime::IInspectable);
868 unsafe impl ::windows::runtime::Interface for IContactInformation {
869     type Vtable = IContactInformation_abi;
870     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3803521020, 59282, 19127, [177, 91, 242, 224, 120, 102, 77, 234]);
871 }
872 impl IContactInformation {
873     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
874         let this = self;
875         unsafe {
876             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
877             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
878         }
879     }
880     pub fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
881         let this = self;
882         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
883     }
884     pub fn FamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
885         let this = self;
886         unsafe {
887             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
888             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
889         }
890     }
891     pub fn SetFamilyName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
892         let this = self;
893         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
894     }
895     pub fn GivenName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
896         let this = self;
897         unsafe {
898             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
899             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
900         }
901     }
902     pub fn SetGivenName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
903         let this = self;
904         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
905     }
906     pub fn HonorificPrefix(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
907         let this = self;
908         unsafe {
909             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
910             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
911         }
912     }
913     pub fn SetHonorificPrefix<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
914         let this = self;
915         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
916     }
917     pub fn HonorificSuffix(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
918         let this = self;
919         unsafe {
920             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
921             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
922         }
923     }
924     pub fn SetHonorificSuffix<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
925         let this = self;
926         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
927     }
928     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
929     pub fn GetDisplayPictureAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
930         let this = self;
931         unsafe {
932             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
933             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
934         }
935     }
936     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
937     pub fn SetDisplayPictureAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IInputStream>>(&self, stream: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
938         let this = self;
939         unsafe {
940             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
941             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), stream.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
942         }
943     }
944     #[cfg(feature = "Storage_Streams")]
945     pub fn DisplayPicture(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStreamReference> {
946         let this = self;
947         unsafe {
948             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
949             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IRandomAccessStreamReference>(result__)
950         }
951     }
952     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
953     pub fn GetPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
954         let this = self;
955         unsafe {
956             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
957             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__)
958         }
959     }
960     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
961     pub fn ToVcardAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
962         let this = self;
963         unsafe {
964             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
965             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
966         }
967     }
968     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
969     pub fn ToVcardWithOptionsAsync(&self, format: VCardFormat) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
970         let this = self;
971         unsafe {
972             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
973             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), format, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
974         }
975     }
976 }
977 unsafe impl ::windows::runtime::RuntimeType for IContactInformation {
978     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{e2b51ffc-e792-4ab7-b15b-f2e078664dea}");
979 }
980 impl ::std::convert::From<IContactInformation> for ::windows::runtime::IUnknown {
981     fn from(value: IContactInformation) -> Self {
982         unsafe { ::std::mem::transmute(value) }
983     }
984 }
985 impl ::std::convert::From<&IContactInformation> for ::windows::runtime::IUnknown {
986     fn from(value: &IContactInformation) -> Self {
987         ::std::convert::From::from(::std::clone::Clone::clone(value))
988     }
989 }
990 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactInformation {
991     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
992         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
993     }
994 }
995 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactInformation {
996     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
997         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
998     }
999 }
1000 impl ::std::convert::From<IContactInformation> for ::windows::runtime::IInspectable {
1001     fn from(value: IContactInformation) -> Self {
1002         value.0
1003     }
1004 }
1005 impl ::std::convert::From<&IContactInformation> for ::windows::runtime::IInspectable {
1006     fn from(value: &IContactInformation) -> Self {
1007         value.0.clone()
1008     }
1009 }
1010 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IContactInformation {
1011     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1012         ::windows::runtime::Param::Owned(self.0)
1013     }
1014 }
1015 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IContactInformation {
1016     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1017         ::windows::runtime::Param::Borrowed(&self.0)
1018     }
1019 }
1020 #[repr(C)]
1021 #[doc(hidden)]
1022 pub struct IContactInformation_abi(
1023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1039     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1040     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1041     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stream: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1042     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1043     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1044     #[cfg(not(feature = "Storage_Streams"))] usize,
1045     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1046     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1047     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1048     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1049     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: VCardFormat, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1050     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1051 );
1052 #[repr(transparent)]
1053 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1054 pub struct IContactInformation2(::windows::runtime::IInspectable);
1055 unsafe impl ::windows::runtime::Interface for IContactInformation2 {
1056     type Vtable = IContactInformation2_abi;
1057     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(832090636, 25118, 18024, [172, 56, 214, 103, 184, 125, 6, 213]);
1058 }
1059 impl IContactInformation2 {
1060     #[cfg(feature = "Foundation")]
1061     pub fn DisplayPictureDate(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime> {
1062         let this = self;
1063         unsafe {
1064             let mut result__: super::super::Foundation::DateTime = ::std::mem::zeroed();
1065             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::DateTime>(result__)
1066         }
1067     }
1068     #[cfg(feature = "Foundation")]
1069     pub fn SetDisplayPictureDate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::DateTime>>(&self, returnvalue: Param0) -> ::windows::runtime::Result<()> {
1070         let this = self;
1071         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), returnvalue.into_param().abi()).ok() }
1072     }
1073 }
1074 unsafe impl ::windows::runtime::RuntimeType for IContactInformation2 {
1075     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{3198b20c-621e-4668-ac38-d667b87d06d5}");
1076 }
1077 impl ::std::convert::From<IContactInformation2> for ::windows::runtime::IUnknown {
1078     fn from(value: IContactInformation2) -> Self {
1079         unsafe { ::std::mem::transmute(value) }
1080     }
1081 }
1082 impl ::std::convert::From<&IContactInformation2> for ::windows::runtime::IUnknown {
1083     fn from(value: &IContactInformation2) -> Self {
1084         ::std::convert::From::from(::std::clone::Clone::clone(value))
1085     }
1086 }
1087 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContactInformation2 {
1088     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1089         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1090     }
1091 }
1092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContactInformation2 {
1093     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1094         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1095     }
1096 }
1097 impl ::std::convert::From<IContactInformation2> for ::windows::runtime::IInspectable {
1098     fn from(value: IContactInformation2) -> Self {
1099         value.0
1100     }
1101 }
1102 impl ::std::convert::From<&IContactInformation2> for ::windows::runtime::IInspectable {
1103     fn from(value: &IContactInformation2) -> Self {
1104         value.0.clone()
1105     }
1106 }
1107 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IContactInformation2 {
1108     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1109         ::windows::runtime::Param::Owned(self.0)
1110     }
1111 }
1112 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IContactInformation2 {
1113     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1114         ::windows::runtime::Param::Borrowed(&self.0)
1115     }
1116 }
1117 #[repr(C)]
1118 #[doc(hidden)]
1119 pub struct IContactInformation2_abi(
1120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1126     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
1127     #[cfg(not(feature = "Foundation"))] usize,
1128     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, returnvalue: super::super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
1129     #[cfg(not(feature = "Foundation"))] usize,
1130 );
1131 #[repr(transparent)]
1132 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1133 #[doc(hidden)]
1134 pub struct IContactInformationStatics(::windows::runtime::IInspectable);
1135 unsafe impl ::windows::runtime::Interface for IContactInformationStatics {
1136     type Vtable = IContactInformationStatics_abi;
1137     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(258456361, 976, 19430, [178, 165, 251, 19, 133, 159, 18, 2]);
1138 }
1139 #[repr(C)]
1140 #[doc(hidden)]
1141 pub struct IContactInformationStatics_abi(
1142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1148     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vcard: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1149     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1150 );
1151 #[repr(transparent)]
1152 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1153 #[doc(hidden)]
1154 pub struct IContactQueryOptions(::windows::runtime::IInspectable);
1155 unsafe impl ::windows::runtime::Interface for IContactQueryOptions {
1156     type Vtable = IContactQueryOptions_abi;
1157     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1477225334, 16177, 18113, [154, 80, 66, 74, 83, 218, 202, 227]);
1158 }
1159 #[repr(C)]
1160 #[doc(hidden)]
1161 pub struct IContactQueryOptions_abi(
1162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1168     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1169     #[cfg(not(feature = "Foundation_Collections"))] usize,
1170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ContactQueryResultOrdering) -> ::windows::runtime::HRESULT,
1171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ContactQueryResultOrdering) -> ::windows::runtime::HRESULT,
1172 );
1173 #[repr(transparent)]
1174 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1175 #[doc(hidden)]
1176 pub struct IContactQueryResult(::windows::runtime::IInspectable);
1177 unsafe impl ::windows::runtime::Interface for IContactQueryResult {
1178     type Vtable = IContactQueryResult_abi;
1179     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3225270050, 60635, 18176, [133, 126, 62, 120, 100, 38, 176, 75]);
1180 }
1181 #[repr(C)]
1182 #[doc(hidden)]
1183 pub struct IContactQueryResult_abi(
1184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1190     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1191     #[cfg(not(feature = "Foundation"))] usize,
1192     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1193     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1194     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startindex: u32, maxnumberofitems: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1195     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1197 );
1198 #[repr(transparent)]
1199 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1200 #[doc(hidden)]
1201 pub struct IContactStore(::windows::runtime::IInspectable);
1202 unsafe impl ::windows::runtime::Interface for IContactStore {
1203     type Vtable = IContactStore_abi;
1204     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2999807983, 11261, 20397, [133, 82, 78, 105, 128, 151, 232, 235]);
1205 }
1206 #[repr(C)]
1207 #[doc(hidden)]
1208 pub struct IContactStore_abi(
1209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1215     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1216     #[cfg(not(feature = "Foundation"))] usize,
1217     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1218     #[cfg(not(feature = "Foundation"))] usize,
1219     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1220     #[cfg(not(feature = "Foundation"))] usize,
1221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1223     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1224     #[cfg(not(feature = "Foundation"))] usize,
1225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
1226     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, baserevisionnumber: u64, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1227     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1228     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1229     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1230     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1231     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1232 );
1233 #[repr(transparent)]
1234 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1235 #[doc(hidden)]
1236 pub struct IContactStore2(::windows::runtime::IInspectable);
1237 unsafe impl ::windows::runtime::Interface for IContactStore2 {
1238     type Vtable = IContactStore2_abi;
1239     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1710339663, 54867, 17319, [178, 54, 179, 12, 15, 77, 114, 105]);
1240 }
1241 #[repr(C)]
1242 #[doc(hidden)]
1243 pub struct IContactStore2_abi(
1244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1250     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1251     #[cfg(not(feature = "Foundation"))] usize,
1252 );
1253 #[repr(transparent)]
1254 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1255 #[doc(hidden)]
1256 pub struct IContactStoreStatics(::windows::runtime::IInspectable);
1257 unsafe impl ::windows::runtime::Interface for IContactStoreStatics {
1258     type Vtable = IContactStoreStatics_abi;
1259     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2818899490, 19435, 17612, [165, 114, 103, 165, 185, 46, 133, 103]);
1260 }
1261 #[repr(C)]
1262 #[doc(hidden)]
1263 pub struct IContactStoreStatics_abi(
1264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1270     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1271     #[cfg(not(feature = "Foundation"))] usize,
1272     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, access: ContactStoreSystemAccessMode, sharing: ContactStoreApplicationAccessMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1273     #[cfg(not(feature = "Foundation"))] usize,
1274 );
1275 #[repr(transparent)]
1276 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1277 #[doc(hidden)]
1278 pub struct IKnownContactPropertiesStatics(::windows::runtime::IInspectable);
1279 unsafe impl ::windows::runtime::Interface for IKnownContactPropertiesStatics {
1280     type Vtable = IKnownContactPropertiesStatics_abi;
1281     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3582012161, 11501, 20198, [177, 214, 9, 75, 248, 142, 240, 182]);
1282 }
1283 #[repr(C)]
1284 #[doc(hidden)]
1285 pub struct IKnownContactPropertiesStatics_abi(
1286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1327 );
1328 #[repr(transparent)]
1329 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1330 #[doc(hidden)]
1331 pub struct IStoredContact(::windows::runtime::IInspectable);
1332 unsafe impl ::windows::runtime::Interface for IStoredContact {
1333     type Vtable = IStoredContact_abi;
1334     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2960177073, 9789, 20081, [171, 231, 89, 29, 36, 102, 87, 14]);
1335 }
1336 #[repr(C)]
1337 #[doc(hidden)]
1338 pub struct IStoredContact_abi(
1339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1349     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1350     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1351     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1352     #[cfg(not(feature = "Foundation"))] usize,
1353     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1354     #[cfg(not(feature = "Foundation"))] usize,
1355 );
1356 #[repr(transparent)]
1357 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1358 #[doc(hidden)]
1359 pub struct IStoredContactFactory(::windows::runtime::IInspectable);
1360 unsafe impl ::windows::runtime::Interface for IStoredContactFactory {
1361     type Vtable = IStoredContactFactory_abi;
1362     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1240328481, 49701, 20441, [137, 197, 206, 204, 44, 138, 75, 121]);
1363 }
1364 #[repr(C)]
1365 #[doc(hidden)]
1366 pub struct IStoredContactFactory_abi(
1367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, store: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, store: ::windows::runtime::RawPtr, contact: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1375 );
1376 pub struct KnownContactProperties {}
1377 impl KnownContactProperties {
1378     pub fn DisplayName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1379         Self::IKnownContactPropertiesStatics(|this| unsafe {
1380             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1381             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1382         })
1383     }
1384     pub fn FamilyName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1385         Self::IKnownContactPropertiesStatics(|this| unsafe {
1386             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1387             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1388         })
1389     }
1390     pub fn GivenName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1391         Self::IKnownContactPropertiesStatics(|this| unsafe {
1392             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1393             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1394         })
1395     }
1396     pub fn HonorificPrefix() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1397         Self::IKnownContactPropertiesStatics(|this| unsafe {
1398             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1399             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1400         })
1401     }
1402     pub fn HonorificSuffix() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1403         Self::IKnownContactPropertiesStatics(|this| unsafe {
1404             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1405             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1406         })
1407     }
1408     pub fn AdditionalName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1409         Self::IKnownContactPropertiesStatics(|this| unsafe {
1410             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1411             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1412         })
1413     }
1414     pub fn Address() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1415         Self::IKnownContactPropertiesStatics(|this| unsafe {
1416             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1417             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1418         })
1419     }
1420     pub fn OtherAddress() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1421         Self::IKnownContactPropertiesStatics(|this| unsafe {
1422             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1423             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1424         })
1425     }
1426     pub fn Email() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1427         Self::IKnownContactPropertiesStatics(|this| unsafe {
1428             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1429             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1430         })
1431     }
1432     pub fn WorkAddress() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1433         Self::IKnownContactPropertiesStatics(|this| unsafe {
1434             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1435             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1436         })
1437     }
1438     pub fn WorkTelephone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1439         Self::IKnownContactPropertiesStatics(|this| unsafe {
1440             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1441             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1442         })
1443     }
1444     pub fn JobTitle() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1445         Self::IKnownContactPropertiesStatics(|this| unsafe {
1446             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1447             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1448         })
1449     }
1450     pub fn Birthdate() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1451         Self::IKnownContactPropertiesStatics(|this| unsafe {
1452             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1453             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1454         })
1455     }
1456     pub fn Anniversary() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1457         Self::IKnownContactPropertiesStatics(|this| unsafe {
1458             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1459             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1460         })
1461     }
1462     pub fn Telephone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1463         Self::IKnownContactPropertiesStatics(|this| unsafe {
1464             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1465             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1466         })
1467     }
1468     pub fn MobileTelephone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1469         Self::IKnownContactPropertiesStatics(|this| unsafe {
1470             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1471             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1472         })
1473     }
1474     pub fn Url() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1475         Self::IKnownContactPropertiesStatics(|this| unsafe {
1476             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1477             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1478         })
1479     }
1480     pub fn Notes() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1481         Self::IKnownContactPropertiesStatics(|this| unsafe {
1482             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1483             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1484         })
1485     }
1486     pub fn WorkFax() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1487         Self::IKnownContactPropertiesStatics(|this| unsafe {
1488             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1489             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1490         })
1491     }
1492     pub fn Children() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1493         Self::IKnownContactPropertiesStatics(|this| unsafe {
1494             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1495             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1496         })
1497     }
1498     pub fn SignificantOther() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1499         Self::IKnownContactPropertiesStatics(|this| unsafe {
1500             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1501             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1502         })
1503     }
1504     pub fn CompanyName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1505         Self::IKnownContactPropertiesStatics(|this| unsafe {
1506             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1507             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1508         })
1509     }
1510     pub fn CompanyTelephone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1511         Self::IKnownContactPropertiesStatics(|this| unsafe {
1512             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1513             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1514         })
1515     }
1516     pub fn HomeFax() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1517         Self::IKnownContactPropertiesStatics(|this| unsafe {
1518             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1519             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1520         })
1521     }
1522     pub fn AlternateTelephone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1523         Self::IKnownContactPropertiesStatics(|this| unsafe {
1524             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1525             (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1526         })
1527     }
1528     pub fn Manager() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1529         Self::IKnownContactPropertiesStatics(|this| unsafe {
1530             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1531             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1532         })
1533     }
1534     pub fn Nickname() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1535         Self::IKnownContactPropertiesStatics(|this| unsafe {
1536             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1537             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1538         })
1539     }
1540     pub fn OfficeLocation() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1541         Self::IKnownContactPropertiesStatics(|this| unsafe {
1542             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1543             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1544         })
1545     }
1546     pub fn WorkEmail() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1547         Self::IKnownContactPropertiesStatics(|this| unsafe {
1548             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1549             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1550         })
1551     }
1552     pub fn YomiGivenName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1553         Self::IKnownContactPropertiesStatics(|this| unsafe {
1554             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1555             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1556         })
1557     }
1558     pub fn YomiFamilyName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1559         Self::IKnownContactPropertiesStatics(|this| unsafe {
1560             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1561             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1562         })
1563     }
1564     pub fn YomiCompanyName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1565         Self::IKnownContactPropertiesStatics(|this| unsafe {
1566             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1567             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1568         })
1569     }
1570     pub fn OtherEmail() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1571         Self::IKnownContactPropertiesStatics(|this| unsafe {
1572             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1573             (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1574         })
1575     }
1576     pub fn AlternateMobileTelephone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1577         Self::IKnownContactPropertiesStatics(|this| unsafe {
1578             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1579             (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1580         })
1581     }
1582     pub fn AlternateWorkTelephone() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1583         Self::IKnownContactPropertiesStatics(|this| unsafe {
1584             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1585             (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1586         })
1587     }
1588     pub fn IKnownContactPropertiesStatics<R, F: FnOnce(&IKnownContactPropertiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1589         static mut SHARED: ::windows::runtime::FactoryCache<KnownContactProperties, IKnownContactPropertiesStatics> = ::windows::runtime::FactoryCache::new();
1590         unsafe { SHARED.call(callback) }
1591     }
1592 }
1593 impl ::windows::runtime::RuntimeName for KnownContactProperties {
1594     const NAME: &'static str = "Windows.Phone.PersonalInformation.KnownContactProperties";
1595 }
1596 #[repr(transparent)]
1597 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1598 pub struct StoredContact(::windows::runtime::IInspectable);
1599 impl StoredContact {
1600     pub fn Store(&self) -> ::windows::runtime::Result<ContactStore> {
1601         let this = self;
1602         unsafe {
1603             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1604             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContactStore>(result__)
1605         }
1606     }
1607     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1608         let this = self;
1609         unsafe {
1610             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1611             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1612         }
1613     }
1614     pub fn RemoteId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1615         let this = self;
1616         unsafe {
1617             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1618             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1619         }
1620     }
1621     pub fn SetRemoteId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1622         let this = self;
1623         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1624     }
1625     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
1626     pub fn GetExtendedPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
1627         let this = self;
1628         unsafe {
1629             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1630             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__)
1631         }
1632     }
1633     #[cfg(feature = "Foundation")]
1634     pub fn SaveAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
1635         let this = self;
1636         unsafe {
1637             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1638             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
1639         }
1640     }
1641     #[cfg(feature = "Foundation")]
1642     pub fn ReplaceExistingContactAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, id: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
1643         let this = self;
1644         unsafe {
1645             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1646             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), id.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
1647         }
1648     }
1649     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1650         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1651         unsafe {
1652             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1653             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1654         }
1655     }
1656     pub fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1657         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1658         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1659     }
1660     pub fn FamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1661         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1662         unsafe {
1663             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1664             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1665         }
1666     }
1667     pub fn SetFamilyName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1668         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1669         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1670     }
1671     pub fn GivenName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1672         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1673         unsafe {
1674             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1675             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1676         }
1677     }
1678     pub fn SetGivenName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1679         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1680         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1681     }
1682     pub fn HonorificPrefix(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1683         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1684         unsafe {
1685             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1686             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1687         }
1688     }
1689     pub fn SetHonorificPrefix<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1690         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1691         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1692     }
1693     pub fn HonorificSuffix(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1694         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1695         unsafe {
1696             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1697             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1698         }
1699     }
1700     pub fn SetHonorificSuffix<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1701         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1702         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1703     }
1704     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1705     pub fn GetDisplayPictureAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
1706         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1707         unsafe {
1708             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1709             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
1710         }
1711     }
1712     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1713     pub fn SetDisplayPictureAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IInputStream>>(&self, stream: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
1714         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1715         unsafe {
1716             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1717             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), stream.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
1718         }
1719     }
1720     #[cfg(feature = "Storage_Streams")]
1721     pub fn DisplayPicture(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStreamReference> {
1722         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1723         unsafe {
1724             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1725             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IRandomAccessStreamReference>(result__)
1726         }
1727     }
1728     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
1729     pub fn GetPropertiesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
1730         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1731         unsafe {
1732             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1733             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__)
1734         }
1735     }
1736     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1737     pub fn ToVcardAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
1738         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1739         unsafe {
1740             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1741             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
1742         }
1743     }
1744     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1745     pub fn ToVcardWithOptionsAsync(&self, format: VCardFormat) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
1746         let this = &::windows::runtime::Interface::cast::<IContactInformation>(self)?;
1747         unsafe {
1748             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1749             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), format, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>(result__)
1750         }
1751     }
1752     #[cfg(feature = "Foundation")]
1753     pub fn DisplayPictureDate(&self) -> ::windows::runtime::Result<super::super::Foundation::DateTime> {
1754         let this = &::windows::runtime::Interface::cast::<IContactInformation2>(self)?;
1755         unsafe {
1756             let mut result__: super::super::Foundation::DateTime = ::std::mem::zeroed();
1757             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::DateTime>(result__)
1758         }
1759     }
1760     #[cfg(feature = "Foundation")]
1761     pub fn SetDisplayPictureDate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::DateTime>>(&self, returnvalue: Param0) -> ::windows::runtime::Result<()> {
1762         let this = &::windows::runtime::Interface::cast::<IContactInformation2>(self)?;
1763         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), returnvalue.into_param().abi()).ok() }
1764     }
1765     pub fn CreateStoredContact<'a, Param0: ::windows::runtime::IntoParam<'a, ContactStore>>(store: Param0) -> ::windows::runtime::Result<StoredContact> {
1766         Self::IStoredContactFactory(|this| unsafe {
1767             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1768             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), store.into_param().abi(), &mut result__).from_abi::<StoredContact>(result__)
1769         })
1770     }
1771     pub fn CreateStoredContactFromInformation<'a, Param0: ::windows::runtime::IntoParam<'a, ContactStore>, Param1: ::windows::runtime::IntoParam<'a, ContactInformation>>(store: Param0, contact: Param1) -> ::windows::runtime::Result<StoredContact> {
1772         Self::IStoredContactFactory(|this| unsafe {
1773             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1774             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), store.into_param().abi(), contact.into_param().abi(), &mut result__).from_abi::<StoredContact>(result__)
1775         })
1776     }
1777     pub fn IStoredContactFactory<R, F: FnOnce(&IStoredContactFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1778         static mut SHARED: ::windows::runtime::FactoryCache<StoredContact, IStoredContactFactory> = ::windows::runtime::FactoryCache::new();
1779         unsafe { SHARED.call(callback) }
1780     }
1781 }
1782 unsafe impl ::windows::runtime::RuntimeType for StoredContact {
1783     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Phone.PersonalInformation.StoredContact;{b070b7b1-263d-4e71-abe7-591d2466570e})");
1784 }
1785 unsafe impl ::windows::runtime::Interface for StoredContact {
1786     type Vtable = IStoredContact_abi;
1787     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2960177073, 9789, 20081, [171, 231, 89, 29, 36, 102, 87, 14]);
1788 }
1789 impl ::windows::runtime::RuntimeName for StoredContact {
1790     const NAME: &'static str = "Windows.Phone.PersonalInformation.StoredContact";
1791 }
1792 impl ::std::convert::From<StoredContact> for ::windows::runtime::IUnknown {
1793     fn from(value: StoredContact) -> Self {
1794         unsafe { ::std::mem::transmute(value) }
1795     }
1796 }
1797 impl ::std::convert::From<&StoredContact> for ::windows::runtime::IUnknown {
1798     fn from(value: &StoredContact) -> Self {
1799         ::std::convert::From::from(::std::clone::Clone::clone(value))
1800     }
1801 }
1802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StoredContact {
1803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1804         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1805     }
1806 }
1807 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StoredContact {
1808     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1809         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1810     }
1811 }
1812 impl ::std::convert::From<StoredContact> for ::windows::runtime::IInspectable {
1813     fn from(value: StoredContact) -> Self {
1814         value.0
1815     }
1816 }
1817 impl ::std::convert::From<&StoredContact> for ::windows::runtime::IInspectable {
1818     fn from(value: &StoredContact) -> Self {
1819         value.0.clone()
1820     }
1821 }
1822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StoredContact {
1823     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1824         ::windows::runtime::Param::Owned(self.0)
1825     }
1826 }
1827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StoredContact {
1828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1829         ::windows::runtime::Param::Borrowed(&self.0)
1830     }
1831 }
1832 impl ::std::convert::TryFrom<StoredContact> for IContactInformation {
1833     type Error = ::windows::runtime::Error;
1834     fn try_from(value: StoredContact) -> ::windows::runtime::Result<Self> {
1835         ::std::convert::TryFrom::try_from(&value)
1836     }
1837 }
1838 impl ::std::convert::TryFrom<&StoredContact> for IContactInformation {
1839     type Error = ::windows::runtime::Error;
1840     fn try_from(value: &StoredContact) -> ::windows::runtime::Result<Self> {
1841         ::windows::runtime::Interface::cast(value)
1842     }
1843 }
1844 impl<'a> ::windows::runtime::IntoParam<'a, IContactInformation> for StoredContact {
1845     fn into_param(self) -> ::windows::runtime::Param<'a, IContactInformation> {
1846         ::windows::runtime::IntoParam::into_param(&self)
1847     }
1848 }
1849 impl<'a> ::windows::runtime::IntoParam<'a, IContactInformation> for &StoredContact {
1850     fn into_param(self) -> ::windows::runtime::Param<'a, IContactInformation> {
1851         ::std::convert::TryInto::<IContactInformation>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1852     }
1853 }
1854 impl ::std::convert::TryFrom<StoredContact> for IContactInformation2 {
1855     type Error = ::windows::runtime::Error;
1856     fn try_from(value: StoredContact) -> ::windows::runtime::Result<Self> {
1857         ::std::convert::TryFrom::try_from(&value)
1858     }
1859 }
1860 impl ::std::convert::TryFrom<&StoredContact> for IContactInformation2 {
1861     type Error = ::windows::runtime::Error;
1862     fn try_from(value: &StoredContact) -> ::windows::runtime::Result<Self> {
1863         ::windows::runtime::Interface::cast(value)
1864     }
1865 }
1866 impl<'a> ::windows::runtime::IntoParam<'a, IContactInformation2> for StoredContact {
1867     fn into_param(self) -> ::windows::runtime::Param<'a, IContactInformation2> {
1868         ::windows::runtime::IntoParam::into_param(&self)
1869     }
1870 }
1871 impl<'a> ::windows::runtime::IntoParam<'a, IContactInformation2> for &StoredContact {
1872     fn into_param(self) -> ::windows::runtime::Param<'a, IContactInformation2> {
1873         ::std::convert::TryInto::<IContactInformation2>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1874     }
1875 }
1876 unsafe impl ::std::marker::Send for StoredContact {}
1877 unsafe impl ::std::marker::Sync for StoredContact {}
1878 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1879 #[repr(transparent)]
1880 pub struct VCardFormat(pub i32);
1881 impl VCardFormat {
1882     pub const Version2_1: VCardFormat = VCardFormat(0i32);
1883     pub const Version3: VCardFormat = VCardFormat(1i32);
1884 }
1885 impl ::std::convert::From<i32> for VCardFormat {
1886     fn from(value: i32) -> Self {
1887         Self(value)
1888     }
1889 }
1890 unsafe impl ::windows::runtime::Abi for VCardFormat {
1891     type Abi = Self;
1892     type DefaultType = Self;
1893 }
1894 unsafe impl ::windows::runtime::RuntimeType for VCardFormat {
1895     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Phone.PersonalInformation.VCardFormat;i4)");
1896 }
1897