1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3 #[repr(C)]
4 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5 pub struct ADRENTRY {
6     pub ulReserved1: u32,
7     pub cValues: u32,
8     pub rgPropVals: *mut SPropValue,
9 }
10 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
11 impl ADRENTRY {}
12 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
13 impl ::std::default::Default for ADRENTRY {
default() -> Self14     fn default() -> Self {
15         unsafe { ::std::mem::zeroed() }
16     }
17 }
18 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
19 impl ::std::fmt::Debug for ADRENTRY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result20     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
21         fmt.debug_struct("ADRENTRY").field("ulReserved1", &self.ulReserved1).field("cValues", &self.cValues).field("rgPropVals", &self.rgPropVals).finish()
22     }
23 }
24 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
25 impl ::std::cmp::PartialEq for ADRENTRY {
eq(&self, other: &Self) -> bool26     fn eq(&self, other: &Self) -> bool {
27         self.ulReserved1 == other.ulReserved1 && self.cValues == other.cValues && self.rgPropVals == other.rgPropVals
28     }
29 }
30 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
31 impl ::std::cmp::Eq for ADRENTRY {}
32 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
33 unsafe impl ::windows::runtime::Abi for ADRENTRY {
34     type Abi = Self;
35     type DefaultType = Self;
36 }
37 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
38 #[repr(C)]
39 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
40 pub struct ADRLIST {
41     pub cEntries: u32,
42     pub aEntries: [ADRENTRY; 1],
43 }
44 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
45 impl ADRLIST {}
46 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
47 impl ::std::default::Default for ADRLIST {
default() -> Self48     fn default() -> Self {
49         unsafe { ::std::mem::zeroed() }
50     }
51 }
52 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
53 impl ::std::fmt::Debug for ADRLIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result54     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
55         fmt.debug_struct("ADRLIST").field("cEntries", &self.cEntries).field("aEntries", &self.aEntries).finish()
56     }
57 }
58 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
59 impl ::std::cmp::PartialEq for ADRLIST {
eq(&self, other: &Self) -> bool60     fn eq(&self, other: &Self) -> bool {
61         self.cEntries == other.cEntries && self.aEntries == other.aEntries
62     }
63 }
64 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
65 impl ::std::cmp::Eq for ADRLIST {}
66 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
67 unsafe impl ::windows::runtime::Abi for ADRLIST {
68     type Abi = Self;
69     type DefaultType = Self;
70 }
71 #[derive(:: std :: clone :: Clone)]
72 #[repr(C)]
73 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
74 pub struct ADRPARM {
75     pub cbABContEntryID: u32,
76     pub lpABContEntryID: *mut ENTRYID,
77     pub ulFlags: u32,
78     pub lpReserved: *mut ::std::ffi::c_void,
79     pub ulHelpContext: u32,
80     pub lpszHelpFileName: *mut i8,
81     pub lpfnABSDI: ::std::option::Option<LPFNABSDI>,
82     pub lpfnDismiss: ::std::option::Option<LPFNDISMISS>,
83     pub lpvDismissContext: *mut ::std::ffi::c_void,
84     pub lpszCaption: *mut i8,
85     pub lpszNewEntryTitle: *mut i8,
86     pub lpszDestWellsTitle: *mut i8,
87     pub cDestFields: u32,
88     pub nDestFieldFocus: u32,
89     pub lppszDestTitles: *mut *mut i8,
90     pub lpulDestComps: *mut u32,
91     pub lpContRestriction: *mut SRestriction,
92     pub lpHierRestriction: *mut SRestriction,
93 }
94 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
95 impl ADRPARM {}
96 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
97 impl ::std::default::Default for ADRPARM {
default() -> Self98     fn default() -> Self {
99         unsafe { ::std::mem::zeroed() }
100     }
101 }
102 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
103 impl ::std::fmt::Debug for ADRPARM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result104     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
105         fmt.debug_struct("ADRPARM")
106             .field("cbABContEntryID", &self.cbABContEntryID)
107             .field("lpABContEntryID", &self.lpABContEntryID)
108             .field("ulFlags", &self.ulFlags)
109             .field("lpReserved", &self.lpReserved)
110             .field("ulHelpContext", &self.ulHelpContext)
111             .field("lpszHelpFileName", &self.lpszHelpFileName)
112             .field("lpvDismissContext", &self.lpvDismissContext)
113             .field("lpszCaption", &self.lpszCaption)
114             .field("lpszNewEntryTitle", &self.lpszNewEntryTitle)
115             .field("lpszDestWellsTitle", &self.lpszDestWellsTitle)
116             .field("cDestFields", &self.cDestFields)
117             .field("nDestFieldFocus", &self.nDestFieldFocus)
118             .field("lppszDestTitles", &self.lppszDestTitles)
119             .field("lpulDestComps", &self.lpulDestComps)
120             .field("lpContRestriction", &self.lpContRestriction)
121             .field("lpHierRestriction", &self.lpHierRestriction)
122             .finish()
123     }
124 }
125 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
126 impl ::std::cmp::PartialEq for ADRPARM {
eq(&self, other: &Self) -> bool127     fn eq(&self, other: &Self) -> bool {
128         self.cbABContEntryID == other.cbABContEntryID
129             && self.lpABContEntryID == other.lpABContEntryID
130             && self.ulFlags == other.ulFlags
131             && self.lpReserved == other.lpReserved
132             && self.ulHelpContext == other.ulHelpContext
133             && self.lpszHelpFileName == other.lpszHelpFileName
134             && self.lpfnABSDI.map(|f| f as usize) == other.lpfnABSDI.map(|f| f as usize)
135             && self.lpfnDismiss.map(|f| f as usize) == other.lpfnDismiss.map(|f| f as usize)
136             && self.lpvDismissContext == other.lpvDismissContext
137             && self.lpszCaption == other.lpszCaption
138             && self.lpszNewEntryTitle == other.lpszNewEntryTitle
139             && self.lpszDestWellsTitle == other.lpszDestWellsTitle
140             && self.cDestFields == other.cDestFields
141             && self.nDestFieldFocus == other.nDestFieldFocus
142             && self.lppszDestTitles == other.lppszDestTitles
143             && self.lpulDestComps == other.lpulDestComps
144             && self.lpContRestriction == other.lpContRestriction
145             && self.lpHierRestriction == other.lpHierRestriction
146     }
147 }
148 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
149 impl ::std::cmp::Eq for ADRPARM {}
150 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
151 unsafe impl ::windows::runtime::Abi for ADRPARM {
152     type Abi = ::std::mem::ManuallyDrop<Self>;
153     type DefaultType = Self;
154 }
155 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
156 #[inline]
BuildDisplayTable<'a, Param3: ::windows::runtime::IntoParam<'a, super::Com::IMalloc>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>( lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpallocatemore: ::std::option::Option<LPALLOCATEMORE>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, lpmalloc: Param3, hinstance: Param4, cpages: u32, lppage: *mut DTPAGE, ulflags: u32, lpptable: *mut ::std::option::Option<IMAPITable>, lpptbldata: *mut ::std::option::Option<ITableData>, ) -> ::windows::runtime::Result<()>157 pub unsafe fn BuildDisplayTable<'a, Param3: ::windows::runtime::IntoParam<'a, super::Com::IMalloc>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(
158     lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>,
159     lpallocatemore: ::std::option::Option<LPALLOCATEMORE>,
160     lpfreebuffer: ::std::option::Option<LPFREEBUFFER>,
161     lpmalloc: Param3,
162     hinstance: Param4,
163     cpages: u32,
164     lppage: *mut DTPAGE,
165     ulflags: u32,
166     lpptable: *mut ::std::option::Option<IMAPITable>,
167     lpptbldata: *mut ::std::option::Option<ITableData>,
168 ) -> ::windows::runtime::Result<()> {
169     #[cfg(windows)]
170     {
171         #[link(name = "windows")]
172         extern "system" {
173             fn BuildDisplayTable(lpallocatebuffer: ::windows::runtime::RawPtr, lpallocatemore: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr, lpmalloc: ::windows::runtime::RawPtr, hinstance: super::super::Foundation::HINSTANCE, cpages: u32, lppage: *mut DTPAGE, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr, lpptbldata: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
174         }
175         BuildDisplayTable(
176             ::std::mem::transmute(lpallocatebuffer),
177             ::std::mem::transmute(lpallocatemore),
178             ::std::mem::transmute(lpfreebuffer),
179             lpmalloc.into_param().abi(),
180             hinstance.into_param().abi(),
181             ::std::mem::transmute(cpages),
182             ::std::mem::transmute(lppage),
183             ::std::mem::transmute(ulflags),
184             ::std::mem::transmute(lpptable),
185             ::std::mem::transmute(lpptbldata),
186         )
187         .ok()
188     }
189     #[cfg(not(windows))]
190     unimplemented!("Unsupported target OS");
191 }
192 pub type CALLERRELEASE = unsafe extern "system" fn(ulcallerdata: u32, lptbldata: ::windows::runtime::RawPtr, lpvue: ::windows::runtime::RawPtr);
193 #[cfg(feature = "Win32_Foundation")]
194 #[inline]
ChangeIdleRoutine(ftg: *mut ::std::ffi::c_void, lpfnidle: ::std::option::Option<PFNIDLE>, lpvidleparam: *mut ::std::ffi::c_void, priidle: i16, csecidle: u32, iroidle: u16, ircidle: u16)195 pub unsafe fn ChangeIdleRoutine(ftg: *mut ::std::ffi::c_void, lpfnidle: ::std::option::Option<PFNIDLE>, lpvidleparam: *mut ::std::ffi::c_void, priidle: i16, csecidle: u32, iroidle: u16, ircidle: u16) {
196     #[cfg(windows)]
197     {
198         #[link(name = "windows")]
199         extern "system" {
200             fn ChangeIdleRoutine(ftg: *mut ::std::ffi::c_void, lpfnidle: ::windows::runtime::RawPtr, lpvidleparam: *mut ::std::ffi::c_void, priidle: i16, csecidle: u32, iroidle: u16, ircidle: u16);
201         }
202         ::std::mem::transmute(ChangeIdleRoutine(::std::mem::transmute(ftg), ::std::mem::transmute(lpfnidle), ::std::mem::transmute(lpvidleparam), ::std::mem::transmute(priidle), ::std::mem::transmute(csecidle), ::std::mem::transmute(iroidle), ::std::mem::transmute(ircidle)))
203     }
204     #[cfg(not(windows))]
205     unimplemented!("Unsupported target OS");
206 }
207 #[inline]
CreateIProp(lpinterface: *mut ::windows::runtime::GUID, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpallocatemore: ::std::option::Option<LPALLOCATEMORE>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, lpvreserved: *mut ::std::ffi::c_void, lpppropdata: *mut ::std::option::Option<IPropData>) -> i32208 pub unsafe fn CreateIProp(lpinterface: *mut ::windows::runtime::GUID, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpallocatemore: ::std::option::Option<LPALLOCATEMORE>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, lpvreserved: *mut ::std::ffi::c_void, lpppropdata: *mut ::std::option::Option<IPropData>) -> i32 {
209     #[cfg(windows)]
210     {
211         #[link(name = "windows")]
212         extern "system" {
213             fn CreateIProp(lpinterface: *mut ::windows::runtime::GUID, lpallocatebuffer: ::windows::runtime::RawPtr, lpallocatemore: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr, lpvreserved: *mut ::std::ffi::c_void, lpppropdata: *mut ::windows::runtime::RawPtr) -> i32;
214         }
215         ::std::mem::transmute(CreateIProp(::std::mem::transmute(lpinterface), ::std::mem::transmute(lpallocatebuffer), ::std::mem::transmute(lpallocatemore), ::std::mem::transmute(lpfreebuffer), ::std::mem::transmute(lpvreserved), ::std::mem::transmute(lpppropdata)))
216     }
217     #[cfg(not(windows))]
218     unimplemented!("Unsupported target OS");
219 }
220 #[inline]
CreateTable(lpinterface: *mut ::windows::runtime::GUID, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpallocatemore: ::std::option::Option<LPALLOCATEMORE>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, lpvreserved: *mut ::std::ffi::c_void, ultabletype: u32, ulproptagindexcolumn: u32, lpsproptagarraycolumns: *mut SPropTagArray, lpptabledata: *mut ::std::option::Option<ITableData>) -> i32221 pub unsafe fn CreateTable(lpinterface: *mut ::windows::runtime::GUID, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpallocatemore: ::std::option::Option<LPALLOCATEMORE>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, lpvreserved: *mut ::std::ffi::c_void, ultabletype: u32, ulproptagindexcolumn: u32, lpsproptagarraycolumns: *mut SPropTagArray, lpptabledata: *mut ::std::option::Option<ITableData>) -> i32 {
222     #[cfg(windows)]
223     {
224         #[link(name = "windows")]
225         extern "system" {
226             fn CreateTable(lpinterface: *mut ::windows::runtime::GUID, lpallocatebuffer: ::windows::runtime::RawPtr, lpallocatemore: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr, lpvreserved: *mut ::std::ffi::c_void, ultabletype: u32, ulproptagindexcolumn: u32, lpsproptagarraycolumns: *mut SPropTagArray, lpptabledata: *mut ::windows::runtime::RawPtr) -> i32;
227         }
228         ::std::mem::transmute(CreateTable(
229             ::std::mem::transmute(lpinterface),
230             ::std::mem::transmute(lpallocatebuffer),
231             ::std::mem::transmute(lpallocatemore),
232             ::std::mem::transmute(lpfreebuffer),
233             ::std::mem::transmute(lpvreserved),
234             ::std::mem::transmute(ultabletype),
235             ::std::mem::transmute(ulproptagindexcolumn),
236             ::std::mem::transmute(lpsproptagarraycolumns),
237             ::std::mem::transmute(lpptabledata),
238         ))
239     }
240     #[cfg(not(windows))]
241     unimplemented!("Unsupported target OS");
242 }
243 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
244 #[repr(C)]
245 pub struct DTBLBUTTON {
246     pub ulbLpszLabel: u32,
247     pub ulFlags: u32,
248     pub ulPRControl: u32,
249 }
250 impl DTBLBUTTON {}
251 impl ::std::default::Default for DTBLBUTTON {
default() -> Self252     fn default() -> Self {
253         unsafe { ::std::mem::zeroed() }
254     }
255 }
256 impl ::std::fmt::Debug for DTBLBUTTON {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result257     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
258         fmt.debug_struct("DTBLBUTTON").field("ulbLpszLabel", &self.ulbLpszLabel).field("ulFlags", &self.ulFlags).field("ulPRControl", &self.ulPRControl).finish()
259     }
260 }
261 impl ::std::cmp::PartialEq for DTBLBUTTON {
eq(&self, other: &Self) -> bool262     fn eq(&self, other: &Self) -> bool {
263         self.ulbLpszLabel == other.ulbLpszLabel && self.ulFlags == other.ulFlags && self.ulPRControl == other.ulPRControl
264     }
265 }
266 impl ::std::cmp::Eq for DTBLBUTTON {}
267 unsafe impl ::windows::runtime::Abi for DTBLBUTTON {
268     type Abi = Self;
269     type DefaultType = Self;
270 }
271 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
272 #[repr(C)]
273 pub struct DTBLCHECKBOX {
274     pub ulbLpszLabel: u32,
275     pub ulFlags: u32,
276     pub ulPRPropertyName: u32,
277 }
278 impl DTBLCHECKBOX {}
279 impl ::std::default::Default for DTBLCHECKBOX {
default() -> Self280     fn default() -> Self {
281         unsafe { ::std::mem::zeroed() }
282     }
283 }
284 impl ::std::fmt::Debug for DTBLCHECKBOX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result285     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
286         fmt.debug_struct("DTBLCHECKBOX").field("ulbLpszLabel", &self.ulbLpszLabel).field("ulFlags", &self.ulFlags).field("ulPRPropertyName", &self.ulPRPropertyName).finish()
287     }
288 }
289 impl ::std::cmp::PartialEq for DTBLCHECKBOX {
eq(&self, other: &Self) -> bool290     fn eq(&self, other: &Self) -> bool {
291         self.ulbLpszLabel == other.ulbLpszLabel && self.ulFlags == other.ulFlags && self.ulPRPropertyName == other.ulPRPropertyName
292     }
293 }
294 impl ::std::cmp::Eq for DTBLCHECKBOX {}
295 unsafe impl ::windows::runtime::Abi for DTBLCHECKBOX {
296     type Abi = Self;
297     type DefaultType = Self;
298 }
299 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
300 #[repr(C)]
301 pub struct DTBLCOMBOBOX {
302     pub ulbLpszCharsAllowed: u32,
303     pub ulFlags: u32,
304     pub ulNumCharsAllowed: u32,
305     pub ulPRPropertyName: u32,
306     pub ulPRTableName: u32,
307 }
308 impl DTBLCOMBOBOX {}
309 impl ::std::default::Default for DTBLCOMBOBOX {
default() -> Self310     fn default() -> Self {
311         unsafe { ::std::mem::zeroed() }
312     }
313 }
314 impl ::std::fmt::Debug for DTBLCOMBOBOX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result315     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
316         fmt.debug_struct("DTBLCOMBOBOX").field("ulbLpszCharsAllowed", &self.ulbLpszCharsAllowed).field("ulFlags", &self.ulFlags).field("ulNumCharsAllowed", &self.ulNumCharsAllowed).field("ulPRPropertyName", &self.ulPRPropertyName).field("ulPRTableName", &self.ulPRTableName).finish()
317     }
318 }
319 impl ::std::cmp::PartialEq for DTBLCOMBOBOX {
eq(&self, other: &Self) -> bool320     fn eq(&self, other: &Self) -> bool {
321         self.ulbLpszCharsAllowed == other.ulbLpszCharsAllowed && self.ulFlags == other.ulFlags && self.ulNumCharsAllowed == other.ulNumCharsAllowed && self.ulPRPropertyName == other.ulPRPropertyName && self.ulPRTableName == other.ulPRTableName
322     }
323 }
324 impl ::std::cmp::Eq for DTBLCOMBOBOX {}
325 unsafe impl ::windows::runtime::Abi for DTBLCOMBOBOX {
326     type Abi = Self;
327     type DefaultType = Self;
328 }
329 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
330 #[repr(C)]
331 pub struct DTBLDDLBX {
332     pub ulFlags: u32,
333     pub ulPRDisplayProperty: u32,
334     pub ulPRSetProperty: u32,
335     pub ulPRTableName: u32,
336 }
337 impl DTBLDDLBX {}
338 impl ::std::default::Default for DTBLDDLBX {
default() -> Self339     fn default() -> Self {
340         unsafe { ::std::mem::zeroed() }
341     }
342 }
343 impl ::std::fmt::Debug for DTBLDDLBX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result344     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
345         fmt.debug_struct("DTBLDDLBX").field("ulFlags", &self.ulFlags).field("ulPRDisplayProperty", &self.ulPRDisplayProperty).field("ulPRSetProperty", &self.ulPRSetProperty).field("ulPRTableName", &self.ulPRTableName).finish()
346     }
347 }
348 impl ::std::cmp::PartialEq for DTBLDDLBX {
eq(&self, other: &Self) -> bool349     fn eq(&self, other: &Self) -> bool {
350         self.ulFlags == other.ulFlags && self.ulPRDisplayProperty == other.ulPRDisplayProperty && self.ulPRSetProperty == other.ulPRSetProperty && self.ulPRTableName == other.ulPRTableName
351     }
352 }
353 impl ::std::cmp::Eq for DTBLDDLBX {}
354 unsafe impl ::windows::runtime::Abi for DTBLDDLBX {
355     type Abi = Self;
356     type DefaultType = Self;
357 }
358 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
359 #[repr(C)]
360 pub struct DTBLEDIT {
361     pub ulbLpszCharsAllowed: u32,
362     pub ulFlags: u32,
363     pub ulNumCharsAllowed: u32,
364     pub ulPropTag: u32,
365 }
366 impl DTBLEDIT {}
367 impl ::std::default::Default for DTBLEDIT {
default() -> Self368     fn default() -> Self {
369         unsafe { ::std::mem::zeroed() }
370     }
371 }
372 impl ::std::fmt::Debug for DTBLEDIT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result373     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
374         fmt.debug_struct("DTBLEDIT").field("ulbLpszCharsAllowed", &self.ulbLpszCharsAllowed).field("ulFlags", &self.ulFlags).field("ulNumCharsAllowed", &self.ulNumCharsAllowed).field("ulPropTag", &self.ulPropTag).finish()
375     }
376 }
377 impl ::std::cmp::PartialEq for DTBLEDIT {
eq(&self, other: &Self) -> bool378     fn eq(&self, other: &Self) -> bool {
379         self.ulbLpszCharsAllowed == other.ulbLpszCharsAllowed && self.ulFlags == other.ulFlags && self.ulNumCharsAllowed == other.ulNumCharsAllowed && self.ulPropTag == other.ulPropTag
380     }
381 }
382 impl ::std::cmp::Eq for DTBLEDIT {}
383 unsafe impl ::windows::runtime::Abi for DTBLEDIT {
384     type Abi = Self;
385     type DefaultType = Self;
386 }
387 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
388 #[repr(C)]
389 pub struct DTBLGROUPBOX {
390     pub ulbLpszLabel: u32,
391     pub ulFlags: u32,
392 }
393 impl DTBLGROUPBOX {}
394 impl ::std::default::Default for DTBLGROUPBOX {
default() -> Self395     fn default() -> Self {
396         unsafe { ::std::mem::zeroed() }
397     }
398 }
399 impl ::std::fmt::Debug for DTBLGROUPBOX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result400     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
401         fmt.debug_struct("DTBLGROUPBOX").field("ulbLpszLabel", &self.ulbLpszLabel).field("ulFlags", &self.ulFlags).finish()
402     }
403 }
404 impl ::std::cmp::PartialEq for DTBLGROUPBOX {
eq(&self, other: &Self) -> bool405     fn eq(&self, other: &Self) -> bool {
406         self.ulbLpszLabel == other.ulbLpszLabel && self.ulFlags == other.ulFlags
407     }
408 }
409 impl ::std::cmp::Eq for DTBLGROUPBOX {}
410 unsafe impl ::windows::runtime::Abi for DTBLGROUPBOX {
411     type Abi = Self;
412     type DefaultType = Self;
413 }
414 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
415 #[repr(C)]
416 pub struct DTBLLABEL {
417     pub ulbLpszLabelName: u32,
418     pub ulFlags: u32,
419 }
420 impl DTBLLABEL {}
421 impl ::std::default::Default for DTBLLABEL {
default() -> Self422     fn default() -> Self {
423         unsafe { ::std::mem::zeroed() }
424     }
425 }
426 impl ::std::fmt::Debug for DTBLLABEL {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result427     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
428         fmt.debug_struct("DTBLLABEL").field("ulbLpszLabelName", &self.ulbLpszLabelName).field("ulFlags", &self.ulFlags).finish()
429     }
430 }
431 impl ::std::cmp::PartialEq for DTBLLABEL {
eq(&self, other: &Self) -> bool432     fn eq(&self, other: &Self) -> bool {
433         self.ulbLpszLabelName == other.ulbLpszLabelName && self.ulFlags == other.ulFlags
434     }
435 }
436 impl ::std::cmp::Eq for DTBLLABEL {}
437 unsafe impl ::windows::runtime::Abi for DTBLLABEL {
438     type Abi = Self;
439     type DefaultType = Self;
440 }
441 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
442 #[repr(C)]
443 pub struct DTBLLBX {
444     pub ulFlags: u32,
445     pub ulPRSetProperty: u32,
446     pub ulPRTableName: u32,
447 }
448 impl DTBLLBX {}
449 impl ::std::default::Default for DTBLLBX {
default() -> Self450     fn default() -> Self {
451         unsafe { ::std::mem::zeroed() }
452     }
453 }
454 impl ::std::fmt::Debug for DTBLLBX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result455     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
456         fmt.debug_struct("DTBLLBX").field("ulFlags", &self.ulFlags).field("ulPRSetProperty", &self.ulPRSetProperty).field("ulPRTableName", &self.ulPRTableName).finish()
457     }
458 }
459 impl ::std::cmp::PartialEq for DTBLLBX {
eq(&self, other: &Self) -> bool460     fn eq(&self, other: &Self) -> bool {
461         self.ulFlags == other.ulFlags && self.ulPRSetProperty == other.ulPRSetProperty && self.ulPRTableName == other.ulPRTableName
462     }
463 }
464 impl ::std::cmp::Eq for DTBLLBX {}
465 unsafe impl ::windows::runtime::Abi for DTBLLBX {
466     type Abi = Self;
467     type DefaultType = Self;
468 }
469 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
470 #[repr(C)]
471 pub struct DTBLMVDDLBX {
472     pub ulFlags: u32,
473     pub ulMVPropTag: u32,
474 }
475 impl DTBLMVDDLBX {}
476 impl ::std::default::Default for DTBLMVDDLBX {
default() -> Self477     fn default() -> Self {
478         unsafe { ::std::mem::zeroed() }
479     }
480 }
481 impl ::std::fmt::Debug for DTBLMVDDLBX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result482     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
483         fmt.debug_struct("DTBLMVDDLBX").field("ulFlags", &self.ulFlags).field("ulMVPropTag", &self.ulMVPropTag).finish()
484     }
485 }
486 impl ::std::cmp::PartialEq for DTBLMVDDLBX {
eq(&self, other: &Self) -> bool487     fn eq(&self, other: &Self) -> bool {
488         self.ulFlags == other.ulFlags && self.ulMVPropTag == other.ulMVPropTag
489     }
490 }
491 impl ::std::cmp::Eq for DTBLMVDDLBX {}
492 unsafe impl ::windows::runtime::Abi for DTBLMVDDLBX {
493     type Abi = Self;
494     type DefaultType = Self;
495 }
496 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
497 #[repr(C)]
498 pub struct DTBLMVLISTBOX {
499     pub ulFlags: u32,
500     pub ulMVPropTag: u32,
501 }
502 impl DTBLMVLISTBOX {}
503 impl ::std::default::Default for DTBLMVLISTBOX {
default() -> Self504     fn default() -> Self {
505         unsafe { ::std::mem::zeroed() }
506     }
507 }
508 impl ::std::fmt::Debug for DTBLMVLISTBOX {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result509     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
510         fmt.debug_struct("DTBLMVLISTBOX").field("ulFlags", &self.ulFlags).field("ulMVPropTag", &self.ulMVPropTag).finish()
511     }
512 }
513 impl ::std::cmp::PartialEq for DTBLMVLISTBOX {
eq(&self, other: &Self) -> bool514     fn eq(&self, other: &Self) -> bool {
515         self.ulFlags == other.ulFlags && self.ulMVPropTag == other.ulMVPropTag
516     }
517 }
518 impl ::std::cmp::Eq for DTBLMVLISTBOX {}
519 unsafe impl ::windows::runtime::Abi for DTBLMVLISTBOX {
520     type Abi = Self;
521     type DefaultType = Self;
522 }
523 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
524 #[repr(C)]
525 pub struct DTBLPAGE {
526     pub ulbLpszLabel: u32,
527     pub ulFlags: u32,
528     pub ulbLpszComponent: u32,
529     pub ulContext: u32,
530 }
531 impl DTBLPAGE {}
532 impl ::std::default::Default for DTBLPAGE {
default() -> Self533     fn default() -> Self {
534         unsafe { ::std::mem::zeroed() }
535     }
536 }
537 impl ::std::fmt::Debug for DTBLPAGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result538     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
539         fmt.debug_struct("DTBLPAGE").field("ulbLpszLabel", &self.ulbLpszLabel).field("ulFlags", &self.ulFlags).field("ulbLpszComponent", &self.ulbLpszComponent).field("ulContext", &self.ulContext).finish()
540     }
541 }
542 impl ::std::cmp::PartialEq for DTBLPAGE {
eq(&self, other: &Self) -> bool543     fn eq(&self, other: &Self) -> bool {
544         self.ulbLpszLabel == other.ulbLpszLabel && self.ulFlags == other.ulFlags && self.ulbLpszComponent == other.ulbLpszComponent && self.ulContext == other.ulContext
545     }
546 }
547 impl ::std::cmp::Eq for DTBLPAGE {}
548 unsafe impl ::windows::runtime::Abi for DTBLPAGE {
549     type Abi = Self;
550     type DefaultType = Self;
551 }
552 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
553 #[repr(C)]
554 pub struct DTBLRADIOBUTTON {
555     pub ulbLpszLabel: u32,
556     pub ulFlags: u32,
557     pub ulcButtons: u32,
558     pub ulPropTag: u32,
559     pub lReturnValue: i32,
560 }
561 impl DTBLRADIOBUTTON {}
562 impl ::std::default::Default for DTBLRADIOBUTTON {
default() -> Self563     fn default() -> Self {
564         unsafe { ::std::mem::zeroed() }
565     }
566 }
567 impl ::std::fmt::Debug for DTBLRADIOBUTTON {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result568     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
569         fmt.debug_struct("DTBLRADIOBUTTON").field("ulbLpszLabel", &self.ulbLpszLabel).field("ulFlags", &self.ulFlags).field("ulcButtons", &self.ulcButtons).field("ulPropTag", &self.ulPropTag).field("lReturnValue", &self.lReturnValue).finish()
570     }
571 }
572 impl ::std::cmp::PartialEq for DTBLRADIOBUTTON {
eq(&self, other: &Self) -> bool573     fn eq(&self, other: &Self) -> bool {
574         self.ulbLpszLabel == other.ulbLpszLabel && self.ulFlags == other.ulFlags && self.ulcButtons == other.ulcButtons && self.ulPropTag == other.ulPropTag && self.lReturnValue == other.lReturnValue
575     }
576 }
577 impl ::std::cmp::Eq for DTBLRADIOBUTTON {}
578 unsafe impl ::windows::runtime::Abi for DTBLRADIOBUTTON {
579     type Abi = Self;
580     type DefaultType = Self;
581 }
582 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
583 #[repr(C)]
584 pub struct DTCTL {
585     pub ulCtlType: u32,
586     pub ulCtlFlags: u32,
587     pub lpbNotif: *mut u8,
588     pub cbNotif: u32,
589     pub lpszFilter: *mut i8,
590     pub ulItemID: u32,
591     pub ctl: DTCTL_0,
592 }
593 impl DTCTL {}
594 impl ::std::default::Default for DTCTL {
default() -> Self595     fn default() -> Self {
596         unsafe { ::std::mem::zeroed() }
597     }
598 }
599 impl ::std::cmp::PartialEq for DTCTL {
eq(&self, _other: &Self) -> bool600     fn eq(&self, _other: &Self) -> bool {
601         unimplemented!()
602     }
603 }
604 impl ::std::cmp::Eq for DTCTL {}
605 unsafe impl ::windows::runtime::Abi for DTCTL {
606     type Abi = Self;
607     type DefaultType = Self;
608 }
609 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
610 #[repr(C)]
611 pub union DTCTL_0 {
612     pub lpv: *mut ::std::ffi::c_void,
613     pub lplabel: *mut DTBLLABEL,
614     pub lpedit: *mut DTBLEDIT,
615     pub lplbx: *mut DTBLLBX,
616     pub lpcombobox: *mut DTBLCOMBOBOX,
617     pub lpddlbx: *mut DTBLDDLBX,
618     pub lpcheckbox: *mut DTBLCHECKBOX,
619     pub lpgroupbox: *mut DTBLGROUPBOX,
620     pub lpbutton: *mut DTBLBUTTON,
621     pub lpradiobutton: *mut DTBLRADIOBUTTON,
622     pub lpmvlbx: *mut DTBLMVLISTBOX,
623     pub lpmvddlbx: *mut DTBLMVDDLBX,
624     pub lppage: *mut DTBLPAGE,
625 }
626 impl DTCTL_0 {}
627 impl ::std::default::Default for DTCTL_0 {
default() -> Self628     fn default() -> Self {
629         unsafe { ::std::mem::zeroed() }
630     }
631 }
632 impl ::std::cmp::PartialEq for DTCTL_0 {
eq(&self, _other: &Self) -> bool633     fn eq(&self, _other: &Self) -> bool {
634         unimplemented!()
635     }
636 }
637 impl ::std::cmp::Eq for DTCTL_0 {}
638 unsafe impl ::windows::runtime::Abi for DTCTL_0 {
639     type Abi = Self;
640     type DefaultType = Self;
641 }
642 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
643 #[repr(C)]
644 pub struct DTPAGE {
645     pub cctl: u32,
646     pub lpszResourceName: *mut i8,
647     pub Anonymous: DTPAGE_0,
648     pub lpctl: *mut DTCTL,
649 }
650 impl DTPAGE {}
651 impl ::std::default::Default for DTPAGE {
default() -> Self652     fn default() -> Self {
653         unsafe { ::std::mem::zeroed() }
654     }
655 }
656 impl ::std::cmp::PartialEq for DTPAGE {
eq(&self, _other: &Self) -> bool657     fn eq(&self, _other: &Self) -> bool {
658         unimplemented!()
659     }
660 }
661 impl ::std::cmp::Eq for DTPAGE {}
662 unsafe impl ::windows::runtime::Abi for DTPAGE {
663     type Abi = Self;
664     type DefaultType = Self;
665 }
666 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
667 #[repr(C)]
668 pub union DTPAGE_0 {
669     pub lpszComponent: *mut i8,
670     pub ulItemID: u32,
671 }
672 impl DTPAGE_0 {}
673 impl ::std::default::Default for DTPAGE_0 {
default() -> Self674     fn default() -> Self {
675         unsafe { ::std::mem::zeroed() }
676     }
677 }
678 impl ::std::cmp::PartialEq for DTPAGE_0 {
eq(&self, _other: &Self) -> bool679     fn eq(&self, _other: &Self) -> bool {
680         unimplemented!()
681     }
682 }
683 impl ::std::cmp::Eq for DTPAGE_0 {}
684 unsafe impl ::windows::runtime::Abi for DTPAGE_0 {
685     type Abi = Self;
686     type DefaultType = Self;
687 }
688 #[inline]
DeinitMapiUtil()689 pub unsafe fn DeinitMapiUtil() {
690     #[cfg(windows)]
691     {
692         #[link(name = "windows")]
693         extern "system" {
694             fn DeinitMapiUtil();
695         }
696         ::std::mem::transmute(DeinitMapiUtil())
697     }
698     #[cfg(not(windows))]
699     unimplemented!("Unsupported target OS");
700 }
701 #[inline]
DeregisterIdleRoutine(ftg: *mut ::std::ffi::c_void)702 pub unsafe fn DeregisterIdleRoutine(ftg: *mut ::std::ffi::c_void) {
703     #[cfg(windows)]
704     {
705         #[link(name = "windows")]
706         extern "system" {
707             fn DeregisterIdleRoutine(ftg: *mut ::std::ffi::c_void);
708         }
709         ::std::mem::transmute(DeregisterIdleRoutine(::std::mem::transmute(ftg)))
710     }
711     #[cfg(not(windows))]
712     unimplemented!("Unsupported target OS");
713 }
714 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
715 #[repr(C)]
716 pub struct ENTRYID {
717     pub abFlags: [u8; 4],
718     pub ab: [u8; 1],
719 }
720 impl ENTRYID {}
721 impl ::std::default::Default for ENTRYID {
default() -> Self722     fn default() -> Self {
723         unsafe { ::std::mem::zeroed() }
724     }
725 }
726 impl ::std::fmt::Debug for ENTRYID {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result727     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
728         fmt.debug_struct("ENTRYID").field("abFlags", &self.abFlags).field("ab", &self.ab).finish()
729     }
730 }
731 impl ::std::cmp::PartialEq for ENTRYID {
eq(&self, other: &Self) -> bool732     fn eq(&self, other: &Self) -> bool {
733         self.abFlags == other.abFlags && self.ab == other.ab
734     }
735 }
736 impl ::std::cmp::Eq for ENTRYID {}
737 unsafe impl ::windows::runtime::Abi for ENTRYID {
738     type Abi = Self;
739     type DefaultType = Self;
740 }
741 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
742 #[repr(C)]
743 pub struct ERROR_NOTIFICATION {
744     pub cbEntryID: u32,
745     pub lpEntryID: *mut ENTRYID,
746     pub scode: i32,
747     pub ulFlags: u32,
748     pub lpMAPIError: *mut MAPIERROR,
749 }
750 impl ERROR_NOTIFICATION {}
751 impl ::std::default::Default for ERROR_NOTIFICATION {
default() -> Self752     fn default() -> Self {
753         unsafe { ::std::mem::zeroed() }
754     }
755 }
756 impl ::std::fmt::Debug for ERROR_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result757     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
758         fmt.debug_struct("ERROR_NOTIFICATION").field("cbEntryID", &self.cbEntryID).field("lpEntryID", &self.lpEntryID).field("scode", &self.scode).field("ulFlags", &self.ulFlags).field("lpMAPIError", &self.lpMAPIError).finish()
759     }
760 }
761 impl ::std::cmp::PartialEq for ERROR_NOTIFICATION {
eq(&self, other: &Self) -> bool762     fn eq(&self, other: &Self) -> bool {
763         self.cbEntryID == other.cbEntryID && self.lpEntryID == other.lpEntryID && self.scode == other.scode && self.ulFlags == other.ulFlags && self.lpMAPIError == other.lpMAPIError
764     }
765 }
766 impl ::std::cmp::Eq for ERROR_NOTIFICATION {}
767 unsafe impl ::windows::runtime::Abi for ERROR_NOTIFICATION {
768     type Abi = Self;
769     type DefaultType = Self;
770 }
771 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
772 #[repr(C)]
773 pub struct EXTENDED_NOTIFICATION {
774     pub ulEvent: u32,
775     pub cb: u32,
776     pub pbEventParameters: *mut u8,
777 }
778 impl EXTENDED_NOTIFICATION {}
779 impl ::std::default::Default for EXTENDED_NOTIFICATION {
default() -> Self780     fn default() -> Self {
781         unsafe { ::std::mem::zeroed() }
782     }
783 }
784 impl ::std::fmt::Debug for EXTENDED_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result785     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
786         fmt.debug_struct("EXTENDED_NOTIFICATION").field("ulEvent", &self.ulEvent).field("cb", &self.cb).field("pbEventParameters", &self.pbEventParameters).finish()
787     }
788 }
789 impl ::std::cmp::PartialEq for EXTENDED_NOTIFICATION {
eq(&self, other: &Self) -> bool790     fn eq(&self, other: &Self) -> bool {
791         self.ulEvent == other.ulEvent && self.cb == other.cb && self.pbEventParameters == other.pbEventParameters
792     }
793 }
794 impl ::std::cmp::Eq for EXTENDED_NOTIFICATION {}
795 unsafe impl ::windows::runtime::Abi for EXTENDED_NOTIFICATION {
796     type Abi = Self;
797     type DefaultType = Self;
798 }
799 pub const E_IMAPI_BURN_VERIFICATION_FAILED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600697i32 as _);
800 pub const E_IMAPI_DF2DATA_CLIENT_NAME_IS_NOT_VALID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599672i32 as _);
801 pub const E_IMAPI_DF2DATA_INVALID_MEDIA_STATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599678i32 as _);
802 pub const E_IMAPI_DF2DATA_MEDIA_IS_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599674i32 as _);
803 pub const E_IMAPI_DF2DATA_MEDIA_NOT_BLANK: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599675i32 as _);
804 pub const E_IMAPI_DF2DATA_RECORDER_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599673i32 as _);
805 pub const E_IMAPI_DF2DATA_STREAM_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599677i32 as _);
806 pub const E_IMAPI_DF2DATA_STREAM_TOO_LARGE_FOR_CURRENT_MEDIA: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599676i32 as _);
807 pub const E_IMAPI_DF2DATA_WRITE_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599680i32 as _);
808 pub const E_IMAPI_DF2DATA_WRITE_NOT_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599679i32 as _);
809 pub const E_IMAPI_DF2RAW_CLIENT_NAME_IS_NOT_VALID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599164i32 as _);
810 pub const E_IMAPI_DF2RAW_DATA_BLOCK_TYPE_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599154i32 as _);
811 pub const E_IMAPI_DF2RAW_MEDIA_IS_NOT_BLANK: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599162i32 as _);
812 pub const E_IMAPI_DF2RAW_MEDIA_IS_NOT_PREPARED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599166i32 as _);
813 pub const E_IMAPI_DF2RAW_MEDIA_IS_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599161i32 as _);
814 pub const E_IMAPI_DF2RAW_MEDIA_IS_PREPARED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599165i32 as _);
815 pub const E_IMAPI_DF2RAW_NOT_ENOUGH_SPACE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599159i32 as _);
816 pub const E_IMAPI_DF2RAW_NO_RECORDER_SPECIFIED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599158i32 as _);
817 pub const E_IMAPI_DF2RAW_RECORDER_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599152i32 as _);
818 pub const E_IMAPI_DF2RAW_STREAM_LEADIN_TOO_SHORT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599153i32 as _);
819 pub const E_IMAPI_DF2RAW_STREAM_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599155i32 as _);
820 pub const E_IMAPI_DF2RAW_WRITE_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599168i32 as _);
821 pub const E_IMAPI_DF2RAW_WRITE_NOT_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599167i32 as _);
822 pub const E_IMAPI_DF2TAO_CLIENT_NAME_IS_NOT_VALID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599409i32 as _);
823 pub const E_IMAPI_DF2TAO_INVALID_ISRC: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599413i32 as _);
824 pub const E_IMAPI_DF2TAO_INVALID_MCN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599412i32 as _);
825 pub const E_IMAPI_DF2TAO_MEDIA_IS_NOT_BLANK: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599418i32 as _);
826 pub const E_IMAPI_DF2TAO_MEDIA_IS_NOT_PREPARED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599422i32 as _);
827 pub const E_IMAPI_DF2TAO_MEDIA_IS_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599417i32 as _);
828 pub const E_IMAPI_DF2TAO_MEDIA_IS_PREPARED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599421i32 as _);
829 pub const E_IMAPI_DF2TAO_NOT_ENOUGH_SPACE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599415i32 as _);
830 pub const E_IMAPI_DF2TAO_NO_RECORDER_SPECIFIED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599414i32 as _);
831 pub const E_IMAPI_DF2TAO_PROPERTY_FOR_BLANK_MEDIA_ONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599420i32 as _);
832 pub const E_IMAPI_DF2TAO_RECORDER_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599410i32 as _);
833 pub const E_IMAPI_DF2TAO_STREAM_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599411i32 as _);
834 pub const E_IMAPI_DF2TAO_TABLE_OF_CONTENTS_EMPTY_DISC: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599419i32 as _);
835 pub const E_IMAPI_DF2TAO_TRACK_LIMIT_REACHED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599416i32 as _);
836 pub const E_IMAPI_DF2TAO_WRITE_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599424i32 as _);
837 pub const E_IMAPI_DF2TAO_WRITE_NOT_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599423i32 as _);
838 pub const E_IMAPI_ERASE_CLIENT_NAME_IS_NOT_VALID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062598389i32 as _);
839 pub const E_IMAPI_ERASE_DISC_INFORMATION_TOO_SMALL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340222i32 as _);
840 pub const E_IMAPI_ERASE_DRIVE_FAILED_ERASE_COMMAND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340219i32 as _);
841 pub const E_IMAPI_ERASE_DRIVE_FAILED_SPINUP_COMMAND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340216i32 as _);
842 pub const E_IMAPI_ERASE_MEDIA_IS_NOT_ERASABLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340220i32 as _);
843 pub const E_IMAPI_ERASE_MEDIA_IS_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062598391i32 as _);
844 pub const E_IMAPI_ERASE_MODE_PAGE_2A_TOO_SMALL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340221i32 as _);
845 pub const E_IMAPI_ERASE_ONLY_ONE_RECORDER_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340223i32 as _);
846 pub const E_IMAPI_ERASE_RECORDER_IN_USE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340224i32 as _);
847 pub const E_IMAPI_ERASE_RECORDER_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062598390i32 as _);
848 pub const E_IMAPI_ERASE_TOOK_LONGER_THAN_ONE_HOUR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340218i32 as _);
849 pub const E_IMAPI_ERASE_UNEXPECTED_DRIVE_RESPONSE_DURING_ERASE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136340217i32 as _);
850 pub const E_IMAPI_LOSS_OF_STREAMING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599936i32 as _);
851 pub const E_IMAPI_RAW_IMAGE_INSUFFICIENT_SPACE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339963i32 as _);
852 pub const E_IMAPI_RAW_IMAGE_IS_READ_ONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339968i32 as _);
853 pub const E_IMAPI_RAW_IMAGE_NO_TRACKS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339965i32 as _);
854 pub const E_IMAPI_RAW_IMAGE_SECTOR_TYPE_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339966i32 as _);
855 pub const E_IMAPI_RAW_IMAGE_TOO_MANY_TRACKS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339967i32 as _);
856 pub const E_IMAPI_RAW_IMAGE_TOO_MANY_TRACK_INDEXES: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339962i32 as _);
857 pub const E_IMAPI_RAW_IMAGE_TRACKS_ALREADY_ADDED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339964i32 as _);
858 pub const E_IMAPI_RAW_IMAGE_TRACK_INDEX_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339961i32 as _);
859 pub const E_IMAPI_RAW_IMAGE_TRACK_INDEX_OFFSET_ZERO_CANNOT_BE_CLEARED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339959i32 as _);
860 pub const E_IMAPI_RAW_IMAGE_TRACK_INDEX_TOO_CLOSE_TO_OTHER_INDEX: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2136339958i32 as _);
861 pub const E_IMAPI_RECORDER_CLIENT_NAME_IS_NOT_VALID: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600175i32 as _);
862 pub const E_IMAPI_RECORDER_COMMAND_TIMEOUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600179i32 as _);
863 pub const E_IMAPI_RECORDER_DVD_STRUCTURE_NOT_PRESENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600178i32 as _);
864 pub const E_IMAPI_RECORDER_FEATURE_IS_NOT_CURRENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600181i32 as _);
865 pub const E_IMAPI_RECORDER_GET_CONFIGURATION_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600180i32 as _);
866 pub const E_IMAPI_RECORDER_INVALID_MODE_PARAMETERS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600184i32 as _);
867 pub const E_IMAPI_RECORDER_INVALID_RESPONSE_FROM_DEVICE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599937i32 as _);
868 pub const E_IMAPI_RECORDER_LOCKED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600176i32 as _);
869 pub const E_IMAPI_RECORDER_MEDIA_BECOMING_READY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600187i32 as _);
870 pub const E_IMAPI_RECORDER_MEDIA_BUSY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600185i32 as _);
871 pub const E_IMAPI_RECORDER_MEDIA_FORMAT_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600186i32 as _);
872 pub const E_IMAPI_RECORDER_MEDIA_INCOMPATIBLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600189i32 as _);
873 pub const E_IMAPI_RECORDER_MEDIA_NOT_FORMATTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600174i32 as _);
874 pub const E_IMAPI_RECORDER_MEDIA_NO_MEDIA: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600190i32 as _);
875 pub const E_IMAPI_RECORDER_MEDIA_SPEED_MISMATCH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600177i32 as _);
876 pub const E_IMAPI_RECORDER_MEDIA_UPSIDE_DOWN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600188i32 as _);
877 pub const E_IMAPI_RECORDER_MEDIA_WRITE_PROTECTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600183i32 as _);
878 pub const E_IMAPI_RECORDER_NO_SUCH_FEATURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600182i32 as _);
879 pub const E_IMAPI_RECORDER_NO_SUCH_MODE_PAGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600191i32 as _);
880 pub const E_IMAPI_RECORDER_REQUIRED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600701i32 as _);
881 pub const E_IMAPI_REQUEST_CANCELLED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062600702i32 as _);
882 pub const E_IMAPI_UNEXPECTED_RESPONSE_FROM_DEVICE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062599935i32 as _);
883 #[cfg(feature = "Win32_Foundation")]
884 #[inline]
EnableIdleRoutine<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(ftg: *mut ::std::ffi::c_void, fenable: Param1)885 pub unsafe fn EnableIdleRoutine<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(ftg: *mut ::std::ffi::c_void, fenable: Param1) {
886     #[cfg(windows)]
887     {
888         #[link(name = "windows")]
889         extern "system" {
890             fn EnableIdleRoutine(ftg: *mut ::std::ffi::c_void, fenable: super::super::Foundation::BOOL);
891         }
892         ::std::mem::transmute(EnableIdleRoutine(::std::mem::transmute(ftg), fenable.into_param().abi()))
893     }
894     #[cfg(not(windows))]
895     unimplemented!("Unsupported target OS");
896 }
897 pub const FACILITY_IMAPI2: u32 = 170u32;
898 #[cfg(feature = "Win32_Foundation")]
899 #[inline]
FEqualNames(lpname1: *mut MAPINAMEID, lpname2: *mut MAPINAMEID) -> super::super::Foundation::BOOL900 pub unsafe fn FEqualNames(lpname1: *mut MAPINAMEID, lpname2: *mut MAPINAMEID) -> super::super::Foundation::BOOL {
901     #[cfg(windows)]
902     {
903         #[link(name = "windows")]
904         extern "system" {
905             fn FEqualNames(lpname1: *mut MAPINAMEID, lpname2: *mut MAPINAMEID) -> super::super::Foundation::BOOL;
906         }
907         ::std::mem::transmute(FEqualNames(::std::mem::transmute(lpname1), ::std::mem::transmute(lpname2)))
908     }
909     #[cfg(not(windows))]
910     unimplemented!("Unsupported target OS");
911 }
912 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
913 #[repr(C)]
914 pub struct FLATENTRY {
915     pub cb: u32,
916     pub abEntry: [u8; 1],
917 }
918 impl FLATENTRY {}
919 impl ::std::default::Default for FLATENTRY {
default() -> Self920     fn default() -> Self {
921         unsafe { ::std::mem::zeroed() }
922     }
923 }
924 impl ::std::fmt::Debug for FLATENTRY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result925     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
926         fmt.debug_struct("FLATENTRY").field("cb", &self.cb).field("abEntry", &self.abEntry).finish()
927     }
928 }
929 impl ::std::cmp::PartialEq for FLATENTRY {
eq(&self, other: &Self) -> bool930     fn eq(&self, other: &Self) -> bool {
931         self.cb == other.cb && self.abEntry == other.abEntry
932     }
933 }
934 impl ::std::cmp::Eq for FLATENTRY {}
935 unsafe impl ::windows::runtime::Abi for FLATENTRY {
936     type Abi = Self;
937     type DefaultType = Self;
938 }
939 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
940 #[repr(C)]
941 pub struct FLATENTRYLIST {
942     pub cEntries: u32,
943     pub cbEntries: u32,
944     pub abEntries: [u8; 1],
945 }
946 impl FLATENTRYLIST {}
947 impl ::std::default::Default for FLATENTRYLIST {
default() -> Self948     fn default() -> Self {
949         unsafe { ::std::mem::zeroed() }
950     }
951 }
952 impl ::std::fmt::Debug for FLATENTRYLIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result953     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
954         fmt.debug_struct("FLATENTRYLIST").field("cEntries", &self.cEntries).field("cbEntries", &self.cbEntries).field("abEntries", &self.abEntries).finish()
955     }
956 }
957 impl ::std::cmp::PartialEq for FLATENTRYLIST {
eq(&self, other: &Self) -> bool958     fn eq(&self, other: &Self) -> bool {
959         self.cEntries == other.cEntries && self.cbEntries == other.cbEntries && self.abEntries == other.abEntries
960     }
961 }
962 impl ::std::cmp::Eq for FLATENTRYLIST {}
963 unsafe impl ::windows::runtime::Abi for FLATENTRYLIST {
964     type Abi = Self;
965     type DefaultType = Self;
966 }
967 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
968 #[repr(C)]
969 pub struct FLATMTSIDLIST {
970     pub cMTSIDs: u32,
971     pub cbMTSIDs: u32,
972     pub abMTSIDs: [u8; 1],
973 }
974 impl FLATMTSIDLIST {}
975 impl ::std::default::Default for FLATMTSIDLIST {
default() -> Self976     fn default() -> Self {
977         unsafe { ::std::mem::zeroed() }
978     }
979 }
980 impl ::std::fmt::Debug for FLATMTSIDLIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result981     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
982         fmt.debug_struct("FLATMTSIDLIST").field("cMTSIDs", &self.cMTSIDs).field("cbMTSIDs", &self.cbMTSIDs).field("abMTSIDs", &self.abMTSIDs).finish()
983     }
984 }
985 impl ::std::cmp::PartialEq for FLATMTSIDLIST {
eq(&self, other: &Self) -> bool986     fn eq(&self, other: &Self) -> bool {
987         self.cMTSIDs == other.cMTSIDs && self.cbMTSIDs == other.cbMTSIDs && self.abMTSIDs == other.abMTSIDs
988     }
989 }
990 impl ::std::cmp::Eq for FLATMTSIDLIST {}
991 unsafe impl ::windows::runtime::Abi for FLATMTSIDLIST {
992     type Abi = Self;
993     type DefaultType = Self;
994 }
995 #[cfg(feature = "Win32_Foundation")]
996 pub type FNIDLE = unsafe extern "system" fn(param0: *mut ::std::ffi::c_void) -> super::super::Foundation::BOOL;
997 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
998 #[inline]
FPropCompareProp(lpspropvalue1: *mut SPropValue, ulrelop: u32, lpspropvalue2: *mut SPropValue) -> super::super::Foundation::BOOL999 pub unsafe fn FPropCompareProp(lpspropvalue1: *mut SPropValue, ulrelop: u32, lpspropvalue2: *mut SPropValue) -> super::super::Foundation::BOOL {
1000     #[cfg(windows)]
1001     {
1002         #[link(name = "windows")]
1003         extern "system" {
1004             fn FPropCompareProp(lpspropvalue1: *mut SPropValue, ulrelop: u32, lpspropvalue2: *mut SPropValue) -> super::super::Foundation::BOOL;
1005         }
1006         ::std::mem::transmute(FPropCompareProp(::std::mem::transmute(lpspropvalue1), ::std::mem::transmute(ulrelop), ::std::mem::transmute(lpspropvalue2)))
1007     }
1008     #[cfg(not(windows))]
1009     unimplemented!("Unsupported target OS");
1010 }
1011 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1012 #[inline]
FPropContainsProp(lpspropvaluedst: *mut SPropValue, lpspropvaluesrc: *mut SPropValue, ulfuzzylevel: u32) -> super::super::Foundation::BOOL1013 pub unsafe fn FPropContainsProp(lpspropvaluedst: *mut SPropValue, lpspropvaluesrc: *mut SPropValue, ulfuzzylevel: u32) -> super::super::Foundation::BOOL {
1014     #[cfg(windows)]
1015     {
1016         #[link(name = "windows")]
1017         extern "system" {
1018             fn FPropContainsProp(lpspropvaluedst: *mut SPropValue, lpspropvaluesrc: *mut SPropValue, ulfuzzylevel: u32) -> super::super::Foundation::BOOL;
1019         }
1020         ::std::mem::transmute(FPropContainsProp(::std::mem::transmute(lpspropvaluedst), ::std::mem::transmute(lpspropvaluesrc), ::std::mem::transmute(ulfuzzylevel)))
1021     }
1022     #[cfg(not(windows))]
1023     unimplemented!("Unsupported target OS");
1024 }
1025 #[cfg(feature = "Win32_Foundation")]
1026 #[inline]
FPropExists<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIProp>>(lpmapiprop: Param0, ulproptag: u32) -> super::super::Foundation::BOOL1027 pub unsafe fn FPropExists<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIProp>>(lpmapiprop: Param0, ulproptag: u32) -> super::super::Foundation::BOOL {
1028     #[cfg(windows)]
1029     {
1030         #[link(name = "windows")]
1031         extern "system" {
1032             fn FPropExists(lpmapiprop: ::windows::runtime::RawPtr, ulproptag: u32) -> super::super::Foundation::BOOL;
1033         }
1034         ::std::mem::transmute(FPropExists(lpmapiprop.into_param().abi(), ::std::mem::transmute(ulproptag)))
1035     }
1036     #[cfg(not(windows))]
1037     unimplemented!("Unsupported target OS");
1038 }
1039 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1040 #[inline]
FreePadrlist(lpadrlist: *mut ADRLIST)1041 pub unsafe fn FreePadrlist(lpadrlist: *mut ADRLIST) {
1042     #[cfg(windows)]
1043     {
1044         #[link(name = "windows")]
1045         extern "system" {
1046             fn FreePadrlist(lpadrlist: *mut ADRLIST);
1047         }
1048         ::std::mem::transmute(FreePadrlist(::std::mem::transmute(lpadrlist)))
1049     }
1050     #[cfg(not(windows))]
1051     unimplemented!("Unsupported target OS");
1052 }
1053 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1054 #[inline]
FreeProws(lprows: *mut SRowSet)1055 pub unsafe fn FreeProws(lprows: *mut SRowSet) {
1056     #[cfg(windows)]
1057     {
1058         #[link(name = "windows")]
1059         extern "system" {
1060             fn FreeProws(lprows: *mut SRowSet);
1061         }
1062         ::std::mem::transmute(FreeProws(::std::mem::transmute(lprows)))
1063     }
1064     #[cfg(not(windows))]
1065     unimplemented!("Unsupported target OS");
1066 }
1067 #[cfg(feature = "Win32_Foundation")]
1068 #[inline]
FtAddFt<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ftaddend1: Param0, ftaddend2: Param1) -> super::super::Foundation::FILETIME1069 pub unsafe fn FtAddFt<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ftaddend1: Param0, ftaddend2: Param1) -> super::super::Foundation::FILETIME {
1070     #[cfg(windows)]
1071     {
1072         #[link(name = "windows")]
1073         extern "system" {
1074             fn FtAddFt(ftaddend1: super::super::Foundation::FILETIME, ftaddend2: super::super::Foundation::FILETIME) -> super::super::Foundation::FILETIME;
1075         }
1076         ::std::mem::transmute(FtAddFt(ftaddend1.into_param().abi(), ftaddend2.into_param().abi()))
1077     }
1078     #[cfg(not(windows))]
1079     unimplemented!("Unsupported target OS");
1080 }
1081 #[cfg(feature = "Win32_Foundation")]
1082 #[inline]
FtMulDw<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ftmultiplier: u32, ftmultiplicand: Param1) -> super::super::Foundation::FILETIME1083 pub unsafe fn FtMulDw<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ftmultiplier: u32, ftmultiplicand: Param1) -> super::super::Foundation::FILETIME {
1084     #[cfg(windows)]
1085     {
1086         #[link(name = "windows")]
1087         extern "system" {
1088             fn FtMulDw(ftmultiplier: u32, ftmultiplicand: super::super::Foundation::FILETIME) -> super::super::Foundation::FILETIME;
1089         }
1090         ::std::mem::transmute(FtMulDw(::std::mem::transmute(ftmultiplier), ftmultiplicand.into_param().abi()))
1091     }
1092     #[cfg(not(windows))]
1093     unimplemented!("Unsupported target OS");
1094 }
1095 #[cfg(feature = "Win32_Foundation")]
1096 #[inline]
FtMulDwDw(ftmultiplicand: u32, ftmultiplier: u32) -> super::super::Foundation::FILETIME1097 pub unsafe fn FtMulDwDw(ftmultiplicand: u32, ftmultiplier: u32) -> super::super::Foundation::FILETIME {
1098     #[cfg(windows)]
1099     {
1100         #[link(name = "windows")]
1101         extern "system" {
1102             fn FtMulDwDw(ftmultiplicand: u32, ftmultiplier: u32) -> super::super::Foundation::FILETIME;
1103         }
1104         ::std::mem::transmute(FtMulDwDw(::std::mem::transmute(ftmultiplicand), ::std::mem::transmute(ftmultiplier)))
1105     }
1106     #[cfg(not(windows))]
1107     unimplemented!("Unsupported target OS");
1108 }
1109 #[cfg(feature = "Win32_Foundation")]
1110 #[inline]
FtNegFt<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ft: Param0) -> super::super::Foundation::FILETIME1111 pub unsafe fn FtNegFt<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ft: Param0) -> super::super::Foundation::FILETIME {
1112     #[cfg(windows)]
1113     {
1114         #[link(name = "windows")]
1115         extern "system" {
1116             fn FtNegFt(ft: super::super::Foundation::FILETIME) -> super::super::Foundation::FILETIME;
1117         }
1118         ::std::mem::transmute(FtNegFt(ft.into_param().abi()))
1119     }
1120     #[cfg(not(windows))]
1121     unimplemented!("Unsupported target OS");
1122 }
1123 #[cfg(feature = "Win32_Foundation")]
1124 #[inline]
FtSubFt<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ftminuend: Param0, ftsubtrahend: Param1) -> super::super::Foundation::FILETIME1125 pub unsafe fn FtSubFt<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::FILETIME>>(ftminuend: Param0, ftsubtrahend: Param1) -> super::super::Foundation::FILETIME {
1126     #[cfg(windows)]
1127     {
1128         #[link(name = "windows")]
1129         extern "system" {
1130             fn FtSubFt(ftminuend: super::super::Foundation::FILETIME, ftsubtrahend: super::super::Foundation::FILETIME) -> super::super::Foundation::FILETIME;
1131         }
1132         ::std::mem::transmute(FtSubFt(ftminuend.into_param().abi(), ftsubtrahend.into_param().abi()))
1133     }
1134     #[cfg(not(windows))]
1135     unimplemented!("Unsupported target OS");
1136 }
1137 #[cfg(feature = "Win32_Foundation")]
1138 #[inline]
FtgRegisterIdleRoutine(lpfnidle: ::std::option::Option<PFNIDLE>, lpvidleparam: *mut ::std::ffi::c_void, priidle: i16, csecidle: u32, iroidle: u16) -> *mut ::std::ffi::c_void1139 pub unsafe fn FtgRegisterIdleRoutine(lpfnidle: ::std::option::Option<PFNIDLE>, lpvidleparam: *mut ::std::ffi::c_void, priidle: i16, csecidle: u32, iroidle: u16) -> *mut ::std::ffi::c_void {
1140     #[cfg(windows)]
1141     {
1142         #[link(name = "windows")]
1143         extern "system" {
1144             fn FtgRegisterIdleRoutine(lpfnidle: ::windows::runtime::RawPtr, lpvidleparam: *mut ::std::ffi::c_void, priidle: i16, csecidle: u32, iroidle: u16) -> *mut ::std::ffi::c_void;
1145         }
1146         ::std::mem::transmute(FtgRegisterIdleRoutine(::std::mem::transmute(lpfnidle), ::std::mem::transmute(lpvidleparam), ::std::mem::transmute(priidle), ::std::mem::transmute(csecidle), ::std::mem::transmute(iroidle)))
1147     }
1148     #[cfg(not(windows))]
1149     unimplemented!("Unsupported target OS");
1150 }
1151 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1152 #[repr(transparent)]
1153 pub struct Gender(pub i32);
1154 pub const genderUnspecified: Gender = Gender(0i32);
1155 pub const genderFemale: Gender = Gender(1i32);
1156 pub const genderMale: Gender = Gender(2i32);
1157 impl ::std::convert::From<i32> for Gender {
from(value: i32) -> Self1158     fn from(value: i32) -> Self {
1159         Self(value)
1160     }
1161 }
1162 unsafe impl ::windows::runtime::Abi for Gender {
1163     type Abi = Self;
1164     type DefaultType = Self;
1165 }
1166 #[inline]
HrAddColumns<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPITable>>(lptbl: Param0, lpproptagcolumnsnew: *mut SPropTagArray, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>) -> ::windows::runtime::Result<()>1167 pub unsafe fn HrAddColumns<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPITable>>(lptbl: Param0, lpproptagcolumnsnew: *mut SPropTagArray, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>) -> ::windows::runtime::Result<()> {
1168     #[cfg(windows)]
1169     {
1170         #[link(name = "windows")]
1171         extern "system" {
1172             fn HrAddColumns(lptbl: ::windows::runtime::RawPtr, lpproptagcolumnsnew: *mut SPropTagArray, lpallocatebuffer: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1173         }
1174         HrAddColumns(lptbl.into_param().abi(), ::std::mem::transmute(lpproptagcolumnsnew), ::std::mem::transmute(lpallocatebuffer), ::std::mem::transmute(lpfreebuffer)).ok()
1175     }
1176     #[cfg(not(windows))]
1177     unimplemented!("Unsupported target OS");
1178 }
1179 #[inline]
HrAddColumnsEx<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPITable>>(lptbl: Param0, lpproptagcolumnsnew: *mut SPropTagArray, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, lpfnfiltercolumns: isize) -> ::windows::runtime::Result<()>1180 pub unsafe fn HrAddColumnsEx<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPITable>>(lptbl: Param0, lpproptagcolumnsnew: *mut SPropTagArray, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, lpfnfiltercolumns: isize) -> ::windows::runtime::Result<()> {
1181     #[cfg(windows)]
1182     {
1183         #[link(name = "windows")]
1184         extern "system" {
1185             fn HrAddColumnsEx(lptbl: ::windows::runtime::RawPtr, lpproptagcolumnsnew: *mut SPropTagArray, lpallocatebuffer: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr, lpfnfiltercolumns: isize) -> ::windows::runtime::HRESULT;
1186         }
1187         HrAddColumnsEx(lptbl.into_param().abi(), ::std::mem::transmute(lpproptagcolumnsnew), ::std::mem::transmute(lpallocatebuffer), ::std::mem::transmute(lpfreebuffer), ::std::mem::transmute(lpfnfiltercolumns)).ok()
1188     }
1189     #[cfg(not(windows))]
1190     unimplemented!("Unsupported target OS");
1191 }
1192 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1193 #[inline]
HrAllocAdviseSink(lpfncallback: ::std::option::Option<LPNOTIFCALLBACK>, lpvcontext: *mut ::std::ffi::c_void, lppadvisesink: *mut ::std::option::Option<IMAPIAdviseSink>) -> ::windows::runtime::Result<()>1194 pub unsafe fn HrAllocAdviseSink(lpfncallback: ::std::option::Option<LPNOTIFCALLBACK>, lpvcontext: *mut ::std::ffi::c_void, lppadvisesink: *mut ::std::option::Option<IMAPIAdviseSink>) -> ::windows::runtime::Result<()> {
1195     #[cfg(windows)]
1196     {
1197         #[link(name = "windows")]
1198         extern "system" {
1199             fn HrAllocAdviseSink(lpfncallback: ::windows::runtime::RawPtr, lpvcontext: *mut ::std::ffi::c_void, lppadvisesink: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1200         }
1201         HrAllocAdviseSink(::std::mem::transmute(lpfncallback), ::std::mem::transmute(lpvcontext), ::std::mem::transmute(lppadvisesink)).ok()
1202     }
1203     #[cfg(not(windows))]
1204     unimplemented!("Unsupported target OS");
1205 }
1206 #[inline]
HrDispatchNotifications(ulflags: u32) -> ::windows::runtime::Result<()>1207 pub unsafe fn HrDispatchNotifications(ulflags: u32) -> ::windows::runtime::Result<()> {
1208     #[cfg(windows)]
1209     {
1210         #[link(name = "windows")]
1211         extern "system" {
1212             fn HrDispatchNotifications(ulflags: u32) -> ::windows::runtime::HRESULT;
1213         }
1214         HrDispatchNotifications(::std::mem::transmute(ulflags)).ok()
1215     }
1216     #[cfg(not(windows))]
1217     unimplemented!("Unsupported target OS");
1218 }
1219 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1220 #[inline]
HrGetOneProp<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIProp>>(lpmapiprop: Param0, ulproptag: u32, lppprop: *mut *mut SPropValue) -> ::windows::runtime::Result<()>1221 pub unsafe fn HrGetOneProp<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIProp>>(lpmapiprop: Param0, ulproptag: u32, lppprop: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
1222     #[cfg(windows)]
1223     {
1224         #[link(name = "windows")]
1225         extern "system" {
1226             fn HrGetOneProp(lpmapiprop: ::windows::runtime::RawPtr, ulproptag: u32, lppprop: *mut *mut SPropValue) -> ::windows::runtime::HRESULT;
1227         }
1228         HrGetOneProp(lpmapiprop.into_param().abi(), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lppprop)).ok()
1229     }
1230     #[cfg(not(windows))]
1231     unimplemented!("Unsupported target OS");
1232 }
1233 #[cfg(feature = "Win32_System_Com_StructuredStorage")]
1234 #[inline]
HrIStorageFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(lpunkin: Param0, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lppstorageout: *mut ::std::option::Option<super::Com::StructuredStorage::IStorage>) -> ::windows::runtime::Result<()>1235 pub unsafe fn HrIStorageFromStream<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(lpunkin: Param0, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lppstorageout: *mut ::std::option::Option<super::Com::StructuredStorage::IStorage>) -> ::windows::runtime::Result<()> {
1236     #[cfg(windows)]
1237     {
1238         #[link(name = "windows")]
1239         extern "system" {
1240             fn HrIStorageFromStream(lpunkin: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lppstorageout: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1241         }
1242         HrIStorageFromStream(lpunkin.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppstorageout)).ok()
1243     }
1244     #[cfg(not(windows))]
1245     unimplemented!("Unsupported target OS");
1246 }
1247 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1248 #[inline]
HrQueryAllRows<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPITable>>(lptable: Param0, lpproptags: *mut SPropTagArray, lprestriction: *mut SRestriction, lpsortorderset: *mut SSortOrderSet, crowsmax: i32, lpprows: *mut *mut SRowSet) -> ::windows::runtime::Result<()>1249 pub unsafe fn HrQueryAllRows<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPITable>>(lptable: Param0, lpproptags: *mut SPropTagArray, lprestriction: *mut SRestriction, lpsortorderset: *mut SSortOrderSet, crowsmax: i32, lpprows: *mut *mut SRowSet) -> ::windows::runtime::Result<()> {
1250     #[cfg(windows)]
1251     {
1252         #[link(name = "windows")]
1253         extern "system" {
1254             fn HrQueryAllRows(lptable: ::windows::runtime::RawPtr, lpproptags: *mut SPropTagArray, lprestriction: *mut SRestriction, lpsortorderset: *mut SSortOrderSet, crowsmax: i32, lpprows: *mut *mut SRowSet) -> ::windows::runtime::HRESULT;
1255         }
1256         HrQueryAllRows(lptable.into_param().abi(), ::std::mem::transmute(lpproptags), ::std::mem::transmute(lprestriction), ::std::mem::transmute(lpsortorderset), ::std::mem::transmute(crowsmax), ::std::mem::transmute(lpprows)).ok()
1257     }
1258     #[cfg(not(windows))]
1259     unimplemented!("Unsupported target OS");
1260 }
1261 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1262 #[inline]
HrSetOneProp<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIProp>>(lpmapiprop: Param0, lpprop: *mut SPropValue) -> ::windows::runtime::Result<()>1263 pub unsafe fn HrSetOneProp<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIProp>>(lpmapiprop: Param0, lpprop: *mut SPropValue) -> ::windows::runtime::Result<()> {
1264     #[cfg(windows)]
1265     {
1266         #[link(name = "windows")]
1267         extern "system" {
1268             fn HrSetOneProp(lpmapiprop: ::windows::runtime::RawPtr, lpprop: *mut SPropValue) -> ::windows::runtime::HRESULT;
1269         }
1270         HrSetOneProp(lpmapiprop.into_param().abi(), ::std::mem::transmute(lpprop)).ok()
1271     }
1272     #[cfg(not(windows))]
1273     unimplemented!("Unsupported target OS");
1274 }
1275 #[inline]
HrThisThreadAdviseSink<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(lpadvisesink: Param0) -> ::windows::runtime::Result<IMAPIAdviseSink>1276 pub unsafe fn HrThisThreadAdviseSink<'a, Param0: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(lpadvisesink: Param0) -> ::windows::runtime::Result<IMAPIAdviseSink> {
1277     #[cfg(windows)]
1278     {
1279         #[link(name = "windows")]
1280         extern "system" {
1281             fn HrThisThreadAdviseSink(lpadvisesink: ::windows::runtime::RawPtr, lppadvisesink: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1282         }
1283         let mut result__: <IMAPIAdviseSink as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1284         HrThisThreadAdviseSink(lpadvisesink.into_param().abi(), &mut result__).from_abi::<IMAPIAdviseSink>(result__)
1285     }
1286     #[cfg(not(windows))]
1287     unimplemented!("Unsupported target OS");
1288 }
1289 #[repr(transparent)]
1290 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1291 pub struct IABContainer(::windows::runtime::IUnknown);
1292 impl IABContainer {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>1293     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
1294         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
1295     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>1296     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
1297         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
1298     }
1299     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>1300     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
1301         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
1302     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1303     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1304         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
1305     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1306     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1307         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
1308     }
1309     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1310     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1311         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
1312     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1313     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1314         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
1315     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1316     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1317         (::windows::runtime::Interface::vtable(self).10)(
1318             ::std::mem::transmute_copy(self),
1319             ::std::mem::transmute(ciidexclude),
1320             ::std::mem::transmute(rgiidexclude),
1321             ::std::mem::transmute(lpexcludeprops),
1322             ::std::mem::transmute(uluiparam),
1323             lpprogress.into_param().abi(),
1324             ::std::mem::transmute(lpinterface),
1325             ::std::mem::transmute(lpdestobj),
1326             ::std::mem::transmute(ulflags),
1327             ::std::mem::transmute(lppproblems),
1328         )
1329         .ok()
1330     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1331     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1332         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
1333     }
1334     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>1335     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
1336         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
1337     }
1338     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1339     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1340         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
1341     }
GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>1342     pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
1343         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1344         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
1345     }
GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>1346     pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
1347         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1348         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
1349     }
OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1350     pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1351         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulobjtype), ::std::mem::transmute(lppunk)).ok()
1352     }
1353     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()>1354     pub unsafe fn SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()> {
1355         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(lprestriction), ::std::mem::transmute(lpcontainerlist), ::std::mem::transmute(ulsearchflags)).ok()
1356     }
1357     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()>1358     pub unsafe fn GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()> {
1359         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpprestriction), ::std::mem::transmute(lppcontainerlist), ::std::mem::transmute(lpulsearchstate)).ok()
1360     }
CreateEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32) -> ::windows::runtime::Result<IMAPIProp>1361     pub unsafe fn CreateEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32) -> ::windows::runtime::Result<IMAPIProp> {
1362         let mut result__: <IMAPIProp as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1363         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(ulcreateflags), &mut result__).from_abi::<IMAPIProp>(result__)
1364     }
CopyEntries<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()>1365     pub unsafe fn CopyEntries<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()> {
1366         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpentries), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
1367     }
DeleteEntries(&self, lpentries: *const SBinaryArray, ulflags: u32) -> ::windows::runtime::Result<()>1368     pub unsafe fn DeleteEntries(&self, lpentries: *const SBinaryArray, ulflags: u32) -> ::windows::runtime::Result<()> {
1369         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpentries), ::std::mem::transmute(ulflags)).ok()
1370     }
1371     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
ResolveNames(&self, lpproptagarray: *const SPropTagArray, ulflags: u32, lpadrlist: *const ADRLIST) -> ::windows::runtime::Result<_flaglist>1372     pub unsafe fn ResolveNames(&self, lpproptagarray: *const SPropTagArray, ulflags: u32, lpadrlist: *const ADRLIST) -> ::windows::runtime::Result<_flaglist> {
1373         let mut result__: <_flaglist as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1374         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpadrlist), &mut result__).from_abi::<_flaglist>(result__)
1375     }
1376 }
1377 unsafe impl ::windows::runtime::Interface for IABContainer {
1378     type Vtable = IABContainer_abi;
1379     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
1380 }
1381 impl ::std::convert::From<IABContainer> for ::windows::runtime::IUnknown {
from(value: IABContainer) -> Self1382     fn from(value: IABContainer) -> Self {
1383         unsafe { ::std::mem::transmute(value) }
1384     }
1385 }
1386 impl ::std::convert::From<&IABContainer> for ::windows::runtime::IUnknown {
from(value: &IABContainer) -> Self1387     fn from(value: &IABContainer) -> Self {
1388         ::std::convert::From::from(::std::clone::Clone::clone(value))
1389     }
1390 }
1391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IABContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1393         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1394     }
1395 }
1396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IABContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1398         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1399     }
1400 }
1401 impl ::std::convert::From<IABContainer> for IMAPIContainer {
from(value: IABContainer) -> Self1402     fn from(value: IABContainer) -> Self {
1403         unsafe { ::std::mem::transmute(value) }
1404     }
1405 }
1406 impl ::std::convert::From<&IABContainer> for IMAPIContainer {
from(value: &IABContainer) -> Self1407     fn from(value: &IABContainer) -> Self {
1408         ::std::convert::From::from(::std::clone::Clone::clone(value))
1409     }
1410 }
1411 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIContainer> for IABContainer {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer>1412     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer> {
1413         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIContainer>::into(self))
1414     }
1415 }
1416 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIContainer> for &IABContainer {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer>1417     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer> {
1418         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIContainer>::into(::std::clone::Clone::clone(self)))
1419     }
1420 }
1421 impl ::std::convert::From<IABContainer> for IMAPIProp {
from(value: IABContainer) -> Self1422     fn from(value: IABContainer) -> Self {
1423         unsafe { ::std::mem::transmute(value) }
1424     }
1425 }
1426 impl ::std::convert::From<&IABContainer> for IMAPIProp {
from(value: &IABContainer) -> Self1427     fn from(value: &IABContainer) -> Self {
1428         ::std::convert::From::from(::std::clone::Clone::clone(value))
1429     }
1430 }
1431 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IABContainer {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1432     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1433         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
1434     }
1435 }
1436 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IABContainer {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1437     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1438         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
1439     }
1440 }
1441 #[repr(C)]
1442 #[doc(hidden)]
1443 pub struct IABContainer_abi(
1444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
1448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
1449     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
1450     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1453     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1454     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1458     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
1459     #[cfg(not(feature = "Win32_Foundation"))] usize,
1460     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1461     #[cfg(not(feature = "Win32_Foundation"))] usize,
1462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1465     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::HRESULT,
1466     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1467     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::HRESULT,
1468     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32, lppmapipropentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
1471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpentries: *const SBinaryArray, ulflags: u32) -> ::windows::runtime::HRESULT,
1472     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *const SPropTagArray, ulflags: u32, lpadrlist: *const ADRLIST, lpflaglist: *mut _flaglist) -> ::windows::runtime::HRESULT,
1473     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1474 );
1475 #[repr(transparent)]
1476 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1477 pub struct IAddrBook(::windows::runtime::IUnknown);
1478 impl IAddrBook {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>1479     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
1480         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
1481     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>1482     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
1483         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
1484     }
1485     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>1486     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
1487         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
1488     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1489     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1490         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
1491     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1492     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1493         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
1494     }
1495     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1496     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1497         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
1498     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1499     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1500         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
1501     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1502     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1503         (::windows::runtime::Interface::vtable(self).10)(
1504             ::std::mem::transmute_copy(self),
1505             ::std::mem::transmute(ciidexclude),
1506             ::std::mem::transmute(rgiidexclude),
1507             ::std::mem::transmute(lpexcludeprops),
1508             ::std::mem::transmute(uluiparam),
1509             lpprogress.into_param().abi(),
1510             ::std::mem::transmute(lpinterface),
1511             ::std::mem::transmute(lpdestobj),
1512             ::std::mem::transmute(ulflags),
1513             ::std::mem::transmute(lppproblems),
1514         )
1515         .ok()
1516     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1517     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1518         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
1519     }
1520     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>1521     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
1522         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
1523     }
1524     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1525     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1526         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
1527     }
OpenEntry(&self, cbentryid: u32, lpentryid: *mut ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1528     pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *mut ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1529         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulobjtype), ::std::mem::transmute(lppunk)).ok()
1530     }
CompareEntryIDs(&self, cbentryid1: u32, lpentryid1: *mut ENTRYID, cbentryid2: u32, lpentryid2: *mut ENTRYID, ulflags: u32, lpulresult: *mut u32) -> ::windows::runtime::Result<()>1531     pub unsafe fn CompareEntryIDs(&self, cbentryid1: u32, lpentryid1: *mut ENTRYID, cbentryid2: u32, lpentryid2: *mut ENTRYID, ulflags: u32, lpulresult: *mut u32) -> ::windows::runtime::Result<()> {
1532         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid1), ::std::mem::transmute(lpentryid1), ::std::mem::transmute(cbentryid2), ::std::mem::transmute(lpentryid2), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulresult)).ok()
1533     }
Advise<'a, Param3: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(&self, cbentryid: u32, lpentryid: *mut ENTRYID, uleventmask: u32, lpadvisesink: Param3, lpulconnection: *mut u32) -> ::windows::runtime::Result<()>1534     pub unsafe fn Advise<'a, Param3: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(&self, cbentryid: u32, lpentryid: *mut ENTRYID, uleventmask: u32, lpadvisesink: Param3, lpulconnection: *mut u32) -> ::windows::runtime::Result<()> {
1535         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(uleventmask), lpadvisesink.into_param().abi(), ::std::mem::transmute(lpulconnection)).ok()
1536     }
Unadvise(&self, ulconnection: u32) -> ::windows::runtime::Result<()>1537     pub unsafe fn Unadvise(&self, ulconnection: u32) -> ::windows::runtime::Result<()> {
1538         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulconnection)).ok()
1539     }
CreateOneOff(&self, lpszname: *mut i8, lpszadrtype: *mut i8, lpszaddress: *mut i8, ulflags: u32, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::Result<()>1540     pub unsafe fn CreateOneOff(&self, lpszname: *mut i8, lpszadrtype: *mut i8, lpszaddress: *mut i8, ulflags: u32, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::Result<()> {
1541         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpszname), ::std::mem::transmute(lpszadrtype), ::std::mem::transmute(lpszaddress), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcbentryid), ::std::mem::transmute(lppentryid)).ok()
1542     }
NewEntry(&self, uluiparam: u32, ulflags: u32, cbeidcontainer: u32, lpeidcontainer: *mut ENTRYID, cbeidnewentrytpl: u32, lpeidnewentrytpl: *mut ENTRYID, lpcbeidnewentry: *mut u32, lppeidnewentry: *mut *mut ENTRYID) -> ::windows::runtime::Result<()>1543     pub unsafe fn NewEntry(&self, uluiparam: u32, ulflags: u32, cbeidcontainer: u32, lpeidcontainer: *mut ENTRYID, cbeidnewentrytpl: u32, lpeidnewentrytpl: *mut ENTRYID, lpcbeidnewentry: *mut u32, lppeidnewentry: *mut *mut ENTRYID) -> ::windows::runtime::Result<()> {
1544         (::windows::runtime::Interface::vtable(self).19)(
1545             ::std::mem::transmute_copy(self),
1546             ::std::mem::transmute(uluiparam),
1547             ::std::mem::transmute(ulflags),
1548             ::std::mem::transmute(cbeidcontainer),
1549             ::std::mem::transmute(lpeidcontainer),
1550             ::std::mem::transmute(cbeidnewentrytpl),
1551             ::std::mem::transmute(lpeidnewentrytpl),
1552             ::std::mem::transmute(lpcbeidnewentry),
1553             ::std::mem::transmute(lppeidnewentry),
1554         )
1555         .ok()
1556     }
1557     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
ResolveName(&self, uluiparam: usize, ulflags: u32, lpsznewentrytitle: *mut i8, lpadrlist: *mut ADRLIST) -> ::windows::runtime::Result<()>1558     pub unsafe fn ResolveName(&self, uluiparam: usize, ulflags: u32, lpsznewentrytitle: *mut i8, lpadrlist: *mut ADRLIST) -> ::windows::runtime::Result<()> {
1559         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(uluiparam), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpsznewentrytitle), ::std::mem::transmute(lpadrlist)).ok()
1560     }
1561     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Address(&self, lpuluiparam: *mut u32, lpadrparms: *mut ADRPARM, lppadrlist: *mut *mut ADRLIST) -> ::windows::runtime::Result<()>1562     pub unsafe fn Address(&self, lpuluiparam: *mut u32, lpadrparms: *mut ADRPARM, lppadrlist: *mut *mut ADRLIST) -> ::windows::runtime::Result<()> {
1563         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpuluiparam), ::std::mem::transmute(lpadrparms), ::std::mem::transmute(lppadrlist)).ok()
1564     }
Details(&self, lpuluiparam: *mut usize, lpfndismiss: ::std::option::Option<LPFNDISMISS>, lpvdismisscontext: *mut ::std::ffi::c_void, cbentryid: u32, lpentryid: *mut ENTRYID, lpfbuttoncallback: ::std::option::Option<LPFNBUTTON>, lpvbuttoncontext: *mut ::std::ffi::c_void, lpszbuttontext: *mut i8, ulflags: u32) -> ::windows::runtime::Result<()>1565     pub unsafe fn Details(&self, lpuluiparam: *mut usize, lpfndismiss: ::std::option::Option<LPFNDISMISS>, lpvdismisscontext: *mut ::std::ffi::c_void, cbentryid: u32, lpentryid: *mut ENTRYID, lpfbuttoncallback: ::std::option::Option<LPFNBUTTON>, lpvbuttoncontext: *mut ::std::ffi::c_void, lpszbuttontext: *mut i8, ulflags: u32) -> ::windows::runtime::Result<()> {
1566         (::windows::runtime::Interface::vtable(self).22)(
1567             ::std::mem::transmute_copy(self),
1568             ::std::mem::transmute(lpuluiparam),
1569             ::std::mem::transmute(lpfndismiss),
1570             ::std::mem::transmute(lpvdismisscontext),
1571             ::std::mem::transmute(cbentryid),
1572             ::std::mem::transmute(lpentryid),
1573             ::std::mem::transmute(lpfbuttoncallback),
1574             ::std::mem::transmute(lpvbuttoncontext),
1575             ::std::mem::transmute(lpszbuttontext),
1576             ::std::mem::transmute(ulflags),
1577         )
1578         .ok()
1579     }
1580     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
RecipOptions(&self, uluiparam: u32, ulflags: u32, lprecip: *mut ADRENTRY) -> ::windows::runtime::Result<()>1581     pub unsafe fn RecipOptions(&self, uluiparam: u32, ulflags: u32, lprecip: *mut ADRENTRY) -> ::windows::runtime::Result<()> {
1582         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(uluiparam), ::std::mem::transmute(ulflags), ::std::mem::transmute(lprecip)).ok()
1583     }
1584     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
QueryDefaultRecipOpt(&self, lpszadrtype: *mut i8, ulflags: u32, lpcvalues: *mut u32, lppoptions: *mut *mut SPropValue) -> ::windows::runtime::Result<()>1585     pub unsafe fn QueryDefaultRecipOpt(&self, lpszadrtype: *mut i8, ulflags: u32, lpcvalues: *mut u32, lppoptions: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
1586         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpszadrtype), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppoptions)).ok()
1587     }
GetPAB(&self, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::Result<()>1588     pub unsafe fn GetPAB(&self, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::Result<()> {
1589         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpcbentryid), ::std::mem::transmute(lppentryid)).ok()
1590     }
SetPAB(&self, cbentryid: u32, lpentryid: *mut ENTRYID) -> ::windows::runtime::Result<()>1591     pub unsafe fn SetPAB(&self, cbentryid: u32, lpentryid: *mut ENTRYID) -> ::windows::runtime::Result<()> {
1592         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid)).ok()
1593     }
GetDefaultDir(&self, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::Result<()>1594     pub unsafe fn GetDefaultDir(&self, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::Result<()> {
1595         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpcbentryid), ::std::mem::transmute(lppentryid)).ok()
1596     }
SetDefaultDir(&self, cbentryid: u32, lpentryid: *mut ENTRYID) -> ::windows::runtime::Result<()>1597     pub unsafe fn SetDefaultDir(&self, cbentryid: u32, lpentryid: *mut ENTRYID) -> ::windows::runtime::Result<()> {
1598         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid)).ok()
1599     }
1600     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetSearchPath(&self, ulflags: u32, lppsearchpath: *mut *mut SRowSet) -> ::windows::runtime::Result<()>1601     pub unsafe fn GetSearchPath(&self, ulflags: u32, lppsearchpath: *mut *mut SRowSet) -> ::windows::runtime::Result<()> {
1602         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppsearchpath)).ok()
1603     }
1604     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetSearchPath(&self, ulflags: u32, lpsearchpath: *mut SRowSet) -> ::windows::runtime::Result<()>1605     pub unsafe fn SetSearchPath(&self, ulflags: u32, lpsearchpath: *mut SRowSet) -> ::windows::runtime::Result<()> {
1606         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpsearchpath)).ok()
1607     }
1608     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
PrepareRecips(&self, ulflags: u32, lpproptagarray: *mut SPropTagArray, lpreciplist: *mut ADRLIST) -> ::windows::runtime::Result<()>1609     pub unsafe fn PrepareRecips(&self, ulflags: u32, lpproptagarray: *mut SPropTagArray, lpreciplist: *mut ADRLIST) -> ::windows::runtime::Result<()> {
1610         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lpreciplist)).ok()
1611     }
1612 }
1613 unsafe impl ::windows::runtime::Interface for IAddrBook {
1614     type Vtable = IAddrBook_abi;
1615     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
1616 }
1617 impl ::std::convert::From<IAddrBook> for ::windows::runtime::IUnknown {
from(value: IAddrBook) -> Self1618     fn from(value: IAddrBook) -> Self {
1619         unsafe { ::std::mem::transmute(value) }
1620     }
1621 }
1622 impl ::std::convert::From<&IAddrBook> for ::windows::runtime::IUnknown {
from(value: &IAddrBook) -> Self1623     fn from(value: &IAddrBook) -> Self {
1624         ::std::convert::From::from(::std::clone::Clone::clone(value))
1625     }
1626 }
1627 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAddrBook {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1628     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1629         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1630     }
1631 }
1632 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAddrBook {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1633     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1634         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1635     }
1636 }
1637 impl ::std::convert::From<IAddrBook> for IMAPIProp {
from(value: IAddrBook) -> Self1638     fn from(value: IAddrBook) -> Self {
1639         unsafe { ::std::mem::transmute(value) }
1640     }
1641 }
1642 impl ::std::convert::From<&IAddrBook> for IMAPIProp {
from(value: &IAddrBook) -> Self1643     fn from(value: &IAddrBook) -> Self {
1644         ::std::convert::From::from(::std::clone::Clone::clone(value))
1645     }
1646 }
1647 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IAddrBook {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1648     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1649         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
1650     }
1651 }
1652 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IAddrBook {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1653     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1654         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
1655     }
1656 }
1657 #[repr(C)]
1658 #[doc(hidden)]
1659 pub struct IAddrBook_abi(
1660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
1664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
1665     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
1666     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1669     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1670     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1674     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
1675     #[cfg(not(feature = "Win32_Foundation"))] usize,
1676     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1677     #[cfg(not(feature = "Win32_Foundation"))] usize,
1678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *mut ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid1: u32, lpentryid1: *mut ENTRYID, cbentryid2: u32, lpentryid2: *mut ENTRYID, ulflags: u32, lpulresult: *mut u32) -> ::windows::runtime::HRESULT,
1680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *mut ENTRYID, uleventmask: u32, lpadvisesink: ::windows::runtime::RawPtr, lpulconnection: *mut u32) -> ::windows::runtime::HRESULT,
1681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulconnection: u32) -> ::windows::runtime::HRESULT,
1682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpszname: *mut i8, lpszadrtype: *mut i8, lpszaddress: *mut i8, ulflags: u32, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::HRESULT,
1683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uluiparam: u32, ulflags: u32, cbeidcontainer: u32, lpeidcontainer: *mut ENTRYID, cbeidnewentrytpl: u32, lpeidnewentrytpl: *mut ENTRYID, lpcbeidnewentry: *mut u32, lppeidnewentry: *mut *mut ENTRYID) -> ::windows::runtime::HRESULT,
1684     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uluiparam: usize, ulflags: u32, lpsznewentrytitle: *mut i8, lpadrlist: *mut ADRLIST) -> ::windows::runtime::HRESULT,
1685     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1686     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpuluiparam: *mut u32, lpadrparms: *mut ::std::mem::ManuallyDrop<ADRPARM>, lppadrlist: *mut *mut ADRLIST) -> ::windows::runtime::HRESULT,
1687     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpuluiparam: *mut usize, lpfndismiss: ::windows::runtime::RawPtr, lpvdismisscontext: *mut ::std::ffi::c_void, cbentryid: u32, lpentryid: *mut ENTRYID, lpfbuttoncallback: ::windows::runtime::RawPtr, lpvbuttoncontext: *mut ::std::ffi::c_void, lpszbuttontext: *mut i8, ulflags: u32) -> ::windows::runtime::HRESULT,
1689     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uluiparam: u32, ulflags: u32, lprecip: *mut ADRENTRY) -> ::windows::runtime::HRESULT,
1690     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1691     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpszadrtype: *mut i8, ulflags: u32, lpcvalues: *mut u32, lppoptions: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
1692     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::HRESULT,
1694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *mut ENTRYID) -> ::windows::runtime::HRESULT,
1695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID) -> ::windows::runtime::HRESULT,
1696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *mut ENTRYID) -> ::windows::runtime::HRESULT,
1697     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppsearchpath: *mut *mut SRowSet) -> ::windows::runtime::HRESULT,
1698     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1699     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpsearchpath: *mut SRowSet) -> ::windows::runtime::HRESULT,
1700     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1701     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpproptagarray: *mut SPropTagArray, lpreciplist: *mut ADRLIST) -> ::windows::runtime::HRESULT,
1702     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1703 );
1704 #[repr(transparent)]
1705 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1706 pub struct IAttach(::windows::runtime::IUnknown);
1707 impl IAttach {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>1708     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
1709         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
1710     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>1711     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
1712         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
1713     }
1714     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>1715     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
1716         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
1717     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1718     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1719         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
1720     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1721     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1722         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
1723     }
1724     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1725     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1726         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
1727     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1728     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1729         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
1730     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1731     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1732         (::windows::runtime::Interface::vtable(self).10)(
1733             ::std::mem::transmute_copy(self),
1734             ::std::mem::transmute(ciidexclude),
1735             ::std::mem::transmute(rgiidexclude),
1736             ::std::mem::transmute(lpexcludeprops),
1737             ::std::mem::transmute(uluiparam),
1738             lpprogress.into_param().abi(),
1739             ::std::mem::transmute(lpinterface),
1740             ::std::mem::transmute(lpdestobj),
1741             ::std::mem::transmute(ulflags),
1742             ::std::mem::transmute(lppproblems),
1743         )
1744         .ok()
1745     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1746     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1747         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
1748     }
1749     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>1750     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
1751         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
1752     }
1753     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1754     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1755         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
1756     }
1757 }
1758 unsafe impl ::windows::runtime::Interface for IAttach {
1759     type Vtable = IAttach_abi;
1760     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
1761 }
1762 impl ::std::convert::From<IAttach> for ::windows::runtime::IUnknown {
from(value: IAttach) -> Self1763     fn from(value: IAttach) -> Self {
1764         unsafe { ::std::mem::transmute(value) }
1765     }
1766 }
1767 impl ::std::convert::From<&IAttach> for ::windows::runtime::IUnknown {
from(value: &IAttach) -> Self1768     fn from(value: &IAttach) -> Self {
1769         ::std::convert::From::from(::std::clone::Clone::clone(value))
1770     }
1771 }
1772 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAttach {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1773     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1774         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1775     }
1776 }
1777 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAttach {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1778     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1779         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1780     }
1781 }
1782 impl ::std::convert::From<IAttach> for IMAPIProp {
from(value: IAttach) -> Self1783     fn from(value: IAttach) -> Self {
1784         unsafe { ::std::mem::transmute(value) }
1785     }
1786 }
1787 impl ::std::convert::From<&IAttach> for IMAPIProp {
from(value: &IAttach) -> Self1788     fn from(value: &IAttach) -> Self {
1789         ::std::convert::From::from(::std::clone::Clone::clone(value))
1790     }
1791 }
1792 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IAttach {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1793     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1794         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
1795     }
1796 }
1797 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IAttach {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1798     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1799         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
1800     }
1801 }
1802 #[repr(C)]
1803 #[doc(hidden)]
1804 pub struct IAttach_abi(
1805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
1809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
1810     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
1811     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1814     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1815     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1819     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
1820     #[cfg(not(feature = "Win32_Foundation"))] usize,
1821     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1822     #[cfg(not(feature = "Win32_Foundation"))] usize,
1823 );
1824 #[repr(transparent)]
1825 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1826 pub struct IDistList(::windows::runtime::IUnknown);
1827 impl IDistList {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>1828     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
1829         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
1830     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>1831     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
1832         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
1833     }
1834     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>1835     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
1836         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
1837     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1838     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1839         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
1840     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1841     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1842         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
1843     }
1844     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1845     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1846         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
1847     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1848     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1849         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
1850     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1851     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1852         (::windows::runtime::Interface::vtable(self).10)(
1853             ::std::mem::transmute_copy(self),
1854             ::std::mem::transmute(ciidexclude),
1855             ::std::mem::transmute(rgiidexclude),
1856             ::std::mem::transmute(lpexcludeprops),
1857             ::std::mem::transmute(uluiparam),
1858             lpprogress.into_param().abi(),
1859             ::std::mem::transmute(lpinterface),
1860             ::std::mem::transmute(lpdestobj),
1861             ::std::mem::transmute(ulflags),
1862             ::std::mem::transmute(lppproblems),
1863         )
1864         .ok()
1865     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>1866     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
1867         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
1868     }
1869     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>1870     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
1871         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
1872     }
1873     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>1874     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
1875         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
1876     }
GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>1877     pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
1878         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1879         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
1880     }
GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>1881     pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
1882         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1883         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
1884     }
OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>1885     pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
1886         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulobjtype), ::std::mem::transmute(lppunk)).ok()
1887     }
1888     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()>1889     pub unsafe fn SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()> {
1890         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(lprestriction), ::std::mem::transmute(lpcontainerlist), ::std::mem::transmute(ulsearchflags)).ok()
1891     }
1892     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()>1893     pub unsafe fn GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()> {
1894         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpprestriction), ::std::mem::transmute(lppcontainerlist), ::std::mem::transmute(lpulsearchstate)).ok()
1895     }
CreateEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32) -> ::windows::runtime::Result<IMAPIProp>1896     pub unsafe fn CreateEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32) -> ::windows::runtime::Result<IMAPIProp> {
1897         let mut result__: <IMAPIProp as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1898         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(ulcreateflags), &mut result__).from_abi::<IMAPIProp>(result__)
1899     }
CopyEntries<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()>1900     pub unsafe fn CopyEntries<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()> {
1901         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpentries), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
1902     }
DeleteEntries(&self, lpentries: *const SBinaryArray, ulflags: u32) -> ::windows::runtime::Result<()>1903     pub unsafe fn DeleteEntries(&self, lpentries: *const SBinaryArray, ulflags: u32) -> ::windows::runtime::Result<()> {
1904         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpentries), ::std::mem::transmute(ulflags)).ok()
1905     }
1906     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
ResolveNames(&self, lpproptagarray: *const SPropTagArray, ulflags: u32, lpadrlist: *const ADRLIST) -> ::windows::runtime::Result<_flaglist>1907     pub unsafe fn ResolveNames(&self, lpproptagarray: *const SPropTagArray, ulflags: u32, lpadrlist: *const ADRLIST) -> ::windows::runtime::Result<_flaglist> {
1908         let mut result__: <_flaglist as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1909         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpadrlist), &mut result__).from_abi::<_flaglist>(result__)
1910     }
1911 }
1912 unsafe impl ::windows::runtime::Interface for IDistList {
1913     type Vtable = IDistList_abi;
1914     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
1915 }
1916 impl ::std::convert::From<IDistList> for ::windows::runtime::IUnknown {
from(value: IDistList) -> Self1917     fn from(value: IDistList) -> Self {
1918         unsafe { ::std::mem::transmute(value) }
1919     }
1920 }
1921 impl ::std::convert::From<&IDistList> for ::windows::runtime::IUnknown {
from(value: &IDistList) -> Self1922     fn from(value: &IDistList) -> Self {
1923         ::std::convert::From::from(::std::clone::Clone::clone(value))
1924     }
1925 }
1926 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDistList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1927     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1928         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1929     }
1930 }
1931 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDistList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1932     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1933         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1934     }
1935 }
1936 impl ::std::convert::From<IDistList> for IMAPIContainer {
from(value: IDistList) -> Self1937     fn from(value: IDistList) -> Self {
1938         unsafe { ::std::mem::transmute(value) }
1939     }
1940 }
1941 impl ::std::convert::From<&IDistList> for IMAPIContainer {
from(value: &IDistList) -> Self1942     fn from(value: &IDistList) -> Self {
1943         ::std::convert::From::from(::std::clone::Clone::clone(value))
1944     }
1945 }
1946 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIContainer> for IDistList {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer>1947     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer> {
1948         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIContainer>::into(self))
1949     }
1950 }
1951 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIContainer> for &IDistList {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer>1952     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer> {
1953         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIContainer>::into(::std::clone::Clone::clone(self)))
1954     }
1955 }
1956 impl ::std::convert::From<IDistList> for IMAPIProp {
from(value: IDistList) -> Self1957     fn from(value: IDistList) -> Self {
1958         unsafe { ::std::mem::transmute(value) }
1959     }
1960 }
1961 impl ::std::convert::From<&IDistList> for IMAPIProp {
from(value: &IDistList) -> Self1962     fn from(value: &IDistList) -> Self {
1963         ::std::convert::From::from(::std::clone::Clone::clone(value))
1964     }
1965 }
1966 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IDistList {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1967     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1968         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
1969     }
1970 }
1971 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IDistList {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>1972     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
1973         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
1974     }
1975 }
1976 #[repr(C)]
1977 #[doc(hidden)]
1978 pub struct IDistList_abi(
1979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
1983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
1984     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
1985     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1988     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1989     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
1990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
1993     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
1994     #[cfg(not(feature = "Win32_Foundation"))] usize,
1995     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
1996     #[cfg(not(feature = "Win32_Foundation"))] usize,
1997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2000     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::HRESULT,
2001     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2002     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::HRESULT,
2003     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, ulcreateflags: u32, lppmapipropentry: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpentries: *const SBinaryArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpentries: *const SBinaryArray, ulflags: u32) -> ::windows::runtime::HRESULT,
2007     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *const SPropTagArray, ulflags: u32, lpadrlist: *const ADRLIST, lpflaglist: *mut _flaglist) -> ::windows::runtime::HRESULT,
2008     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2009 );
2010 #[repr(transparent)]
2011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2012 pub struct IMAPIAdviseSink(::windows::runtime::IUnknown);
2013 impl IMAPIAdviseSink {
2014     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
OnNotify(&self, cnotif: u32, lpnotifications: *mut NOTIFICATION) -> u322015     pub unsafe fn OnNotify(&self, cnotif: u32, lpnotifications: *mut NOTIFICATION) -> u32 {
2016         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cnotif), ::std::mem::transmute(lpnotifications)))
2017     }
2018 }
2019 unsafe impl ::windows::runtime::Interface for IMAPIAdviseSink {
2020     type Vtable = IMAPIAdviseSink_abi;
2021     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2022 }
2023 impl ::std::convert::From<IMAPIAdviseSink> for ::windows::runtime::IUnknown {
from(value: IMAPIAdviseSink) -> Self2024     fn from(value: IMAPIAdviseSink) -> Self {
2025         unsafe { ::std::mem::transmute(value) }
2026     }
2027 }
2028 impl ::std::convert::From<&IMAPIAdviseSink> for ::windows::runtime::IUnknown {
from(value: &IMAPIAdviseSink) -> Self2029     fn from(value: &IMAPIAdviseSink) -> Self {
2030         ::std::convert::From::from(::std::clone::Clone::clone(value))
2031     }
2032 }
2033 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPIAdviseSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2034     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2035         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2036     }
2037 }
2038 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPIAdviseSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2039     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2040         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2041     }
2042 }
2043 #[repr(C)]
2044 #[doc(hidden)]
2045 pub struct IMAPIAdviseSink_abi(
2046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2049     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cnotif: u32, lpnotifications: *mut NOTIFICATION) -> u32,
2050     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2051 );
2052 #[repr(transparent)]
2053 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2054 pub struct IMAPIContainer(::windows::runtime::IUnknown);
2055 impl IMAPIContainer {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>2056     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
2057         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
2058     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>2059     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
2060         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
2061     }
2062     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>2063     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
2064         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
2065     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2066     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2067         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
2068     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>2069     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
2070         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
2071     }
2072     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2073     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2074         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
2075     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2076     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2077         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
2078     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2079     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2080         (::windows::runtime::Interface::vtable(self).10)(
2081             ::std::mem::transmute_copy(self),
2082             ::std::mem::transmute(ciidexclude),
2083             ::std::mem::transmute(rgiidexclude),
2084             ::std::mem::transmute(lpexcludeprops),
2085             ::std::mem::transmute(uluiparam),
2086             lpprogress.into_param().abi(),
2087             ::std::mem::transmute(lpinterface),
2088             ::std::mem::transmute(lpdestobj),
2089             ::std::mem::transmute(ulflags),
2090             ::std::mem::transmute(lppproblems),
2091         )
2092         .ok()
2093     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2094     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2095         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
2096     }
2097     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>2098     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
2099         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
2100     }
2101     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2102     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2103         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
2104     }
GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>2105     pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
2106         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2107         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
2108     }
GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>2109     pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
2110         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2111         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
2112     }
OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>2113     pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
2114         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulobjtype), ::std::mem::transmute(lppunk)).ok()
2115     }
2116     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()>2117     pub unsafe fn SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()> {
2118         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(lprestriction), ::std::mem::transmute(lpcontainerlist), ::std::mem::transmute(ulsearchflags)).ok()
2119     }
2120     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()>2121     pub unsafe fn GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()> {
2122         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpprestriction), ::std::mem::transmute(lppcontainerlist), ::std::mem::transmute(lpulsearchstate)).ok()
2123     }
2124 }
2125 unsafe impl ::windows::runtime::Interface for IMAPIContainer {
2126     type Vtable = IMAPIContainer_abi;
2127     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2128 }
2129 impl ::std::convert::From<IMAPIContainer> for ::windows::runtime::IUnknown {
from(value: IMAPIContainer) -> Self2130     fn from(value: IMAPIContainer) -> Self {
2131         unsafe { ::std::mem::transmute(value) }
2132     }
2133 }
2134 impl ::std::convert::From<&IMAPIContainer> for ::windows::runtime::IUnknown {
from(value: &IMAPIContainer) -> Self2135     fn from(value: &IMAPIContainer) -> Self {
2136         ::std::convert::From::from(::std::clone::Clone::clone(value))
2137     }
2138 }
2139 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPIContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2140     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2141         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2142     }
2143 }
2144 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPIContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2145     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2146         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2147     }
2148 }
2149 impl ::std::convert::From<IMAPIContainer> for IMAPIProp {
from(value: IMAPIContainer) -> Self2150     fn from(value: IMAPIContainer) -> Self {
2151         unsafe { ::std::mem::transmute(value) }
2152     }
2153 }
2154 impl ::std::convert::From<&IMAPIContainer> for IMAPIProp {
from(value: &IMAPIContainer) -> Self2155     fn from(value: &IMAPIContainer) -> Self {
2156         ::std::convert::From::from(::std::clone::Clone::clone(value))
2157     }
2158 }
2159 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IMAPIContainer {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>2160     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
2161         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
2162     }
2163 }
2164 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IMAPIContainer {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>2165     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
2166         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
2167     }
2168 }
2169 #[repr(C)]
2170 #[doc(hidden)]
2171 pub struct IMAPIContainer_abi(
2172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
2176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2177     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
2178     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2181     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2182     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2186     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
2187     #[cfg(not(feature = "Win32_Foundation"))] usize,
2188     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2189     #[cfg(not(feature = "Win32_Foundation"))] usize,
2190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2193     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::HRESULT,
2194     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2195     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::HRESULT,
2196     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2197 );
2198 #[repr(transparent)]
2199 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2200 pub struct IMAPIControl(::windows::runtime::IUnknown);
2201 impl IMAPIControl {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32) -> ::windows::runtime::Result<*mut MAPIERROR>2202     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32) -> ::windows::runtime::Result<*mut MAPIERROR> {
2203         let mut result__: <*mut MAPIERROR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2204         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), &mut result__).from_abi::<*mut MAPIERROR>(result__)
2205     }
Activate(&self, ulflags: u32, uluiparam: usize) -> ::windows::runtime::Result<()>2206     pub unsafe fn Activate(&self, ulflags: u32, uluiparam: usize) -> ::windows::runtime::Result<()> {
2207         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(uluiparam)).ok()
2208     }
GetState(&self, ulflags: u32, lpulstate: *mut u32) -> ::windows::runtime::Result<()>2209     pub unsafe fn GetState(&self, ulflags: u32, lpulstate: *mut u32) -> ::windows::runtime::Result<()> {
2210         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulstate)).ok()
2211     }
2212 }
2213 unsafe impl ::windows::runtime::Interface for IMAPIControl {
2214     type Vtable = IMAPIControl_abi;
2215     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2216 }
2217 impl ::std::convert::From<IMAPIControl> for ::windows::runtime::IUnknown {
from(value: IMAPIControl) -> Self2218     fn from(value: IMAPIControl) -> Self {
2219         unsafe { ::std::mem::transmute(value) }
2220     }
2221 }
2222 impl ::std::convert::From<&IMAPIControl> for ::windows::runtime::IUnknown {
from(value: &IMAPIControl) -> Self2223     fn from(value: &IMAPIControl) -> Self {
2224         ::std::convert::From::from(::std::clone::Clone::clone(value))
2225     }
2226 }
2227 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPIControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2228     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2229         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2230     }
2231 }
2232 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPIControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2233     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2234         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2235     }
2236 }
2237 #[repr(C)]
2238 #[doc(hidden)]
2239 pub struct IMAPIControl_abi(
2240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
2244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, uluiparam: usize) -> ::windows::runtime::HRESULT,
2245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpulstate: *mut u32) -> ::windows::runtime::HRESULT,
2246 );
2247 #[repr(transparent)]
2248 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2249 pub struct IMAPIFolder(::windows::runtime::IUnknown);
2250 impl IMAPIFolder {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>2251     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
2252         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
2253     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>2254     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
2255         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
2256     }
2257     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>2258     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
2259         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
2260     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2261     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2262         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
2263     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>2264     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
2265         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
2266     }
2267     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2268     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2269         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
2270     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2271     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2272         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
2273     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2274     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2275         (::windows::runtime::Interface::vtable(self).10)(
2276             ::std::mem::transmute_copy(self),
2277             ::std::mem::transmute(ciidexclude),
2278             ::std::mem::transmute(rgiidexclude),
2279             ::std::mem::transmute(lpexcludeprops),
2280             ::std::mem::transmute(uluiparam),
2281             lpprogress.into_param().abi(),
2282             ::std::mem::transmute(lpinterface),
2283             ::std::mem::transmute(lpdestobj),
2284             ::std::mem::transmute(ulflags),
2285             ::std::mem::transmute(lppproblems),
2286         )
2287         .ok()
2288     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2289     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2290         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
2291     }
2292     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>2293     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
2294         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
2295     }
2296     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2297     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2298         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
2299     }
GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>2300     pub unsafe fn GetContentsTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
2301         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2302         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
2303     }
GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>2304     pub unsafe fn GetHierarchyTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
2305         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2306         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
2307     }
OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>2308     pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
2309         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulobjtype), ::std::mem::transmute(lppunk)).ok()
2310     }
2311     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()>2312     pub unsafe fn SetSearchCriteria(&self, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::Result<()> {
2313         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(lprestriction), ::std::mem::transmute(lpcontainerlist), ::std::mem::transmute(ulsearchflags)).ok()
2314     }
2315     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()>2316     pub unsafe fn GetSearchCriteria(&self, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::Result<()> {
2317         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpprestriction), ::std::mem::transmute(lppcontainerlist), ::std::mem::transmute(lpulsearchstate)).ok()
2318     }
CreateMessage(&self, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lppmessage: *mut ::std::option::Option<IMessage>) -> ::windows::runtime::Result<()>2319     pub unsafe fn CreateMessage(&self, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lppmessage: *mut ::std::option::Option<IMessage>) -> ::windows::runtime::Result<()> {
2320         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmessage)).ok()
2321     }
CopyMessages<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpmsglist: *const SBinaryArray, lpinterface: *const ::windows::runtime::GUID, lpdestfolder: *const ::std::ffi::c_void, uluiparam: usize, lpprogress: Param4, ulflags: u32) -> ::windows::runtime::Result<()>2322     pub unsafe fn CopyMessages<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpmsglist: *const SBinaryArray, lpinterface: *const ::windows::runtime::GUID, lpdestfolder: *const ::std::ffi::c_void, uluiparam: usize, lpprogress: Param4, ulflags: u32) -> ::windows::runtime::Result<()> {
2323         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpmsglist), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestfolder), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
2324     }
DeleteMessages<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpmsglist: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()>2325     pub unsafe fn DeleteMessages<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpmsglist: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()> {
2326         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpmsglist), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
2327     }
CreateFolder(&self, ulfoldertype: u32, lpszfoldername: *const i8, lpszfoldercomment: *const i8, lpinterface: *const ::windows::runtime::GUID, ulflags: u32) -> ::windows::runtime::Result<IMAPIFolder>2328     pub unsafe fn CreateFolder(&self, ulfoldertype: u32, lpszfoldername: *const i8, lpszfoldercomment: *const i8, lpinterface: *const ::windows::runtime::GUID, ulflags: u32) -> ::windows::runtime::Result<IMAPIFolder> {
2329         let mut result__: <IMAPIFolder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2330         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulfoldertype), ::std::mem::transmute(lpszfoldername), ::std::mem::transmute(lpszfoldercomment), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPIFolder>(result__)
2331     }
CopyFolder<'a, Param6: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *const ::windows::runtime::GUID, lpdestfolder: *const ::std::ffi::c_void, lpsznewfoldername: *const i8, uluiparam: usize, lpprogress: Param6, ulflags: u32) -> ::windows::runtime::Result<()>2332     pub unsafe fn CopyFolder<'a, Param6: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *const ::windows::runtime::GUID, lpdestfolder: *const ::std::ffi::c_void, lpsznewfoldername: *const i8, uluiparam: usize, lpprogress: Param6, ulflags: u32) -> ::windows::runtime::Result<()> {
2333         (::windows::runtime::Interface::vtable(self).23)(
2334             ::std::mem::transmute_copy(self),
2335             ::std::mem::transmute(cbentryid),
2336             ::std::mem::transmute(lpentryid),
2337             ::std::mem::transmute(lpinterface),
2338             ::std::mem::transmute(lpdestfolder),
2339             ::std::mem::transmute(lpsznewfoldername),
2340             ::std::mem::transmute(uluiparam),
2341             lpprogress.into_param().abi(),
2342             ::std::mem::transmute(ulflags),
2343         )
2344         .ok()
2345     }
DeleteFolder<'a, Param3: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, cbentryid: u32, lpentryid: *const ENTRYID, uluiparam: usize, lpprogress: Param3, ulflags: u32) -> ::windows::runtime::Result<()>2346     pub unsafe fn DeleteFolder<'a, Param3: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, cbentryid: u32, lpentryid: *const ENTRYID, uluiparam: usize, lpprogress: Param3, ulflags: u32) -> ::windows::runtime::Result<()> {
2347         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
2348     }
SetReadFlags<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpmsglist: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()>2349     pub unsafe fn SetReadFlags<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpmsglist: *const SBinaryArray, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()> {
2350         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpmsglist), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
2351     }
GetMessageStatus(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<u32>2352     pub unsafe fn GetMessageStatus(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<u32> {
2353         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2354         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(ulflags), &mut result__).from_abi::<u32>(result__)
2355     }
SetMessageStatus(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulnewstatus: u32, ulnewstatusmask: u32) -> ::windows::runtime::Result<u32>2356     pub unsafe fn SetMessageStatus(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulnewstatus: u32, ulnewstatusmask: u32) -> ::windows::runtime::Result<u32> {
2357         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2358         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(ulnewstatus), ::std::mem::transmute(ulnewstatusmask), &mut result__).from_abi::<u32>(result__)
2359     }
SaveContentsSort(&self, lpsortcriteria: *const SSortOrderSet, ulflags: u32) -> ::windows::runtime::Result<()>2360     pub unsafe fn SaveContentsSort(&self, lpsortcriteria: *const SSortOrderSet, ulflags: u32) -> ::windows::runtime::Result<()> {
2361         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpsortcriteria), ::std::mem::transmute(ulflags)).ok()
2362     }
EmptyFolder<'a, Param1: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, uluiparam: usize, lpprogress: Param1, ulflags: u32) -> ::windows::runtime::Result<()>2363     pub unsafe fn EmptyFolder<'a, Param1: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, uluiparam: usize, lpprogress: Param1, ulflags: u32) -> ::windows::runtime::Result<()> {
2364         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
2365     }
2366 }
2367 unsafe impl ::windows::runtime::Interface for IMAPIFolder {
2368     type Vtable = IMAPIFolder_abi;
2369     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2370 }
2371 impl ::std::convert::From<IMAPIFolder> for ::windows::runtime::IUnknown {
from(value: IMAPIFolder) -> Self2372     fn from(value: IMAPIFolder) -> Self {
2373         unsafe { ::std::mem::transmute(value) }
2374     }
2375 }
2376 impl ::std::convert::From<&IMAPIFolder> for ::windows::runtime::IUnknown {
from(value: &IMAPIFolder) -> Self2377     fn from(value: &IMAPIFolder) -> Self {
2378         ::std::convert::From::from(::std::clone::Clone::clone(value))
2379     }
2380 }
2381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPIFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2382     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2383         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2384     }
2385 }
2386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPIFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2387     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2388         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2389     }
2390 }
2391 impl ::std::convert::From<IMAPIFolder> for IMAPIContainer {
from(value: IMAPIFolder) -> Self2392     fn from(value: IMAPIFolder) -> Self {
2393         unsafe { ::std::mem::transmute(value) }
2394     }
2395 }
2396 impl ::std::convert::From<&IMAPIFolder> for IMAPIContainer {
from(value: &IMAPIFolder) -> Self2397     fn from(value: &IMAPIFolder) -> Self {
2398         ::std::convert::From::from(::std::clone::Clone::clone(value))
2399     }
2400 }
2401 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIContainer> for IMAPIFolder {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer>2402     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer> {
2403         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIContainer>::into(self))
2404     }
2405 }
2406 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIContainer> for &IMAPIFolder {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer>2407     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIContainer> {
2408         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIContainer>::into(::std::clone::Clone::clone(self)))
2409     }
2410 }
2411 impl ::std::convert::From<IMAPIFolder> for IMAPIProp {
from(value: IMAPIFolder) -> Self2412     fn from(value: IMAPIFolder) -> Self {
2413         unsafe { ::std::mem::transmute(value) }
2414     }
2415 }
2416 impl ::std::convert::From<&IMAPIFolder> for IMAPIProp {
from(value: &IMAPIFolder) -> Self2417     fn from(value: &IMAPIFolder) -> Self {
2418         ::std::convert::From::from(::std::clone::Clone::clone(value))
2419     }
2420 }
2421 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IMAPIFolder {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>2422     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
2423         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
2424     }
2425 }
2426 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IMAPIFolder {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>2427     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
2428         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
2429     }
2430 }
2431 #[repr(C)]
2432 #[doc(hidden)]
2433 pub struct IMAPIFolder_abi(
2434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
2438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2439     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
2440     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2443     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2444     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2448     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
2449     #[cfg(not(feature = "Win32_Foundation"))] usize,
2450     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2451     #[cfg(not(feature = "Win32_Foundation"))] usize,
2452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2455     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lprestriction: *const SRestriction, lpcontainerlist: *const SBinaryArray, ulsearchflags: u32) -> ::windows::runtime::HRESULT,
2456     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2457     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpprestriction: *mut *mut SRestriction, lppcontainerlist: *mut *mut SBinaryArray, lpulsearchstate: *mut u32) -> ::windows::runtime::HRESULT,
2458     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, ulflags: u32, lppmessage: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpmsglist: *const SBinaryArray, lpinterface: *const ::windows::runtime::GUID, lpdestfolder: *const ::std::ffi::c_void, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpmsglist: *const SBinaryArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulfoldertype: u32, lpszfoldername: *const i8, lpszfoldercomment: *const i8, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lppfolder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *const ::windows::runtime::GUID, lpdestfolder: *const ::std::ffi::c_void, lpsznewfoldername: *const i8, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpmsglist: *const SBinaryArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, ulflags: u32, lpulmessagestatus: *mut u32) -> ::windows::runtime::HRESULT,
2467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, ulnewstatus: u32, ulnewstatusmask: u32, lpuloldstatus: *mut u32) -> ::windows::runtime::HRESULT,
2468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpsortcriteria: *const SSortOrderSet, ulflags: u32) -> ::windows::runtime::HRESULT,
2469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2470 );
2471 #[repr(transparent)]
2472 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2473 pub struct IMAPIProgress(::windows::runtime::IUnknown);
2474 impl IMAPIProgress {
Progress(&self, ulvalue: u32, ulcount: u32, ultotal: u32) -> ::windows::runtime::Result<()>2475     pub unsafe fn Progress(&self, ulvalue: u32, ulcount: u32, ultotal: u32) -> ::windows::runtime::Result<()> {
2476         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulvalue), ::std::mem::transmute(ulcount), ::std::mem::transmute(ultotal)).ok()
2477     }
GetFlags(&self, lpulflags: *mut u32) -> ::windows::runtime::Result<()>2478     pub unsafe fn GetFlags(&self, lpulflags: *mut u32) -> ::windows::runtime::Result<()> {
2479         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpulflags)).ok()
2480     }
GetMax(&self, lpulmax: *mut u32) -> ::windows::runtime::Result<()>2481     pub unsafe fn GetMax(&self, lpulmax: *mut u32) -> ::windows::runtime::Result<()> {
2482         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpulmax)).ok()
2483     }
GetMin(&self, lpulmin: *mut u32) -> ::windows::runtime::Result<()>2484     pub unsafe fn GetMin(&self, lpulmin: *mut u32) -> ::windows::runtime::Result<()> {
2485         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpulmin)).ok()
2486     }
SetLimits(&self, lpulmin: *mut u32, lpulmax: *mut u32, lpulflags: *mut u32) -> ::windows::runtime::Result<()>2487     pub unsafe fn SetLimits(&self, lpulmin: *mut u32, lpulmax: *mut u32, lpulflags: *mut u32) -> ::windows::runtime::Result<()> {
2488         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpulmin), ::std::mem::transmute(lpulmax), ::std::mem::transmute(lpulflags)).ok()
2489     }
2490 }
2491 unsafe impl ::windows::runtime::Interface for IMAPIProgress {
2492     type Vtable = IMAPIProgress_abi;
2493     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2494 }
2495 impl ::std::convert::From<IMAPIProgress> for ::windows::runtime::IUnknown {
from(value: IMAPIProgress) -> Self2496     fn from(value: IMAPIProgress) -> Self {
2497         unsafe { ::std::mem::transmute(value) }
2498     }
2499 }
2500 impl ::std::convert::From<&IMAPIProgress> for ::windows::runtime::IUnknown {
from(value: &IMAPIProgress) -> Self2501     fn from(value: &IMAPIProgress) -> Self {
2502         ::std::convert::From::from(::std::clone::Clone::clone(value))
2503     }
2504 }
2505 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPIProgress {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2506     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2507         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2508     }
2509 }
2510 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPIProgress {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2511     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2512         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2513     }
2514 }
2515 #[repr(C)]
2516 #[doc(hidden)]
2517 pub struct IMAPIProgress_abi(
2518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulvalue: u32, ulcount: u32, ultotal: u32) -> ::windows::runtime::HRESULT,
2522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpulflags: *mut u32) -> ::windows::runtime::HRESULT,
2523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpulmax: *mut u32) -> ::windows::runtime::HRESULT,
2524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpulmin: *mut u32) -> ::windows::runtime::HRESULT,
2525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpulmin: *mut u32, lpulmax: *mut u32, lpulflags: *mut u32) -> ::windows::runtime::HRESULT,
2526 );
2527 #[repr(transparent)]
2528 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2529 pub struct IMAPIProp(::windows::runtime::IUnknown);
2530 impl IMAPIProp {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>2531     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
2532         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
2533     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>2534     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
2535         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
2536     }
2537     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>2538     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
2539         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
2540     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2541     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2542         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
2543     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>2544     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
2545         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
2546     }
2547     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2548     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2549         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
2550     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2551     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2552         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
2553     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2554     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2555         (::windows::runtime::Interface::vtable(self).10)(
2556             ::std::mem::transmute_copy(self),
2557             ::std::mem::transmute(ciidexclude),
2558             ::std::mem::transmute(rgiidexclude),
2559             ::std::mem::transmute(lpexcludeprops),
2560             ::std::mem::transmute(uluiparam),
2561             lpprogress.into_param().abi(),
2562             ::std::mem::transmute(lpinterface),
2563             ::std::mem::transmute(lpdestobj),
2564             ::std::mem::transmute(ulflags),
2565             ::std::mem::transmute(lppproblems),
2566         )
2567         .ok()
2568     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2569     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2570         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
2571     }
2572     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>2573     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
2574         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
2575     }
2576     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2577     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2578         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
2579     }
2580 }
2581 unsafe impl ::windows::runtime::Interface for IMAPIProp {
2582     type Vtable = IMAPIProp_abi;
2583     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2584 }
2585 impl ::std::convert::From<IMAPIProp> for ::windows::runtime::IUnknown {
from(value: IMAPIProp) -> Self2586     fn from(value: IMAPIProp) -> Self {
2587         unsafe { ::std::mem::transmute(value) }
2588     }
2589 }
2590 impl ::std::convert::From<&IMAPIProp> for ::windows::runtime::IUnknown {
from(value: &IMAPIProp) -> Self2591     fn from(value: &IMAPIProp) -> Self {
2592         ::std::convert::From::from(::std::clone::Clone::clone(value))
2593     }
2594 }
2595 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPIProp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2596     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2597         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2598     }
2599 }
2600 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPIProp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2601     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2602         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2603     }
2604 }
2605 #[repr(C)]
2606 #[doc(hidden)]
2607 pub struct IMAPIProp_abi(
2608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
2612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2613     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
2614     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2617     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2618     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2622     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
2623     #[cfg(not(feature = "Win32_Foundation"))] usize,
2624     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2625     #[cfg(not(feature = "Win32_Foundation"))] usize,
2626 );
2627 #[repr(transparent)]
2628 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2629 pub struct IMAPIStatus(::windows::runtime::IUnknown);
2630 impl IMAPIStatus {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>2631     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
2632         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
2633     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>2634     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
2635         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
2636     }
2637     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>2638     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
2639         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
2640     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2641     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2642         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
2643     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>2644     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
2645         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
2646     }
2647     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2648     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2649         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
2650     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2651     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2652         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
2653     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2654     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2655         (::windows::runtime::Interface::vtable(self).10)(
2656             ::std::mem::transmute_copy(self),
2657             ::std::mem::transmute(ciidexclude),
2658             ::std::mem::transmute(rgiidexclude),
2659             ::std::mem::transmute(lpexcludeprops),
2660             ::std::mem::transmute(uluiparam),
2661             lpprogress.into_param().abi(),
2662             ::std::mem::transmute(lpinterface),
2663             ::std::mem::transmute(lpdestobj),
2664             ::std::mem::transmute(ulflags),
2665             ::std::mem::transmute(lppproblems),
2666         )
2667         .ok()
2668     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2669     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2670         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
2671     }
2672     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>2673     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
2674         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
2675     }
2676     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2677     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2678         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
2679     }
ValidateState(&self, uluiparam: usize, ulflags: u32) -> ::windows::runtime::Result<()>2680     pub unsafe fn ValidateState(&self, uluiparam: usize, ulflags: u32) -> ::windows::runtime::Result<()> {
2681         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(uluiparam), ::std::mem::transmute(ulflags)).ok()
2682     }
SettingsDialog(&self, uluiparam: usize, ulflags: u32) -> ::windows::runtime::Result<()>2683     pub unsafe fn SettingsDialog(&self, uluiparam: usize, ulflags: u32) -> ::windows::runtime::Result<()> {
2684         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(uluiparam), ::std::mem::transmute(ulflags)).ok()
2685     }
ChangePassword(&self, lpoldpass: *const i8, lpnewpass: *const i8, ulflags: u32) -> ::windows::runtime::Result<()>2686     pub unsafe fn ChangePassword(&self, lpoldpass: *const i8, lpnewpass: *const i8, ulflags: u32) -> ::windows::runtime::Result<()> {
2687         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpoldpass), ::std::mem::transmute(lpnewpass), ::std::mem::transmute(ulflags)).ok()
2688     }
FlushQueues(&self, uluiparam: usize, cbtargettransport: u32, lptargettransport: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<()>2689     pub unsafe fn FlushQueues(&self, uluiparam: usize, cbtargettransport: u32, lptargettransport: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<()> {
2690         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(uluiparam), ::std::mem::transmute(cbtargettransport), ::std::mem::transmute(lptargettransport), ::std::mem::transmute(ulflags)).ok()
2691     }
2692 }
2693 unsafe impl ::windows::runtime::Interface for IMAPIStatus {
2694     type Vtable = IMAPIStatus_abi;
2695     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2696 }
2697 impl ::std::convert::From<IMAPIStatus> for ::windows::runtime::IUnknown {
from(value: IMAPIStatus) -> Self2698     fn from(value: IMAPIStatus) -> Self {
2699         unsafe { ::std::mem::transmute(value) }
2700     }
2701 }
2702 impl ::std::convert::From<&IMAPIStatus> for ::windows::runtime::IUnknown {
from(value: &IMAPIStatus) -> Self2703     fn from(value: &IMAPIStatus) -> Self {
2704         ::std::convert::From::from(::std::clone::Clone::clone(value))
2705     }
2706 }
2707 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPIStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2708     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2709         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2710     }
2711 }
2712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPIStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2714         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2715     }
2716 }
2717 impl ::std::convert::From<IMAPIStatus> for IMAPIProp {
from(value: IMAPIStatus) -> Self2718     fn from(value: IMAPIStatus) -> Self {
2719         unsafe { ::std::mem::transmute(value) }
2720     }
2721 }
2722 impl ::std::convert::From<&IMAPIStatus> for IMAPIProp {
from(value: &IMAPIStatus) -> Self2723     fn from(value: &IMAPIStatus) -> Self {
2724         ::std::convert::From::from(::std::clone::Clone::clone(value))
2725     }
2726 }
2727 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IMAPIStatus {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>2728     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
2729         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
2730     }
2731 }
2732 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IMAPIStatus {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>2733     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
2734         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
2735     }
2736 }
2737 #[repr(C)]
2738 #[doc(hidden)]
2739 pub struct IMAPIStatus_abi(
2740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
2744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
2745     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
2746     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2749     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2750     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
2754     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
2755     #[cfg(not(feature = "Win32_Foundation"))] usize,
2756     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2757     #[cfg(not(feature = "Win32_Foundation"))] usize,
2758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uluiparam: usize, ulflags: u32) -> ::windows::runtime::HRESULT,
2759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uluiparam: usize, ulflags: u32) -> ::windows::runtime::HRESULT,
2760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpoldpass: *const i8, lpnewpass: *const i8, ulflags: u32) -> ::windows::runtime::HRESULT,
2761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uluiparam: usize, cbtargettransport: u32, lptargettransport: *const ENTRYID, ulflags: u32) -> ::windows::runtime::HRESULT,
2762 );
2763 #[repr(transparent)]
2764 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2765 pub struct IMAPITable(::windows::runtime::IUnknown);
2766 impl IMAPITable {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>2767     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
2768         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
2769     }
Advise<'a, Param1: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(&self, uleventmask: u32, lpadvisesink: Param1, lpulconnection: *mut u32) -> ::windows::runtime::Result<()>2770     pub unsafe fn Advise<'a, Param1: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(&self, uleventmask: u32, lpadvisesink: Param1, lpulconnection: *mut u32) -> ::windows::runtime::Result<()> {
2771         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(uleventmask), lpadvisesink.into_param().abi(), ::std::mem::transmute(lpulconnection)).ok()
2772     }
Unadvise(&self, ulconnection: u32) -> ::windows::runtime::Result<()>2773     pub unsafe fn Unadvise(&self, ulconnection: u32) -> ::windows::runtime::Result<()> {
2774         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulconnection)).ok()
2775     }
GetStatus(&self, lpultablestatus: *mut u32, lpultabletype: *mut u32) -> ::windows::runtime::Result<()>2776     pub unsafe fn GetStatus(&self, lpultablestatus: *mut u32, lpultabletype: *mut u32) -> ::windows::runtime::Result<()> {
2777         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpultablestatus), ::std::mem::transmute(lpultabletype)).ok()
2778     }
SetColumns(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32) -> ::windows::runtime::Result<()>2779     pub unsafe fn SetColumns(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32) -> ::windows::runtime::Result<()> {
2780         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags)).ok()
2781     }
QueryColumns(&self, ulflags: u32, lpproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2782     pub unsafe fn QueryColumns(&self, ulflags: u32, lpproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2783         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpproptagarray)).ok()
2784     }
GetRowCount(&self, ulflags: u32, lpulcount: *mut u32) -> ::windows::runtime::Result<()>2785     pub unsafe fn GetRowCount(&self, ulflags: u32, lpulcount: *mut u32) -> ::windows::runtime::Result<()> {
2786         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulcount)).ok()
2787     }
SeekRow(&self, bkorigin: u32, lrowcount: i32, lplrowssought: *mut i32) -> ::windows::runtime::Result<()>2788     pub unsafe fn SeekRow(&self, bkorigin: u32, lrowcount: i32, lplrowssought: *mut i32) -> ::windows::runtime::Result<()> {
2789         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(bkorigin), ::std::mem::transmute(lrowcount), ::std::mem::transmute(lplrowssought)).ok()
2790     }
SeekRowApprox(&self, ulnumerator: u32, uldenominator: u32) -> ::windows::runtime::Result<()>2791     pub unsafe fn SeekRowApprox(&self, ulnumerator: u32, uldenominator: u32) -> ::windows::runtime::Result<()> {
2792         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulnumerator), ::std::mem::transmute(uldenominator)).ok()
2793     }
QueryPosition(&self, lpulrow: *mut u32, lpulnumerator: *mut u32, lpuldenominator: *mut u32) -> ::windows::runtime::Result<()>2794     pub unsafe fn QueryPosition(&self, lpulrow: *mut u32, lpulnumerator: *mut u32, lpuldenominator: *mut u32) -> ::windows::runtime::Result<()> {
2795         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpulrow), ::std::mem::transmute(lpulnumerator), ::std::mem::transmute(lpuldenominator)).ok()
2796     }
2797     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
FindRow(&self, lprestriction: *mut SRestriction, bkorigin: u32, ulflags: u32) -> ::windows::runtime::Result<()>2798     pub unsafe fn FindRow(&self, lprestriction: *mut SRestriction, bkorigin: u32, ulflags: u32) -> ::windows::runtime::Result<()> {
2799         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(lprestriction), ::std::mem::transmute(bkorigin), ::std::mem::transmute(ulflags)).ok()
2800     }
2801     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Restrict(&self, lprestriction: *mut SRestriction, ulflags: u32) -> ::windows::runtime::Result<()>2802     pub unsafe fn Restrict(&self, lprestriction: *mut SRestriction, ulflags: u32) -> ::windows::runtime::Result<()> {
2803         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(lprestriction), ::std::mem::transmute(ulflags)).ok()
2804     }
CreateBookmark(&self, lpbkposition: *mut u32) -> ::windows::runtime::Result<()>2805     pub unsafe fn CreateBookmark(&self, lpbkposition: *mut u32) -> ::windows::runtime::Result<()> {
2806         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpbkposition)).ok()
2807     }
FreeBookmark(&self, bkposition: u32) -> ::windows::runtime::Result<()>2808     pub unsafe fn FreeBookmark(&self, bkposition: u32) -> ::windows::runtime::Result<()> {
2809         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(bkposition)).ok()
2810     }
SortTable(&self, lpsortcriteria: *mut SSortOrderSet, ulflags: u32) -> ::windows::runtime::Result<()>2811     pub unsafe fn SortTable(&self, lpsortcriteria: *mut SSortOrderSet, ulflags: u32) -> ::windows::runtime::Result<()> {
2812         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpsortcriteria), ::std::mem::transmute(ulflags)).ok()
2813     }
QuerySortOrder(&self, lppsortcriteria: *mut *mut SSortOrderSet) -> ::windows::runtime::Result<()>2814     pub unsafe fn QuerySortOrder(&self, lppsortcriteria: *mut *mut SSortOrderSet) -> ::windows::runtime::Result<()> {
2815         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppsortcriteria)).ok()
2816     }
2817     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
QueryRows(&self, lrowcount: i32, ulflags: u32, lpprows: *mut *mut SRowSet) -> ::windows::runtime::Result<()>2818     pub unsafe fn QueryRows(&self, lrowcount: i32, ulflags: u32, lpprows: *mut *mut SRowSet) -> ::windows::runtime::Result<()> {
2819         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(lrowcount), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpprows)).ok()
2820     }
Abort(&self) -> ::windows::runtime::Result<()>2821     pub unsafe fn Abort(&self) -> ::windows::runtime::Result<()> {
2822         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self)).ok()
2823     }
2824     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
ExpandRow(&self, cbinstancekey: u32, pbinstancekey: *mut u8, ulrowcount: u32, ulflags: u32, lpprows: *mut *mut SRowSet, lpulmorerows: *mut u32) -> ::windows::runtime::Result<()>2825     pub unsafe fn ExpandRow(&self, cbinstancekey: u32, pbinstancekey: *mut u8, ulrowcount: u32, ulflags: u32, lpprows: *mut *mut SRowSet, lpulmorerows: *mut u32) -> ::windows::runtime::Result<()> {
2826         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbinstancekey), ::std::mem::transmute(pbinstancekey), ::std::mem::transmute(ulrowcount), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpprows), ::std::mem::transmute(lpulmorerows)).ok()
2827     }
CollapseRow(&self, cbinstancekey: u32, pbinstancekey: *mut u8, ulflags: u32, lpulrowcount: *mut u32) -> ::windows::runtime::Result<()>2828     pub unsafe fn CollapseRow(&self, cbinstancekey: u32, pbinstancekey: *mut u8, ulflags: u32, lpulrowcount: *mut u32) -> ::windows::runtime::Result<()> {
2829         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbinstancekey), ::std::mem::transmute(pbinstancekey), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulrowcount)).ok()
2830     }
WaitForCompletion(&self, ulflags: u32, ultimeout: u32, lpultablestatus: *mut u32) -> ::windows::runtime::Result<()>2831     pub unsafe fn WaitForCompletion(&self, ulflags: u32, ultimeout: u32, lpultablestatus: *mut u32) -> ::windows::runtime::Result<()> {
2832         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(ultimeout), ::std::mem::transmute(lpultablestatus)).ok()
2833     }
GetCollapseState(&self, ulflags: u32, cbinstancekey: u32, lpbinstancekey: *mut u8, lpcbcollapsestate: *mut u32, lppbcollapsestate: *mut *mut u8) -> ::windows::runtime::Result<()>2834     pub unsafe fn GetCollapseState(&self, ulflags: u32, cbinstancekey: u32, lpbinstancekey: *mut u8, lpcbcollapsestate: *mut u32, lppbcollapsestate: *mut *mut u8) -> ::windows::runtime::Result<()> {
2835         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(cbinstancekey), ::std::mem::transmute(lpbinstancekey), ::std::mem::transmute(lpcbcollapsestate), ::std::mem::transmute(lppbcollapsestate)).ok()
2836     }
SetCollapseState(&self, ulflags: u32, cbcollapsestate: u32, pbcollapsestate: *mut u8, lpbklocation: *mut u32) -> ::windows::runtime::Result<()>2837     pub unsafe fn SetCollapseState(&self, ulflags: u32, cbcollapsestate: u32, pbcollapsestate: *mut u8, lpbklocation: *mut u32) -> ::windows::runtime::Result<()> {
2838         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(cbcollapsestate), ::std::mem::transmute(pbcollapsestate), ::std::mem::transmute(lpbklocation)).ok()
2839     }
2840 }
2841 unsafe impl ::windows::runtime::Interface for IMAPITable {
2842     type Vtable = IMAPITable_abi;
2843     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
2844 }
2845 impl ::std::convert::From<IMAPITable> for ::windows::runtime::IUnknown {
from(value: IMAPITable) -> Self2846     fn from(value: IMAPITable) -> Self {
2847         unsafe { ::std::mem::transmute(value) }
2848     }
2849 }
2850 impl ::std::convert::From<&IMAPITable> for ::windows::runtime::IUnknown {
from(value: &IMAPITable) -> Self2851     fn from(value: &IMAPITable) -> Self {
2852         ::std::convert::From::from(::std::clone::Clone::clone(value))
2853     }
2854 }
2855 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMAPITable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2856     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2857         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2858     }
2859 }
2860 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMAPITable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2861     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2862         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2863     }
2864 }
2865 #[repr(C)]
2866 #[doc(hidden)]
2867 pub struct IMAPITable_abi(
2868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
2872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uleventmask: u32, lpadvisesink: ::windows::runtime::RawPtr, lpulconnection: *mut u32) -> ::windows::runtime::HRESULT,
2873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulconnection: u32) -> ::windows::runtime::HRESULT,
2874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpultablestatus: *mut u32, lpultabletype: *mut u32) -> ::windows::runtime::HRESULT,
2875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32) -> ::windows::runtime::HRESULT,
2876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
2877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpulcount: *mut u32) -> ::windows::runtime::HRESULT,
2878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bkorigin: u32, lrowcount: i32, lplrowssought: *mut i32) -> ::windows::runtime::HRESULT,
2879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulnumerator: u32, uldenominator: u32) -> ::windows::runtime::HRESULT,
2880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpulrow: *mut u32, lpulnumerator: *mut u32, lpuldenominator: *mut u32) -> ::windows::runtime::HRESULT,
2881     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lprestriction: *mut SRestriction, bkorigin: u32, ulflags: u32) -> ::windows::runtime::HRESULT,
2882     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2883     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lprestriction: *mut SRestriction, ulflags: u32) -> ::windows::runtime::HRESULT,
2884     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpbkposition: *mut u32) -> ::windows::runtime::HRESULT,
2886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bkposition: u32) -> ::windows::runtime::HRESULT,
2887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpsortcriteria: *mut SSortOrderSet, ulflags: u32) -> ::windows::runtime::HRESULT,
2888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppsortcriteria: *mut *mut SSortOrderSet) -> ::windows::runtime::HRESULT,
2889     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lrowcount: i32, ulflags: u32, lpprows: *mut *mut SRowSet) -> ::windows::runtime::HRESULT,
2890     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2892     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbinstancekey: u32, pbinstancekey: *mut u8, ulrowcount: u32, ulflags: u32, lpprows: *mut *mut SRowSet, lpulmorerows: *mut u32) -> ::windows::runtime::HRESULT,
2893     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
2894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbinstancekey: u32, pbinstancekey: *mut u8, ulflags: u32, lpulrowcount: *mut u32) -> ::windows::runtime::HRESULT,
2895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, ultimeout: u32, lpultablestatus: *mut u32) -> ::windows::runtime::HRESULT,
2896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, cbinstancekey: u32, lpbinstancekey: *mut u8, lpcbcollapsestate: *mut u32, lppbcollapsestate: *mut *mut u8) -> ::windows::runtime::HRESULT,
2897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, cbcollapsestate: u32, pbcollapsestate: *mut u8, lpbklocation: *mut u32) -> ::windows::runtime::HRESULT,
2898 );
2899 pub const IMAPI_E_BAD_MULTISESSION_PARAMETER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555294i32 as _);
2900 pub const IMAPI_E_BOOT_EMULATION_IMAGE_SIZE_MISMATCH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555318i32 as _);
2901 pub const IMAPI_E_BOOT_IMAGE_DATA: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555320i32 as _);
2902 pub const IMAPI_E_BOOT_OBJECT_CONFLICT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555319i32 as _);
2903 pub const IMAPI_E_DATA_STREAM_CREATE_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555350i32 as _);
2904 pub const IMAPI_E_DATA_STREAM_INCONSISTENCY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555352i32 as _);
2905 pub const IMAPI_E_DATA_STREAM_READ_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555351i32 as _);
2906 pub const IMAPI_E_DATA_TOO_BIG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555342i32 as _);
2907 pub const IMAPI_E_DIRECTORY_READ_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555349i32 as _);
2908 pub const IMAPI_E_DIR_NOT_EMPTY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555382i32 as _);
2909 pub const IMAPI_E_DIR_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555366i32 as _);
2910 pub const IMAPI_E_DISC_MISMATCH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555304i32 as _);
2911 pub const IMAPI_E_DUP_NAME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555374i32 as _);
2912 pub const IMAPI_E_EMPTY_DISC: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555312i32 as _);
2913 pub const IMAPI_E_FILE_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555367i32 as _);
2914 pub const IMAPI_E_FILE_SYSTEM_CHANGE_NOT_ALLOWED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555293i32 as _);
2915 pub const IMAPI_E_FILE_SYSTEM_FEATURE_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555308i32 as _);
2916 pub const IMAPI_E_FILE_SYSTEM_NOT_EMPTY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555386i32 as _);
2917 pub const IMAPI_E_FILE_SYSTEM_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555310i32 as _);
2918 pub const IMAPI_E_FILE_SYSTEM_READ_CONSISTENCY_ERROR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555309i32 as _);
2919 pub const IMAPI_E_FSI_INTERNAL_ERROR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555392i32 as _);
2920 pub const IMAPI_E_IMAGEMANAGER_IMAGE_NOT_ALIGNED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555136i32 as _);
2921 pub const IMAPI_E_IMAGEMANAGER_IMAGE_TOO_BIG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555133i32 as _);
2922 pub const IMAPI_E_IMAGEMANAGER_NO_IMAGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555134i32 as _);
2923 pub const IMAPI_E_IMAGEMANAGER_NO_VALID_VD_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555135i32 as _);
2924 pub const IMAPI_E_IMAGE_SIZE_LIMIT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555360i32 as _);
2925 pub const IMAPI_E_IMAGE_TOO_BIG: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555359i32 as _);
2926 pub const IMAPI_E_IMPORT_MEDIA_NOT_ALLOWED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555303i32 as _);
2927 pub const IMAPI_E_IMPORT_READ_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555305i32 as _);
2928 pub const IMAPI_E_IMPORT_SEEK_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555306i32 as _);
2929 pub const IMAPI_E_IMPORT_TYPE_COLLISION_DIRECTORY_EXISTS_AS_FILE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555298i32 as _);
2930 pub const IMAPI_E_IMPORT_TYPE_COLLISION_FILE_EXISTS_AS_DIRECTORY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555307i32 as _);
2931 pub const IMAPI_E_INCOMPATIBLE_MULTISESSION_TYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555301i32 as _);
2932 pub const IMAPI_E_INCOMPATIBLE_PREVIOUS_SESSION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555341i32 as _);
2933 pub const IMAPI_E_INVALID_DATE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555387i32 as _);
2934 pub const IMAPI_E_INVALID_PARAM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555391i32 as _);
2935 pub const IMAPI_E_INVALID_PATH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555376i32 as _);
2936 pub const IMAPI_E_INVALID_VOLUME_NAME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555388i32 as _);
2937 pub const IMAPI_E_INVALID_WORKING_DIRECTORY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555328i32 as _);
2938 pub const IMAPI_E_ISO9660_LEVELS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555343i32 as _);
2939 pub const IMAPI_E_ITEM_NOT_FOUND: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555368i32 as _);
2940 pub const IMAPI_E_MULTISESSION_NOT_SET: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555299i32 as _);
2941 pub const IMAPI_E_NOT_DIR: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555383i32 as _);
2942 pub const IMAPI_E_NOT_FILE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555384i32 as _);
2943 pub const IMAPI_E_NOT_IN_FILE_SYSTEM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555381i32 as _);
2944 pub const IMAPI_E_NO_COMPATIBLE_MULTISESSION_TYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555300i32 as _);
2945 pub const IMAPI_E_NO_OUTPUT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555389i32 as _);
2946 pub const IMAPI_E_NO_SUPPORTED_FILE_SYSTEM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555311i32 as _);
2947 pub const IMAPI_E_NO_UNIQUE_NAME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555373i32 as _);
2948 pub const IMAPI_E_PROPERTY_NOT_ACCESSIBLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555296i32 as _);
2949 pub const IMAPI_E_READONLY: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555390i32 as _);
2950 pub const IMAPI_E_RESTRICTED_NAME_VIOLATION: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555375i32 as _);
2951 pub const IMAPI_E_STASHFILE_MOVE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555326i32 as _);
2952 pub const IMAPI_E_STASHFILE_OPEN_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555336i32 as _);
2953 pub const IMAPI_E_STASHFILE_READ_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555333i32 as _);
2954 pub const IMAPI_E_STASHFILE_SEEK_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555335i32 as _);
2955 pub const IMAPI_E_STASHFILE_WRITE_FAILURE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555334i32 as _);
2956 pub const IMAPI_E_TOO_MANY_DIRS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555344i32 as _);
2957 pub const IMAPI_E_UDF_NOT_WRITE_COMPATIBLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555302i32 as _);
2958 pub const IMAPI_E_UDF_REVISION_CHANGE_NOT_ALLOWED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555295i32 as _);
2959 pub const IMAPI_E_WORKING_DIRECTORY_SPACE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-1062555327i32 as _);
2960 pub const IMAPI_S_IMAGE_FEATURE_NOT_SUPPORTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(11186527i32 as _);
2961 #[repr(transparent)]
2962 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2963 pub struct IMailUser(::windows::runtime::IUnknown);
2964 impl IMailUser {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>2965     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
2966         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
2967     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>2968     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
2969         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
2970     }
2971     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>2972     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
2973         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
2974     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>2975     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
2976         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
2977     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>2978     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
2979         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
2980     }
2981     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2982     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2983         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
2984     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2985     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2986         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
2987     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>2988     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
2989         (::windows::runtime::Interface::vtable(self).10)(
2990             ::std::mem::transmute_copy(self),
2991             ::std::mem::transmute(ciidexclude),
2992             ::std::mem::transmute(rgiidexclude),
2993             ::std::mem::transmute(lpexcludeprops),
2994             ::std::mem::transmute(uluiparam),
2995             lpprogress.into_param().abi(),
2996             ::std::mem::transmute(lpinterface),
2997             ::std::mem::transmute(lpdestobj),
2998             ::std::mem::transmute(ulflags),
2999             ::std::mem::transmute(lppproblems),
3000         )
3001         .ok()
3002     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3003     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3004         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
3005     }
3006     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>3007     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
3008         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
3009     }
3010     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3011     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3012         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
3013     }
3014 }
3015 unsafe impl ::windows::runtime::Interface for IMailUser {
3016     type Vtable = IMailUser_abi;
3017     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3018 }
3019 impl ::std::convert::From<IMailUser> for ::windows::runtime::IUnknown {
from(value: IMailUser) -> Self3020     fn from(value: IMailUser) -> Self {
3021         unsafe { ::std::mem::transmute(value) }
3022     }
3023 }
3024 impl ::std::convert::From<&IMailUser> for ::windows::runtime::IUnknown {
from(value: &IMailUser) -> Self3025     fn from(value: &IMailUser) -> Self {
3026         ::std::convert::From::from(::std::clone::Clone::clone(value))
3027     }
3028 }
3029 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMailUser {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3030     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3031         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3032     }
3033 }
3034 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMailUser {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3035     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3036         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3037     }
3038 }
3039 impl ::std::convert::From<IMailUser> for IMAPIProp {
from(value: IMailUser) -> Self3040     fn from(value: IMailUser) -> Self {
3041         unsafe { ::std::mem::transmute(value) }
3042     }
3043 }
3044 impl ::std::convert::From<&IMailUser> for IMAPIProp {
from(value: &IMailUser) -> Self3045     fn from(value: &IMailUser) -> Self {
3046         ::std::convert::From::from(::std::clone::Clone::clone(value))
3047     }
3048 }
3049 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IMailUser {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3050     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3051         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
3052     }
3053 }
3054 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IMailUser {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3055     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3056         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
3057     }
3058 }
3059 #[repr(C)]
3060 #[doc(hidden)]
3061 pub struct IMailUser_abi(
3062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
3066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3067     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
3068     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3071     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3072     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3076     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
3077     #[cfg(not(feature = "Win32_Foundation"))] usize,
3078     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3079     #[cfg(not(feature = "Win32_Foundation"))] usize,
3080 );
3081 #[repr(transparent)]
3082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3083 pub struct IMessage(::windows::runtime::IUnknown);
3084 impl IMessage {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>3085     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
3086         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
3087     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>3088     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
3089         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
3090     }
3091     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>3092     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
3093         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
3094     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3095     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3096         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
3097     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>3098     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
3099         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
3100     }
3101     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3102     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3103         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
3104     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3105     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3106         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
3107     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3108     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3109         (::windows::runtime::Interface::vtable(self).10)(
3110             ::std::mem::transmute_copy(self),
3111             ::std::mem::transmute(ciidexclude),
3112             ::std::mem::transmute(rgiidexclude),
3113             ::std::mem::transmute(lpexcludeprops),
3114             ::std::mem::transmute(uluiparam),
3115             lpprogress.into_param().abi(),
3116             ::std::mem::transmute(lpinterface),
3117             ::std::mem::transmute(lpdestobj),
3118             ::std::mem::transmute(ulflags),
3119             ::std::mem::transmute(lppproblems),
3120         )
3121         .ok()
3122     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3123     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3124         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
3125     }
3126     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>3127     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
3128         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
3129     }
3130     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3131     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3132         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
3133     }
GetAttachmentTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>3134     pub unsafe fn GetAttachmentTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
3135         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3136         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
3137     }
OpenAttach(&self, ulattachmentnum: u32, lpinterface: *const ::windows::runtime::GUID, ulflags: u32) -> ::windows::runtime::Result<IAttach>3138     pub unsafe fn OpenAttach(&self, ulattachmentnum: u32, lpinterface: *const ::windows::runtime::GUID, ulflags: u32) -> ::windows::runtime::Result<IAttach> {
3139         let mut result__: <IAttach as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3140         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulattachmentnum), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IAttach>(result__)
3141     }
CreateAttach(&self, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lpulattachmentnum: *mut u32, lppattach: *mut ::std::option::Option<IAttach>) -> ::windows::runtime::Result<()>3142     pub unsafe fn CreateAttach(&self, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lpulattachmentnum: *mut u32, lppattach: *mut ::std::option::Option<IAttach>) -> ::windows::runtime::Result<()> {
3143         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulattachmentnum), ::std::mem::transmute(lppattach)).ok()
3144     }
DeleteAttach<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ulattachmentnum: u32, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()>3145     pub unsafe fn DeleteAttach<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ulattachmentnum: u32, uluiparam: usize, lpprogress: Param2, ulflags: u32) -> ::windows::runtime::Result<()> {
3146         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulattachmentnum), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(ulflags)).ok()
3147     }
GetRecipientTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>3148     pub unsafe fn GetRecipientTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
3149         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3150         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
3151     }
3152     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
ModifyRecipients(&self, ulflags: u32, lpmods: *const ADRLIST) -> ::windows::runtime::Result<()>3153     pub unsafe fn ModifyRecipients(&self, ulflags: u32, lpmods: *const ADRLIST) -> ::windows::runtime::Result<()> {
3154         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpmods)).ok()
3155     }
SubmitMessage(&self, ulflags: u32) -> ::windows::runtime::Result<()>3156     pub unsafe fn SubmitMessage(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
3157         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
3158     }
SetReadFlag(&self, ulflags: u32) -> ::windows::runtime::Result<()>3159     pub unsafe fn SetReadFlag(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
3160         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
3161     }
3162 }
3163 unsafe impl ::windows::runtime::Interface for IMessage {
3164     type Vtable = IMessage_abi;
3165     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3166 }
3167 impl ::std::convert::From<IMessage> for ::windows::runtime::IUnknown {
from(value: IMessage) -> Self3168     fn from(value: IMessage) -> Self {
3169         unsafe { ::std::mem::transmute(value) }
3170     }
3171 }
3172 impl ::std::convert::From<&IMessage> for ::windows::runtime::IUnknown {
from(value: &IMessage) -> Self3173     fn from(value: &IMessage) -> Self {
3174         ::std::convert::From::from(::std::clone::Clone::clone(value))
3175     }
3176 }
3177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3179         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3180     }
3181 }
3182 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3183     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3184         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3185     }
3186 }
3187 impl ::std::convert::From<IMessage> for IMAPIProp {
from(value: IMessage) -> Self3188     fn from(value: IMessage) -> Self {
3189         unsafe { ::std::mem::transmute(value) }
3190     }
3191 }
3192 impl ::std::convert::From<&IMessage> for IMAPIProp {
from(value: &IMessage) -> Self3193     fn from(value: &IMessage) -> Self {
3194         ::std::convert::From::from(::std::clone::Clone::clone(value))
3195     }
3196 }
3197 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IMessage {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3198     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3199         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
3200     }
3201 }
3202 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IMessage {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3203     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3204         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
3205     }
3206 }
3207 #[repr(C)]
3208 #[doc(hidden)]
3209 pub struct IMessage_abi(
3210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
3214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3215     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
3216     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3219     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3220     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3224     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
3225     #[cfg(not(feature = "Win32_Foundation"))] usize,
3226     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3227     #[cfg(not(feature = "Win32_Foundation"))] usize,
3228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulattachmentnum: u32, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lppattach: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lpulattachmentnum: *mut u32, lppattach: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulattachmentnum: u32, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3233     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpmods: *const ADRLIST) -> ::windows::runtime::HRESULT,
3234     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3237 );
3238 #[repr(transparent)]
3239 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3240 pub struct IMsgStore(::windows::runtime::IUnknown);
3241 impl IMsgStore {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>3242     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
3243         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
3244     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>3245     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
3246         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
3247     }
3248     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>3249     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
3250         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
3251     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3252     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3253         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
3254     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>3255     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
3256         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
3257     }
3258     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3259     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3260         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
3261     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3262     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3263         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
3264     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3265     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3266         (::windows::runtime::Interface::vtable(self).10)(
3267             ::std::mem::transmute_copy(self),
3268             ::std::mem::transmute(ciidexclude),
3269             ::std::mem::transmute(rgiidexclude),
3270             ::std::mem::transmute(lpexcludeprops),
3271             ::std::mem::transmute(uluiparam),
3272             lpprogress.into_param().abi(),
3273             ::std::mem::transmute(lpinterface),
3274             ::std::mem::transmute(lpdestobj),
3275             ::std::mem::transmute(ulflags),
3276             ::std::mem::transmute(lppproblems),
3277         )
3278         .ok()
3279     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3280     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3281         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
3282     }
3283     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>3284     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
3285         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
3286     }
3287     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3288     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3289         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
3290     }
Advise<'a, Param3: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(&self, cbentryid: u32, lpentryid: *const ENTRYID, uleventmask: u32, lpadvisesink: Param3) -> ::windows::runtime::Result<u32>3291     pub unsafe fn Advise<'a, Param3: ::windows::runtime::IntoParam<'a, IMAPIAdviseSink>>(&self, cbentryid: u32, lpentryid: *const ENTRYID, uleventmask: u32, lpadvisesink: Param3) -> ::windows::runtime::Result<u32> {
3292         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3293         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(uleventmask), lpadvisesink.into_param().abi(), &mut result__).from_abi::<u32>(result__)
3294     }
Unadvise(&self, ulconnection: u32) -> ::windows::runtime::Result<()>3295     pub unsafe fn Unadvise(&self, ulconnection: u32) -> ::windows::runtime::Result<()> {
3296         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulconnection)).ok()
3297     }
CompareEntryIDs(&self, cbentryid1: u32, lpentryid1: *const ENTRYID, cbentryid2: u32, lpentryid2: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<u32>3298     pub unsafe fn CompareEntryIDs(&self, cbentryid1: u32, lpentryid1: *const ENTRYID, cbentryid2: u32, lpentryid2: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<u32> {
3299         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3300         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid1), ::std::mem::transmute(lpentryid1), ::std::mem::transmute(cbentryid2), ::std::mem::transmute(lpentryid2), ::std::mem::transmute(ulflags), &mut result__).from_abi::<u32>(result__)
3301     }
OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, ppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>3302     pub unsafe fn OpenEntry(&self, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, ppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
3303         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpulobjtype), ::std::mem::transmute(ppunk)).ok()
3304     }
SetReceiveFolder(&self, lpszmessageclass: *const i8, ulflags: u32, cbentryid: u32, lpentryid: *const ENTRYID) -> ::windows::runtime::Result<()>3305     pub unsafe fn SetReceiveFolder(&self, lpszmessageclass: *const i8, ulflags: u32, cbentryid: u32, lpentryid: *const ENTRYID) -> ::windows::runtime::Result<()> {
3306         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpszmessageclass), ::std::mem::transmute(ulflags), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid)).ok()
3307     }
GetReceiveFolder(&self, lpszmessageclass: *const i8, ulflags: u32, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID, lppszexplicitclass: *mut *mut i8) -> ::windows::runtime::Result<()>3308     pub unsafe fn GetReceiveFolder(&self, lpszmessageclass: *const i8, ulflags: u32, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID, lppszexplicitclass: *mut *mut i8) -> ::windows::runtime::Result<()> {
3309         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpszmessageclass), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcbentryid), ::std::mem::transmute(lppentryid), ::std::mem::transmute(lppszexplicitclass)).ok()
3310     }
GetReceiveFolderTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>3311     pub unsafe fn GetReceiveFolderTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
3312         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3313         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
3314     }
StoreLogoff(&self, lpulflags: *mut u32) -> ::windows::runtime::Result<()>3315     pub unsafe fn StoreLogoff(&self, lpulflags: *mut u32) -> ::windows::runtime::Result<()> {
3316         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpulflags)).ok()
3317     }
AbortSubmit(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<()>3318     pub unsafe fn AbortSubmit(&self, cbentryid: u32, lpentryid: *const ENTRYID, ulflags: u32) -> ::windows::runtime::Result<()> {
3319         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid), ::std::mem::transmute(ulflags)).ok()
3320     }
GetOutgoingQueue(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>3321     pub unsafe fn GetOutgoingQueue(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
3322         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3323         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
3324     }
SetLockState<'a, Param0: ::windows::runtime::IntoParam<'a, IMessage>>(&self, lpmessage: Param0, ullockstate: u32) -> ::windows::runtime::Result<()>3325     pub unsafe fn SetLockState<'a, Param0: ::windows::runtime::IntoParam<'a, IMessage>>(&self, lpmessage: Param0, ullockstate: u32) -> ::windows::runtime::Result<()> {
3326         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), lpmessage.into_param().abi(), ::std::mem::transmute(ullockstate)).ok()
3327     }
FinishedMsg(&self, ulflags: u32, cbentryid: u32, lpentryid: *const ENTRYID) -> ::windows::runtime::Result<()>3328     pub unsafe fn FinishedMsg(&self, ulflags: u32, cbentryid: u32, lpentryid: *const ENTRYID) -> ::windows::runtime::Result<()> {
3329         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(cbentryid), ::std::mem::transmute(lpentryid)).ok()
3330     }
3331     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
NotifyNewMail(&self, lpnotification: *const NOTIFICATION) -> ::windows::runtime::Result<()>3332     pub unsafe fn NotifyNewMail(&self, lpnotification: *const NOTIFICATION) -> ::windows::runtime::Result<()> {
3333         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpnotification)).ok()
3334     }
3335 }
3336 unsafe impl ::windows::runtime::Interface for IMsgStore {
3337     type Vtable = IMsgStore_abi;
3338     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3339 }
3340 impl ::std::convert::From<IMsgStore> for ::windows::runtime::IUnknown {
from(value: IMsgStore) -> Self3341     fn from(value: IMsgStore) -> Self {
3342         unsafe { ::std::mem::transmute(value) }
3343     }
3344 }
3345 impl ::std::convert::From<&IMsgStore> for ::windows::runtime::IUnknown {
from(value: &IMsgStore) -> Self3346     fn from(value: &IMsgStore) -> Self {
3347         ::std::convert::From::from(::std::clone::Clone::clone(value))
3348     }
3349 }
3350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMsgStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3352         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3353     }
3354 }
3355 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMsgStore {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3356     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3357         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3358     }
3359 }
3360 impl ::std::convert::From<IMsgStore> for IMAPIProp {
from(value: IMsgStore) -> Self3361     fn from(value: IMsgStore) -> Self {
3362         unsafe { ::std::mem::transmute(value) }
3363     }
3364 }
3365 impl ::std::convert::From<&IMsgStore> for IMAPIProp {
from(value: &IMsgStore) -> Self3366     fn from(value: &IMsgStore) -> Self {
3367         ::std::convert::From::from(::std::clone::Clone::clone(value))
3368     }
3369 }
3370 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IMsgStore {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3371     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3372         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
3373     }
3374 }
3375 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IMsgStore {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3376     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3377         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
3378     }
3379 }
3380 #[repr(C)]
3381 #[doc(hidden)]
3382 pub struct IMsgStore_abi(
3383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
3387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3388     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
3389     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3392     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3393     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3397     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
3398     #[cfg(not(feature = "Win32_Foundation"))] usize,
3399     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3400     #[cfg(not(feature = "Win32_Foundation"))] usize,
3401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, uleventmask: u32, lpadvisesink: ::windows::runtime::RawPtr, lpulconnection: *mut u32) -> ::windows::runtime::HRESULT,
3402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulconnection: u32) -> ::windows::runtime::HRESULT,
3403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid1: u32, lpentryid1: *const ENTRYID, cbentryid2: u32, lpentryid2: *const ENTRYID, ulflags: u32, lpulresult: *mut u32) -> ::windows::runtime::HRESULT,
3404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lpulobjtype: *mut u32, ppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpszmessageclass: *const i8, ulflags: u32, cbentryid: u32, lpentryid: *const ENTRYID) -> ::windows::runtime::HRESULT,
3406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpszmessageclass: *const i8, ulflags: u32, lpcbentryid: *mut u32, lppentryid: *mut *mut ENTRYID, lppszexplicitclass: *mut *mut i8) -> ::windows::runtime::HRESULT,
3407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpulflags: *mut u32) -> ::windows::runtime::HRESULT,
3409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbentryid: u32, lpentryid: *const ENTRYID, ulflags: u32) -> ::windows::runtime::HRESULT,
3410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpmessage: ::windows::runtime::RawPtr, ullockstate: u32) -> ::windows::runtime::HRESULT,
3412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, cbentryid: u32, lpentryid: *const ENTRYID) -> ::windows::runtime::HRESULT,
3413     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpnotification: *const NOTIFICATION) -> ::windows::runtime::HRESULT,
3414     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3415 );
3416 #[repr(transparent)]
3417 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3418 pub struct IProfSect(::windows::runtime::IUnknown);
3419 impl IProfSect {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>3420     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
3421         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
3422     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>3423     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
3424         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
3425     }
3426     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>3427     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
3428         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
3429     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3430     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3431         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
3432     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>3433     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
3434         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
3435     }
3436     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3437     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3438         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
3439     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3440     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3441         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
3442     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3443     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3444         (::windows::runtime::Interface::vtable(self).10)(
3445             ::std::mem::transmute_copy(self),
3446             ::std::mem::transmute(ciidexclude),
3447             ::std::mem::transmute(rgiidexclude),
3448             ::std::mem::transmute(lpexcludeprops),
3449             ::std::mem::transmute(uluiparam),
3450             lpprogress.into_param().abi(),
3451             ::std::mem::transmute(lpinterface),
3452             ::std::mem::transmute(lpdestobj),
3453             ::std::mem::transmute(ulflags),
3454             ::std::mem::transmute(lppproblems),
3455         )
3456         .ok()
3457     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3458     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3459         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
3460     }
3461     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>3462     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
3463         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
3464     }
3465     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3466     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3467         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
3468     }
3469 }
3470 unsafe impl ::windows::runtime::Interface for IProfSect {
3471     type Vtable = IProfSect_abi;
3472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3473 }
3474 impl ::std::convert::From<IProfSect> for ::windows::runtime::IUnknown {
from(value: IProfSect) -> Self3475     fn from(value: IProfSect) -> Self {
3476         unsafe { ::std::mem::transmute(value) }
3477     }
3478 }
3479 impl ::std::convert::From<&IProfSect> for ::windows::runtime::IUnknown {
from(value: &IProfSect) -> Self3480     fn from(value: &IProfSect) -> Self {
3481         ::std::convert::From::from(::std::clone::Clone::clone(value))
3482     }
3483 }
3484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProfSect {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3486         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3487     }
3488 }
3489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProfSect {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3491         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3492     }
3493 }
3494 impl ::std::convert::From<IProfSect> for IMAPIProp {
from(value: IProfSect) -> Self3495     fn from(value: IProfSect) -> Self {
3496         unsafe { ::std::mem::transmute(value) }
3497     }
3498 }
3499 impl ::std::convert::From<&IProfSect> for IMAPIProp {
from(value: &IProfSect) -> Self3500     fn from(value: &IProfSect) -> Self {
3501         ::std::convert::From::from(::std::clone::Clone::clone(value))
3502     }
3503 }
3504 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IProfSect {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3505     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3506         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
3507     }
3508 }
3509 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IProfSect {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3510     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3511         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
3512     }
3513 }
3514 #[repr(C)]
3515 #[doc(hidden)]
3516 pub struct IProfSect_abi(
3517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
3521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3522     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
3523     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3526     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3527     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3531     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
3532     #[cfg(not(feature = "Win32_Foundation"))] usize,
3533     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3534     #[cfg(not(feature = "Win32_Foundation"))] usize,
3535 );
3536 #[repr(transparent)]
3537 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3538 pub struct IPropData(::windows::runtime::IUnknown);
3539 impl IPropData {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>3540     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
3541         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
3542     }
SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()>3543     pub unsafe fn SaveChanges(&self, ulflags: u32) -> ::windows::runtime::Result<()> {
3544         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags)).ok()
3545     }
3546     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()>3547     pub unsafe fn GetProps(&self, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::Result<()> {
3548         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcvalues), ::std::mem::transmute(lppproparray)).ok()
3549     }
GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3550     pub unsafe fn GetPropList(&self, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3551         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptagarray)).ok()
3552     }
OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()>3553     pub unsafe fn OpenProperty(&self, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::std::option::Option<::windows::runtime::IUnknown>) -> ::windows::runtime::Result<()> {
3554         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulproptag), ::std::mem::transmute(lpiid), ::std::mem::transmute(ulinterfaceoptions), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppunk)).ok()
3555     }
3556     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3557     pub unsafe fn SetProps(&self, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3558         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lppproblems)).ok()
3559     }
DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3560     pub unsafe fn DeleteProps(&self, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3561         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lppproblems)).ok()
3562     }
CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3563     pub unsafe fn CopyTo<'a, Param4: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param4, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3564         (::windows::runtime::Interface::vtable(self).10)(
3565             ::std::mem::transmute_copy(self),
3566             ::std::mem::transmute(ciidexclude),
3567             ::std::mem::transmute(rgiidexclude),
3568             ::std::mem::transmute(lpexcludeprops),
3569             ::std::mem::transmute(uluiparam),
3570             lpprogress.into_param().abi(),
3571             ::std::mem::transmute(lpinterface),
3572             ::std::mem::transmute(lpdestobj),
3573             ::std::mem::transmute(ulflags),
3574             ::std::mem::transmute(lppproblems),
3575         )
3576         .ok()
3577     }
CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3578     pub unsafe fn CopyProps<'a, Param2: ::windows::runtime::IntoParam<'a, IMAPIProgress>>(&self, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: Param2, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3579         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpincludeprops), ::std::mem::transmute(uluiparam), lpprogress.into_param().abi(), ::std::mem::transmute(lpinterface), ::std::mem::transmute(lpdestobj), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproblems)).ok()
3580     }
3581     #[cfg(feature = "Win32_Foundation")]
GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()>3582     pub unsafe fn GetNamesFromIDs(&self, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::Result<()> {
3583         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptags), ::std::mem::transmute(lppropsetguid), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpcpropnames), ::std::mem::transmute(lppppropnames)).ok()
3584     }
3585     #[cfg(feature = "Win32_Foundation")]
GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()>3586     pub unsafe fn GetIDsFromNames(&self, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::Result<()> {
3587         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(cpropnames), ::std::mem::transmute(lpppropnames), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppproptags)).ok()
3588     }
HrSetObjAccess(&self, ulaccess: u32) -> ::windows::runtime::Result<()>3589     pub unsafe fn HrSetObjAccess(&self, ulaccess: u32) -> ::windows::runtime::Result<()> {
3590         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulaccess)).ok()
3591     }
HrSetPropAccess(&self, lpproptagarray: *mut SPropTagArray, rgulaccess: *mut u32) -> ::windows::runtime::Result<()>3592     pub unsafe fn HrSetPropAccess(&self, lpproptagarray: *mut SPropTagArray, rgulaccess: *mut u32) -> ::windows::runtime::Result<()> {
3593         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(rgulaccess)).ok()
3594     }
HrGetPropAccess(&self, lppproptagarray: *mut *mut SPropTagArray, lprgulaccess: *mut *mut u32) -> ::windows::runtime::Result<()>3595     pub unsafe fn HrGetPropAccess(&self, lppproptagarray: *mut *mut SPropTagArray, lprgulaccess: *mut *mut u32) -> ::windows::runtime::Result<()> {
3596         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptagarray), ::std::mem::transmute(lprgulaccess)).ok()
3597     }
HrAddObjProps(&self, lppproptagarray: *mut SPropTagArray, lprgulaccess: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()>3598     pub unsafe fn HrAddObjProps(&self, lppproptagarray: *mut SPropTagArray, lprgulaccess: *mut *mut SPropProblemArray) -> ::windows::runtime::Result<()> {
3599         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(lppproptagarray), ::std::mem::transmute(lprgulaccess)).ok()
3600     }
3601 }
3602 unsafe impl ::windows::runtime::Interface for IPropData {
3603     type Vtable = IPropData_abi;
3604     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3605 }
3606 impl ::std::convert::From<IPropData> for ::windows::runtime::IUnknown {
from(value: IPropData) -> Self3607     fn from(value: IPropData) -> Self {
3608         unsafe { ::std::mem::transmute(value) }
3609     }
3610 }
3611 impl ::std::convert::From<&IPropData> for ::windows::runtime::IUnknown {
from(value: &IPropData) -> Self3612     fn from(value: &IPropData) -> Self {
3613         ::std::convert::From::from(::std::clone::Clone::clone(value))
3614     }
3615 }
3616 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPropData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3617     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3618         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3619     }
3620 }
3621 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPropData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3622     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3623         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3624     }
3625 }
3626 impl ::std::convert::From<IPropData> for IMAPIProp {
from(value: IPropData) -> Self3627     fn from(value: IPropData) -> Self {
3628         unsafe { ::std::mem::transmute(value) }
3629     }
3630 }
3631 impl ::std::convert::From<&IPropData> for IMAPIProp {
from(value: &IPropData) -> Self3632     fn from(value: &IPropData) -> Self {
3633         ::std::convert::From::from(::std::clone::Clone::clone(value))
3634     }
3635 }
3636 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for IPropData {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3637     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3638         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(self))
3639     }
3640 }
3641 impl<'a> ::windows::runtime::IntoParam<'a, IMAPIProp> for &IPropData {
into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp>3642     fn into_param(self) -> ::windows::runtime::Param<'a, IMAPIProp> {
3643         ::windows::runtime::Param::Owned(::std::convert::Into::<IMAPIProp>::into(::std::clone::Clone::clone(self)))
3644     }
3645 }
3646 #[repr(C)]
3647 #[doc(hidden)]
3648 pub struct IPropData_abi(
3649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
3653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32) -> ::windows::runtime::HRESULT,
3654     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, ulflags: u32, lpcvalues: *mut u32, lppproparray: *mut *mut SPropValue) -> ::windows::runtime::HRESULT,
3655     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lppproptagarray: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulproptag: u32, lpiid: *mut ::windows::runtime::GUID, ulinterfaceoptions: u32, ulflags: u32, lppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3658     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cvalues: u32, lpproparray: *mut SPropValue, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3659     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ciidexclude: u32, rgiidexclude: *mut ::windows::runtime::GUID, lpexcludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpincludeprops: *mut SPropTagArray, uluiparam: usize, lpprogress: ::windows::runtime::RawPtr, lpinterface: *mut ::windows::runtime::GUID, lpdestobj: *mut ::std::ffi::c_void, ulflags: u32, lppproblems: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3663     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptags: *mut *mut SPropTagArray, lppropsetguid: *mut ::windows::runtime::GUID, ulflags: u32, lpcpropnames: *mut u32, lppppropnames: *mut *mut *mut MAPINAMEID) -> ::windows::runtime::HRESULT,
3664     #[cfg(not(feature = "Win32_Foundation"))] usize,
3665     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cpropnames: u32, lpppropnames: *mut *mut MAPINAMEID, ulflags: u32, lppproptags: *mut *mut SPropTagArray) -> ::windows::runtime::HRESULT,
3666     #[cfg(not(feature = "Win32_Foundation"))] usize,
3667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulaccess: u32) -> ::windows::runtime::HRESULT,
3668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpproptagarray: *mut SPropTagArray, rgulaccess: *mut u32) -> ::windows::runtime::HRESULT,
3669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptagarray: *mut *mut SPropTagArray, lprgulaccess: *mut *mut u32) -> ::windows::runtime::HRESULT,
3670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lppproptagarray: *mut SPropTagArray, lprgulaccess: *mut *mut SPropProblemArray) -> ::windows::runtime::HRESULT,
3671 );
3672 #[repr(transparent)]
3673 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3674 pub struct IProviderAdmin(::windows::runtime::IUnknown);
3675 impl IProviderAdmin {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32) -> ::windows::runtime::Result<*mut MAPIERROR>3676     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32) -> ::windows::runtime::Result<*mut MAPIERROR> {
3677         let mut result__: <*mut MAPIERROR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3678         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), &mut result__).from_abi::<*mut MAPIERROR>(result__)
3679     }
GetProviderTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable>3680     pub unsafe fn GetProviderTable(&self, ulflags: u32) -> ::windows::runtime::Result<IMAPITable> {
3681         let mut result__: <IMAPITable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3682         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IMAPITable>(result__)
3683     }
3684     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
CreateProvider(&self, lpszprovider: *const i8, cvalues: u32, lpprops: *const SPropValue, uluiparam: usize, ulflags: u32) -> ::windows::runtime::Result<MAPIUID>3685     pub unsafe fn CreateProvider(&self, lpszprovider: *const i8, cvalues: u32, lpprops: *const SPropValue, uluiparam: usize, ulflags: u32) -> ::windows::runtime::Result<MAPIUID> {
3686         let mut result__: <MAPIUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3687         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpszprovider), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpprops), ::std::mem::transmute(uluiparam), ::std::mem::transmute(ulflags), &mut result__).from_abi::<MAPIUID>(result__)
3688     }
DeleteProvider(&self, lpuid: *const MAPIUID) -> ::windows::runtime::Result<()>3689     pub unsafe fn DeleteProvider(&self, lpuid: *const MAPIUID) -> ::windows::runtime::Result<()> {
3690         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpuid)).ok()
3691     }
OpenProfileSection(&self, lpuid: *const MAPIUID, lpinterface: *const ::windows::runtime::GUID, ulflags: u32) -> ::windows::runtime::Result<IProfSect>3692     pub unsafe fn OpenProfileSection(&self, lpuid: *const MAPIUID, lpinterface: *const ::windows::runtime::GUID, ulflags: u32) -> ::windows::runtime::Result<IProfSect> {
3693         let mut result__: <IProfSect as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3694         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpuid), ::std::mem::transmute(lpinterface), ::std::mem::transmute(ulflags), &mut result__).from_abi::<IProfSect>(result__)
3695     }
3696 }
3697 unsafe impl ::windows::runtime::Interface for IProviderAdmin {
3698     type Vtable = IProviderAdmin_abi;
3699     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3700 }
3701 impl ::std::convert::From<IProviderAdmin> for ::windows::runtime::IUnknown {
from(value: IProviderAdmin) -> Self3702     fn from(value: IProviderAdmin) -> Self {
3703         unsafe { ::std::mem::transmute(value) }
3704     }
3705 }
3706 impl ::std::convert::From<&IProviderAdmin> for ::windows::runtime::IUnknown {
from(value: &IProviderAdmin) -> Self3707     fn from(value: &IProviderAdmin) -> Self {
3708         ::std::convert::From::from(::std::clone::Clone::clone(value))
3709     }
3710 }
3711 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProviderAdmin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3712     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3713         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3714     }
3715 }
3716 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProviderAdmin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3717     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3718         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3719     }
3720 }
3721 #[repr(C)]
3722 #[doc(hidden)]
3723 pub struct IProviderAdmin_abi(
3724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
3728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpptable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3729     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpszprovider: *const i8, cvalues: u32, lpprops: *const SPropValue, uluiparam: usize, ulflags: u32, lpuid: *mut MAPIUID) -> ::windows::runtime::HRESULT,
3730     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpuid: *const MAPIUID) -> ::windows::runtime::HRESULT,
3732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpuid: *const MAPIUID, lpinterface: *const ::windows::runtime::GUID, ulflags: u32, lppprofsect: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3733 );
3734 #[repr(transparent)]
3735 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3736 pub struct ITableData(::windows::runtime::IUnknown);
3737 impl ITableData {
HrGetView(&self, lpssortorderset: *mut SSortOrderSet, lpfcallerrelease: *mut ::std::option::Option<CALLERRELEASE>, ulcallerdata: u32, lppmapitable: *mut ::std::option::Option<IMAPITable>) -> ::windows::runtime::Result<()>3738     pub unsafe fn HrGetView(&self, lpssortorderset: *mut SSortOrderSet, lpfcallerrelease: *mut ::std::option::Option<CALLERRELEASE>, ulcallerdata: u32, lppmapitable: *mut ::std::option::Option<IMAPITable>) -> ::windows::runtime::Result<()> {
3739         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpssortorderset), ::std::mem::transmute(lpfcallerrelease), ::std::mem::transmute(ulcallerdata), ::std::mem::transmute(lppmapitable)).ok()
3740     }
3741     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrModifyRow(&self, param0: *mut SRow) -> ::windows::runtime::Result<()>3742     pub unsafe fn HrModifyRow(&self, param0: *mut SRow) -> ::windows::runtime::Result<()> {
3743         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(param0)).ok()
3744     }
3745     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrDeleteRow(&self, lpspropvalue: *mut SPropValue) -> ::windows::runtime::Result<()>3746     pub unsafe fn HrDeleteRow(&self, lpspropvalue: *mut SPropValue) -> ::windows::runtime::Result<()> {
3747         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpspropvalue)).ok()
3748     }
3749     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrQueryRow(&self, lpspropvalue: *mut SPropValue, lppsrow: *mut *mut SRow, lpulirow: *mut u32) -> ::windows::runtime::Result<()>3750     pub unsafe fn HrQueryRow(&self, lpspropvalue: *mut SPropValue, lppsrow: *mut *mut SRow, lpulirow: *mut u32) -> ::windows::runtime::Result<()> {
3751         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpspropvalue), ::std::mem::transmute(lppsrow), ::std::mem::transmute(lpulirow)).ok()
3752     }
3753     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrEnumRow(&self, ulrownumber: u32, lppsrow: *mut *mut SRow) -> ::windows::runtime::Result<()>3754     pub unsafe fn HrEnumRow(&self, ulrownumber: u32, lppsrow: *mut *mut SRow) -> ::windows::runtime::Result<()> {
3755         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulrownumber), ::std::mem::transmute(lppsrow)).ok()
3756     }
3757     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrNotify(&self, ulflags: u32, cvalues: u32, lpspropvalue: *mut SPropValue) -> ::windows::runtime::Result<()>3758     pub unsafe fn HrNotify(&self, ulflags: u32, cvalues: u32, lpspropvalue: *mut SPropValue) -> ::windows::runtime::Result<()> {
3759         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpspropvalue)).ok()
3760     }
3761     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrInsertRow(&self, ulirow: u32, lpsrow: *mut SRow) -> ::windows::runtime::Result<()>3762     pub unsafe fn HrInsertRow(&self, ulirow: u32, lpsrow: *mut SRow) -> ::windows::runtime::Result<()> {
3763         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulirow), ::std::mem::transmute(lpsrow)).ok()
3764     }
3765     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrModifyRows(&self, ulflags: u32, lpsrowset: *mut SRowSet) -> ::windows::runtime::Result<()>3766     pub unsafe fn HrModifyRows(&self, ulflags: u32, lpsrowset: *mut SRowSet) -> ::windows::runtime::Result<()> {
3767         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpsrowset)).ok()
3768     }
3769     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
HrDeleteRows(&self, ulflags: u32, lprowsettodelete: *mut SRowSet, crowsdeleted: *mut u32) -> ::windows::runtime::Result<()>3770     pub unsafe fn HrDeleteRows(&self, ulflags: u32, lprowsettodelete: *mut SRowSet, crowsdeleted: *mut u32) -> ::windows::runtime::Result<()> {
3771         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulflags), ::std::mem::transmute(lprowsettodelete), ::std::mem::transmute(crowsdeleted)).ok()
3772     }
3773 }
3774 unsafe impl ::windows::runtime::Interface for ITableData {
3775     type Vtable = ITableData_abi;
3776     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3777 }
3778 impl ::std::convert::From<ITableData> for ::windows::runtime::IUnknown {
from(value: ITableData) -> Self3779     fn from(value: ITableData) -> Self {
3780         unsafe { ::std::mem::transmute(value) }
3781     }
3782 }
3783 impl ::std::convert::From<&ITableData> for ::windows::runtime::IUnknown {
from(value: &ITableData) -> Self3784     fn from(value: &ITableData) -> Self {
3785         ::std::convert::From::from(::std::clone::Clone::clone(value))
3786     }
3787 }
3788 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITableData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3789     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3790         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3791     }
3792 }
3793 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITableData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3794     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3795         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3796     }
3797 }
3798 #[repr(C)]
3799 #[doc(hidden)]
3800 pub struct ITableData_abi(
3801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpssortorderset: *mut SSortOrderSet, lpfcallerrelease: *mut ::windows::runtime::RawPtr, ulcallerdata: u32, lppmapitable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3805     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, param0: *mut SRow) -> ::windows::runtime::HRESULT,
3806     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3807     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpspropvalue: *mut SPropValue) -> ::windows::runtime::HRESULT,
3808     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3809     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpspropvalue: *mut SPropValue, lppsrow: *mut *mut SRow, lpulirow: *mut u32) -> ::windows::runtime::HRESULT,
3810     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3811     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulrownumber: u32, lppsrow: *mut *mut SRow) -> ::windows::runtime::HRESULT,
3812     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3813     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, cvalues: u32, lpspropvalue: *mut SPropValue) -> ::windows::runtime::HRESULT,
3814     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3815     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulirow: u32, lpsrow: *mut SRow) -> ::windows::runtime::HRESULT,
3816     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3817     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lpsrowset: *mut SRowSet) -> ::windows::runtime::HRESULT,
3818     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3819     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulflags: u32, lprowsettodelete: *mut SRowSet, crowsdeleted: *mut u32) -> ::windows::runtime::HRESULT,
3820     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
3821 );
3822 #[repr(transparent)]
3823 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3824 pub struct IWABExtInit(::windows::runtime::IUnknown);
3825 impl IWABExtInit {
3826     #[cfg(feature = "Win32_Foundation")]
Initialize(&self, lpwabextdisplay: *mut WABEXTDISPLAY) -> ::windows::runtime::Result<()>3827     pub unsafe fn Initialize(&self, lpwabextdisplay: *mut WABEXTDISPLAY) -> ::windows::runtime::Result<()> {
3828         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpwabextdisplay)).ok()
3829     }
3830 }
3831 unsafe impl ::windows::runtime::Interface for IWABExtInit {
3832     type Vtable = IWABExtInit_abi;
3833     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3928157168, 34724, 4561, [154, 207, 0, 160, 201, 31, 156, 139]);
3834 }
3835 impl ::std::convert::From<IWABExtInit> for ::windows::runtime::IUnknown {
from(value: IWABExtInit) -> Self3836     fn from(value: IWABExtInit) -> Self {
3837         unsafe { ::std::mem::transmute(value) }
3838     }
3839 }
3840 impl ::std::convert::From<&IWABExtInit> for ::windows::runtime::IUnknown {
from(value: &IWABExtInit) -> Self3841     fn from(value: &IWABExtInit) -> Self {
3842         ::std::convert::From::from(::std::clone::Clone::clone(value))
3843     }
3844 }
3845 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWABExtInit {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3846     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3847         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3848     }
3849 }
3850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWABExtInit {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3852         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3853     }
3854 }
3855 #[repr(C)]
3856 #[doc(hidden)]
3857 pub struct IWABExtInit_abi(
3858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3861     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpwabextdisplay: *mut ::std::mem::ManuallyDrop<WABEXTDISPLAY>) -> ::windows::runtime::HRESULT,
3862     #[cfg(not(feature = "Win32_Foundation"))] usize,
3863 );
3864 #[repr(transparent)]
3865 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3866 pub struct IWABOBJECT_(::windows::runtime::IUnknown);
3867 impl IWABOBJECT_ {
QueryInterface(&self, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3868     pub unsafe fn QueryInterface(&self, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3869         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobj)).ok()
3870     }
AddRef(&self) -> u323871     pub unsafe fn AddRef(&self) -> u32 {
3872         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
3873     }
Release(&self) -> u323874     pub unsafe fn Release(&self) -> u32 {
3875         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
3876     }
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>3877     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
3878         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
3879     }
AllocateBuffer(&self, cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3880     pub unsafe fn AllocateBuffer(&self, cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3881         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(lppbuffer)).ok()
3882     }
AllocateMore(&self, cbsize: u32, lpobject: *const ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3883     pub unsafe fn AllocateMore(&self, cbsize: u32, lpobject: *const ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3884         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(lpobject), ::std::mem::transmute(lppbuffer)).ok()
3885     }
FreeBuffer(&self, lpbuffer: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>3886     pub unsafe fn FreeBuffer(&self, lpbuffer: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3887         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpbuffer)).ok()
3888     }
3889     #[cfg(feature = "Win32_Foundation")]
Backup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpfilename: Param0) -> ::windows::runtime::Result<()>3890     pub unsafe fn Backup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpfilename: Param0) -> ::windows::runtime::Result<()> {
3891         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), lpfilename.into_param().abi()).ok()
3892     }
3893     #[cfg(feature = "Win32_Foundation")]
Import<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpwip: Param0) -> ::windows::runtime::Result<()>3894     pub unsafe fn Import<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpwip: Param0) -> ::windows::runtime::Result<()> {
3895         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), lpwip.into_param().abi()).ok()
3896     }
3897     #[cfg(feature = "Win32_Foundation")]
Find<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, hwnd: Param1) -> ::windows::runtime::Result<()>3898     pub unsafe fn Find<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, hwnd: Param1) -> ::windows::runtime::Result<()> {
3899         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), hwnd.into_param().abi()).ok()
3900     }
3901     #[cfg(feature = "Win32_Foundation")]
VCardDisplay<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, lpszfilename: Param2) -> ::windows::runtime::Result<()>3902     pub unsafe fn VCardDisplay<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, lpszfilename: Param2) -> ::windows::runtime::Result<()> {
3903         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), hwnd.into_param().abi(), lpszfilename.into_param().abi()).ok()
3904     }
3905     #[cfg(feature = "Win32_Foundation")]
LDAPUrl<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, ulflags: u32, lpszurl: Param3) -> ::windows::runtime::Result<IMailUser>3906     pub unsafe fn LDAPUrl<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, ulflags: u32, lpszurl: Param3) -> ::windows::runtime::Result<IMailUser> {
3907         let mut result__: <IMailUser as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3908         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(ulflags), lpszurl.into_param().abi(), &mut result__).from_abi::<IMailUser>(result__)
3909     }
3910     #[cfg(feature = "Win32_Foundation")]
VCardCreate<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, IMailUser>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2, lpmailuser: Param3) -> ::windows::runtime::Result<()>3911     pub unsafe fn VCardCreate<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, IMailUser>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2, lpmailuser: Param3) -> ::windows::runtime::Result<()> {
3912         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), lpszvcard.into_param().abi(), lpmailuser.into_param().abi()).ok()
3913     }
3914     #[cfg(feature = "Win32_Foundation")]
VCardRetrieve<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2) -> ::windows::runtime::Result<IMailUser>3915     pub unsafe fn VCardRetrieve<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2) -> ::windows::runtime::Result<IMailUser> {
3916         let mut result__: <IMailUser as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3917         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), lpszvcard.into_param().abi(), &mut result__).from_abi::<IMailUser>(result__)
3918     }
3919     #[cfg(feature = "Win32_Foundation")]
GetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: Param4) -> ::windows::runtime::Result<()>3920     pub unsafe fn GetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: Param4) -> ::windows::runtime::Result<()> {
3921         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpdwaction), ::std::mem::transmute(lpsbeid), hwnd.into_param().abi()).ok()
3922     }
3923     #[cfg(feature = "Win32_Foundation")]
SetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, SBinary>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, sbeid: Param2, hwnd: Param3) -> ::windows::runtime::Result<()>3924     pub unsafe fn SetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, SBinary>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, sbeid: Param2, hwnd: Param3) -> ::windows::runtime::Result<()> {
3925         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), sbeid.into_param().abi(), hwnd.into_param().abi()).ok()
3926     }
3927 }
3928 unsafe impl ::windows::runtime::Interface for IWABOBJECT_ {
3929     type Vtable = IWABOBJECT__abi;
3930     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
3931 }
3932 impl ::std::convert::From<IWABOBJECT_> for ::windows::runtime::IUnknown {
from(value: IWABOBJECT_) -> Self3933     fn from(value: IWABOBJECT_) -> Self {
3934         unsafe { ::std::mem::transmute(value) }
3935     }
3936 }
3937 impl ::std::convert::From<&IWABOBJECT_> for ::windows::runtime::IUnknown {
from(value: &IWABOBJECT_) -> Self3938     fn from(value: &IWABOBJECT_) -> Self {
3939         ::std::convert::From::from(::std::clone::Clone::clone(value))
3940     }
3941 }
3942 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWABOBJECT_ {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3943     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3944         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3945     }
3946 }
3947 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWABOBJECT_ {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3948     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3949         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3950     }
3951 }
3952 #[repr(C)]
3953 #[doc(hidden)]
3954 pub struct IWABOBJECT__abi(
3955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
3962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, lpobject: *const ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpbuffer: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3965     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpfilename: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
3966     #[cfg(not(feature = "Win32_Foundation"))] usize,
3967     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpwip: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
3968     #[cfg(not(feature = "Win32_Foundation"))] usize,
3969     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
3970     #[cfg(not(feature = "Win32_Foundation"))] usize,
3971     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, lpszfilename: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
3972     #[cfg(not(feature = "Win32_Foundation"))] usize,
3973     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, ulflags: u32, lpszurl: super::super::Foundation::PSTR, lppmailuser: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3974     #[cfg(not(feature = "Win32_Foundation"))] usize,
3975     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpszvcard: super::super::Foundation::PSTR, lpmailuser: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3976     #[cfg(not(feature = "Win32_Foundation"))] usize,
3977     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpszvcard: super::super::Foundation::PSTR, lppmailuser: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3978     #[cfg(not(feature = "Win32_Foundation"))] usize,
3979     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
3980     #[cfg(not(feature = "Win32_Foundation"))] usize,
3981     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, sbeid: SBinary, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
3982     #[cfg(not(feature = "Win32_Foundation"))] usize,
3983 );
3984 pub type IWABOBJECT_AddRef_METHOD = unsafe extern "system" fn() -> u32;
3985 pub type IWABOBJECT_AllocateBuffer_METHOD = unsafe extern "system" fn(cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
3986 pub type IWABOBJECT_AllocateMore_METHOD = unsafe extern "system" fn(cbsize: u32, lpobject: *const ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
3987 #[cfg(feature = "Win32_Foundation")]
3988 pub type IWABOBJECT_Backup_METHOD = unsafe extern "system" fn(lpfilename: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT;
3989 #[cfg(feature = "Win32_Foundation")]
3990 pub type IWABOBJECT_Find_METHOD = unsafe extern "system" fn(lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT;
3991 pub type IWABOBJECT_FreeBuffer_METHOD = unsafe extern "system" fn(lpbuffer: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
3992 pub type IWABOBJECT_GetLastError_METHOD = unsafe extern "system" fn(hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT;
3993 #[cfg(feature = "Win32_Foundation")]
3994 pub type IWABOBJECT_GetMe_METHOD = unsafe extern "system" fn(lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT;
3995 #[cfg(feature = "Win32_Foundation")]
3996 pub type IWABOBJECT_Import_METHOD = unsafe extern "system" fn(lpwip: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT;
3997 #[cfg(feature = "Win32_Foundation")]
3998 pub type IWABOBJECT_LDAPUrl_METHOD = unsafe extern "system" fn(lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, ulflags: u32, lpszurl: super::super::Foundation::PSTR, lppmailuser: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
3999 pub type IWABOBJECT_QueryInterface_METHOD = unsafe extern "system" fn(riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
4000 pub type IWABOBJECT_Release_METHOD = unsafe extern "system" fn() -> u32;
4001 #[cfg(feature = "Win32_Foundation")]
4002 pub type IWABOBJECT_SetMe_METHOD = unsafe extern "system" fn(lpiab: ::windows::runtime::RawPtr, ulflags: u32, sbeid: SBinary, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT;
4003 #[cfg(feature = "Win32_Foundation")]
4004 pub type IWABOBJECT_VCardCreate_METHOD = unsafe extern "system" fn(lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpszvcard: super::super::Foundation::PSTR, lpmailuser: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
4005 #[cfg(feature = "Win32_Foundation")]
4006 pub type IWABOBJECT_VCardDisplay_METHOD = unsafe extern "system" fn(lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, lpszfilename: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT;
4007 #[cfg(feature = "Win32_Foundation")]
4008 pub type IWABOBJECT_VCardRetrieve_METHOD = unsafe extern "system" fn(lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpszvcard: super::super::Foundation::PSTR, lppmailuser: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
4009 #[repr(transparent)]
4010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4011 pub struct IWABObject(::windows::runtime::IUnknown);
4012 impl IWABObject {
GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()>4013     pub unsafe fn GetLastError(&self, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::Result<()> {
4014         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmapierror)).ok()
4015     }
AllocateBuffer(&self, cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4016     pub unsafe fn AllocateBuffer(&self, cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4017         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(lppbuffer)).ok()
4018     }
AllocateMore(&self, cbsize: u32, lpobject: *const ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>4019     pub unsafe fn AllocateMore(&self, cbsize: u32, lpobject: *const ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4020         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbsize), ::std::mem::transmute(lpobject), ::std::mem::transmute(lppbuffer)).ok()
4021     }
FreeBuffer(&self, lpbuffer: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>4022     pub unsafe fn FreeBuffer(&self, lpbuffer: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
4023         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpbuffer)).ok()
4024     }
4025     #[cfg(feature = "Win32_Foundation")]
Backup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpfilename: Param0) -> ::windows::runtime::Result<()>4026     pub unsafe fn Backup<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpfilename: Param0) -> ::windows::runtime::Result<()> {
4027         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), lpfilename.into_param().abi()).ok()
4028     }
4029     #[cfg(feature = "Win32_Foundation")]
Import<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpwip: Param0) -> ::windows::runtime::Result<()>4030     pub unsafe fn Import<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpwip: Param0) -> ::windows::runtime::Result<()> {
4031         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), lpwip.into_param().abi()).ok()
4032     }
4033     #[cfg(feature = "Win32_Foundation")]
Find<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, hwnd: Param1) -> ::windows::runtime::Result<()>4034     pub unsafe fn Find<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, hwnd: Param1) -> ::windows::runtime::Result<()> {
4035         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), hwnd.into_param().abi()).ok()
4036     }
4037     #[cfg(feature = "Win32_Foundation")]
VCardDisplay<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, lpszfilename: Param2) -> ::windows::runtime::Result<()>4038     pub unsafe fn VCardDisplay<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, lpszfilename: Param2) -> ::windows::runtime::Result<()> {
4039         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), hwnd.into_param().abi(), lpszfilename.into_param().abi()).ok()
4040     }
4041     #[cfg(feature = "Win32_Foundation")]
LDAPUrl<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, ulflags: u32, lpszurl: Param3) -> ::windows::runtime::Result<IMailUser>4042     pub unsafe fn LDAPUrl<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, hwnd: Param1, ulflags: u32, lpszurl: Param3) -> ::windows::runtime::Result<IMailUser> {
4043         let mut result__: <IMailUser as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4044         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), hwnd.into_param().abi(), ::std::mem::transmute(ulflags), lpszurl.into_param().abi(), &mut result__).from_abi::<IMailUser>(result__)
4045     }
4046     #[cfg(feature = "Win32_Foundation")]
VCardCreate<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, IMailUser>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2, lpmailuser: Param3) -> ::windows::runtime::Result<()>4047     pub unsafe fn VCardCreate<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param3: ::windows::runtime::IntoParam<'a, IMailUser>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2, lpmailuser: Param3) -> ::windows::runtime::Result<()> {
4048         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), lpszvcard.into_param().abi(), lpmailuser.into_param().abi()).ok()
4049     }
4050     #[cfg(feature = "Win32_Foundation")]
VCardRetrieve<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2) -> ::windows::runtime::Result<IMailUser>4051     pub unsafe fn VCardRetrieve<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(&self, lpiab: Param0, ulflags: u32, lpszvcard: Param2) -> ::windows::runtime::Result<IMailUser> {
4052         let mut result__: <IMailUser as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4053         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), lpszvcard.into_param().abi(), &mut result__).from_abi::<IMailUser>(result__)
4054     }
4055     #[cfg(feature = "Win32_Foundation")]
GetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: Param4) -> ::windows::runtime::Result<()>4056     pub unsafe fn GetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: Param4) -> ::windows::runtime::Result<()> {
4057         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpdwaction), ::std::mem::transmute(lpsbeid), hwnd.into_param().abi()).ok()
4058     }
4059     #[cfg(feature = "Win32_Foundation")]
SetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, SBinary>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, sbeid: Param2, hwnd: Param3) -> ::windows::runtime::Result<()>4060     pub unsafe fn SetMe<'a, Param0: ::windows::runtime::IntoParam<'a, IAddrBook>, Param2: ::windows::runtime::IntoParam<'a, SBinary>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>>(&self, lpiab: Param0, ulflags: u32, sbeid: Param2, hwnd: Param3) -> ::windows::runtime::Result<()> {
4061         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), lpiab.into_param().abi(), ::std::mem::transmute(ulflags), sbeid.into_param().abi(), hwnd.into_param().abi()).ok()
4062     }
4063 }
4064 unsafe impl ::windows::runtime::Interface for IWABObject {
4065     type Vtable = IWABObject_abi;
4066     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::zeroed();
4067 }
4068 impl ::std::convert::From<IWABObject> for ::windows::runtime::IUnknown {
from(value: IWABObject) -> Self4069     fn from(value: IWABObject) -> Self {
4070         unsafe { ::std::mem::transmute(value) }
4071     }
4072 }
4073 impl ::std::convert::From<&IWABObject> for ::windows::runtime::IUnknown {
from(value: &IWABObject) -> Self4074     fn from(value: &IWABObject) -> Self {
4075         ::std::convert::From::from(::std::clone::Clone::clone(value))
4076     }
4077 }
4078 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWABObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4079     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4080         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4081     }
4082 }
4083 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWABObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4084     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4085         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4086     }
4087 }
4088 #[repr(C)]
4089 #[doc(hidden)]
4090 pub struct IWABObject_abi(
4091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, ulflags: u32, lppmapierror: *mut *mut MAPIERROR) -> ::windows::runtime::HRESULT,
4095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbsize: u32, lpobject: *const ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpbuffer: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4098     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpfilename: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
4099     #[cfg(not(feature = "Win32_Foundation"))] usize,
4100     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpwip: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
4101     #[cfg(not(feature = "Win32_Foundation"))] usize,
4102     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
4103     #[cfg(not(feature = "Win32_Foundation"))] usize,
4104     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, lpszfilename: super::super::Foundation::PSTR) -> ::windows::runtime::HRESULT,
4105     #[cfg(not(feature = "Win32_Foundation"))] usize,
4106     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, hwnd: super::super::Foundation::HWND, ulflags: u32, lpszurl: super::super::Foundation::PSTR, lppmailuser: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4107     #[cfg(not(feature = "Win32_Foundation"))] usize,
4108     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpszvcard: super::super::Foundation::PSTR, lpmailuser: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4109     #[cfg(not(feature = "Win32_Foundation"))] usize,
4110     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpszvcard: super::super::Foundation::PSTR, lppmailuser: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4111     #[cfg(not(feature = "Win32_Foundation"))] usize,
4112     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, lpdwaction: *mut u32, lpsbeid: *mut SBinary, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
4113     #[cfg(not(feature = "Win32_Foundation"))] usize,
4114     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiab: ::windows::runtime::RawPtr, ulflags: u32, sbeid: SBinary, hwnd: super::super::Foundation::HWND) -> ::windows::runtime::HRESULT,
4115     #[cfg(not(feature = "Win32_Foundation"))] usize,
4116 );
4117 pub type LPALLOCATEBUFFER = unsafe extern "system" fn(cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> i32;
4118 pub type LPALLOCATEMORE = unsafe extern "system" fn(cbsize: u32, lpobject: *mut ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> i32;
4119 pub type LPCREATECONVERSATIONINDEX = unsafe extern "system" fn(cbparent: u32, lpbparent: *mut u8, lpcbconvindex: *mut u32, lppbconvindex: *mut *mut u8) -> i32;
4120 pub type LPDISPATCHNOTIFICATIONS = unsafe extern "system" fn(ulflags: u32) -> ::windows::runtime::HRESULT;
4121 #[cfg(feature = "Win32_Foundation")]
4122 pub type LPFNABSDI = unsafe extern "system" fn(uluiparam: usize, lpvmsg: *mut ::std::ffi::c_void) -> super::super::Foundation::BOOL;
4123 pub type LPFNBUTTON = unsafe extern "system" fn(uluiparam: usize, lpvcontext: *mut ::std::ffi::c_void, cbentryid: u32, lpselection: *mut ENTRYID, ulflags: u32) -> i32;
4124 pub type LPFNDISMISS = unsafe extern "system" fn(uluiparam: usize, lpvcontext: *mut ::std::ffi::c_void);
4125 pub type LPFREEBUFFER = unsafe extern "system" fn(lpbuffer: *mut ::std::ffi::c_void) -> u32;
4126 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4127 pub type LPNOTIFCALLBACK = unsafe extern "system" fn(lpvcontext: *mut ::std::ffi::c_void, cnotification: u32, lpnotifications: *mut NOTIFICATION) -> i32;
4128 #[cfg(feature = "Win32_System_Com")]
4129 pub type LPOPENSTREAMONFILE = unsafe extern "system" fn(lpallocatebuffer: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr, ulflags: u32, lpszfilename: *const i8, lpszprefix: *const i8, lppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
4130 pub type LPWABALLOCATEBUFFER = unsafe extern "system" fn(lpwabobject: ::windows::runtime::RawPtr, cbsize: u32, lppbuffer: *mut *mut ::std::ffi::c_void) -> i32;
4131 pub type LPWABALLOCATEMORE = unsafe extern "system" fn(lpwabobject: ::windows::runtime::RawPtr, cbsize: u32, lpobject: *mut ::std::ffi::c_void, lppbuffer: *mut *mut ::std::ffi::c_void) -> i32;
4132 pub type LPWABFREEBUFFER = unsafe extern "system" fn(lpwabobject: ::windows::runtime::RawPtr, lpbuffer: *mut ::std::ffi::c_void) -> u32;
4133 #[cfg(feature = "Win32_Foundation")]
4134 pub type LPWABOPEN = unsafe extern "system" fn(lppadrbook: *mut ::windows::runtime::RawPtr, lppwabobject: *mut ::windows::runtime::RawPtr, lpwp: *mut WAB_PARAM, reserved2: u32) -> ::windows::runtime::HRESULT;
4135 #[cfg(feature = "Win32_Foundation")]
4136 pub type LPWABOPENEX = unsafe extern "system" fn(lppadrbook: *mut ::windows::runtime::RawPtr, lppwabobject: *mut ::windows::runtime::RawPtr, lpwp: *mut WAB_PARAM, reserved: u32, fnallocatebuffer: ::windows::runtime::RawPtr, fnallocatemore: ::windows::runtime::RawPtr, fnfreebuffer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
4137 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4138 #[inline]
LPropCompareProp(lpspropvaluea: *mut SPropValue, lpspropvalueb: *mut SPropValue) -> i324139 pub unsafe fn LPropCompareProp(lpspropvaluea: *mut SPropValue, lpspropvalueb: *mut SPropValue) -> i32 {
4140     #[cfg(windows)]
4141     {
4142         #[link(name = "windows")]
4143         extern "system" {
4144             fn LPropCompareProp(lpspropvaluea: *mut SPropValue, lpspropvalueb: *mut SPropValue) -> i32;
4145         }
4146         ::std::mem::transmute(LPropCompareProp(::std::mem::transmute(lpspropvaluea), ::std::mem::transmute(lpspropvalueb)))
4147     }
4148     #[cfg(not(windows))]
4149     unimplemented!("Unsupported target OS");
4150 }
4151 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4152 #[inline]
LpValFindProp(ulproptag: u32, cvalues: u32, lpproparray: *mut SPropValue) -> *mut SPropValue4153 pub unsafe fn LpValFindProp(ulproptag: u32, cvalues: u32, lpproparray: *mut SPropValue) -> *mut SPropValue {
4154     #[cfg(windows)]
4155     {
4156         #[link(name = "windows")]
4157         extern "system" {
4158             fn LpValFindProp(ulproptag: u32, cvalues: u32, lpproparray: *mut SPropValue) -> *mut SPropValue;
4159         }
4160         ::std::mem::transmute(LpValFindProp(::std::mem::transmute(ulproptag), ::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray)))
4161     }
4162     #[cfg(not(windows))]
4163     unimplemented!("Unsupported target OS");
4164 }
4165 #[inline]
MAPIDeinitIdle()4166 pub unsafe fn MAPIDeinitIdle() {
4167     #[cfg(windows)]
4168     {
4169         #[link(name = "windows")]
4170         extern "system" {
4171             fn MAPIDeinitIdle();
4172         }
4173         ::std::mem::transmute(MAPIDeinitIdle())
4174     }
4175     #[cfg(not(windows))]
4176     unimplemented!("Unsupported target OS");
4177 }
4178 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4179 #[repr(C)]
4180 pub struct MAPIERROR {
4181     pub ulVersion: u32,
4182     pub lpszError: *mut i8,
4183     pub lpszComponent: *mut i8,
4184     pub ulLowLevelError: u32,
4185     pub ulContext: u32,
4186 }
4187 impl MAPIERROR {}
4188 impl ::std::default::Default for MAPIERROR {
default() -> Self4189     fn default() -> Self {
4190         unsafe { ::std::mem::zeroed() }
4191     }
4192 }
4193 impl ::std::fmt::Debug for MAPIERROR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4194     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4195         fmt.debug_struct("MAPIERROR").field("ulVersion", &self.ulVersion).field("lpszError", &self.lpszError).field("lpszComponent", &self.lpszComponent).field("ulLowLevelError", &self.ulLowLevelError).field("ulContext", &self.ulContext).finish()
4196     }
4197 }
4198 impl ::std::cmp::PartialEq for MAPIERROR {
eq(&self, other: &Self) -> bool4199     fn eq(&self, other: &Self) -> bool {
4200         self.ulVersion == other.ulVersion && self.lpszError == other.lpszError && self.lpszComponent == other.lpszComponent && self.ulLowLevelError == other.ulLowLevelError && self.ulContext == other.ulContext
4201     }
4202 }
4203 impl ::std::cmp::Eq for MAPIERROR {}
4204 unsafe impl ::windows::runtime::Abi for MAPIERROR {
4205     type Abi = Self;
4206     type DefaultType = Self;
4207 }
4208 #[cfg(feature = "Win32_System_Com")]
4209 #[inline]
MAPIGetDefaultMalloc() -> ::std::option::Option<super::Com::IMalloc>4210 pub unsafe fn MAPIGetDefaultMalloc() -> ::std::option::Option<super::Com::IMalloc> {
4211     #[cfg(windows)]
4212     {
4213         #[link(name = "windows")]
4214         extern "system" {
4215             fn MAPIGetDefaultMalloc() -> ::std::option::Option<super::Com::IMalloc>;
4216         }
4217         ::std::mem::transmute(MAPIGetDefaultMalloc())
4218     }
4219     #[cfg(not(windows))]
4220     unimplemented!("Unsupported target OS");
4221 }
4222 #[inline]
MAPIInitIdle(lpvreserved: *mut ::std::ffi::c_void) -> i324223 pub unsafe fn MAPIInitIdle(lpvreserved: *mut ::std::ffi::c_void) -> i32 {
4224     #[cfg(windows)]
4225     {
4226         #[link(name = "windows")]
4227         extern "system" {
4228             fn MAPIInitIdle(lpvreserved: *mut ::std::ffi::c_void) -> i32;
4229         }
4230         ::std::mem::transmute(MAPIInitIdle(::std::mem::transmute(lpvreserved)))
4231     }
4232     #[cfg(not(windows))]
4233     unimplemented!("Unsupported target OS");
4234 }
4235 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4236 #[repr(C)]
4237 #[cfg(feature = "Win32_Foundation")]
4238 pub struct MAPINAMEID {
4239     pub lpguid: *mut ::windows::runtime::GUID,
4240     pub ulKind: u32,
4241     pub Kind: MAPINAMEID_0,
4242 }
4243 #[cfg(feature = "Win32_Foundation")]
4244 impl MAPINAMEID {}
4245 #[cfg(feature = "Win32_Foundation")]
4246 impl ::std::default::Default for MAPINAMEID {
default() -> Self4247     fn default() -> Self {
4248         unsafe { ::std::mem::zeroed() }
4249     }
4250 }
4251 #[cfg(feature = "Win32_Foundation")]
4252 impl ::std::cmp::PartialEq for MAPINAMEID {
eq(&self, _other: &Self) -> bool4253     fn eq(&self, _other: &Self) -> bool {
4254         unimplemented!()
4255     }
4256 }
4257 #[cfg(feature = "Win32_Foundation")]
4258 impl ::std::cmp::Eq for MAPINAMEID {}
4259 #[cfg(feature = "Win32_Foundation")]
4260 unsafe impl ::windows::runtime::Abi for MAPINAMEID {
4261     type Abi = Self;
4262     type DefaultType = Self;
4263 }
4264 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4265 #[repr(C)]
4266 #[cfg(feature = "Win32_Foundation")]
4267 pub union MAPINAMEID_0 {
4268     pub lID: i32,
4269     pub lpwstrName: super::super::Foundation::PWSTR,
4270 }
4271 #[cfg(feature = "Win32_Foundation")]
4272 impl MAPINAMEID_0 {}
4273 #[cfg(feature = "Win32_Foundation")]
4274 impl ::std::default::Default for MAPINAMEID_0 {
default() -> Self4275     fn default() -> Self {
4276         unsafe { ::std::mem::zeroed() }
4277     }
4278 }
4279 #[cfg(feature = "Win32_Foundation")]
4280 impl ::std::cmp::PartialEq for MAPINAMEID_0 {
eq(&self, _other: &Self) -> bool4281     fn eq(&self, _other: &Self) -> bool {
4282         unimplemented!()
4283     }
4284 }
4285 #[cfg(feature = "Win32_Foundation")]
4286 impl ::std::cmp::Eq for MAPINAMEID_0 {}
4287 #[cfg(feature = "Win32_Foundation")]
4288 unsafe impl ::windows::runtime::Abi for MAPINAMEID_0 {
4289     type Abi = Self;
4290     type DefaultType = Self;
4291 }
4292 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4293 #[repr(C)]
4294 pub struct MAPIUID {
4295     pub ab: [u8; 16],
4296 }
4297 impl MAPIUID {}
4298 impl ::std::default::Default for MAPIUID {
default() -> Self4299     fn default() -> Self {
4300         unsafe { ::std::mem::zeroed() }
4301     }
4302 }
4303 impl ::std::fmt::Debug for MAPIUID {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4304     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4305         fmt.debug_struct("MAPIUID").field("ab", &self.ab).finish()
4306     }
4307 }
4308 impl ::std::cmp::PartialEq for MAPIUID {
eq(&self, other: &Self) -> bool4309     fn eq(&self, other: &Self) -> bool {
4310         self.ab == other.ab
4311     }
4312 }
4313 impl ::std::cmp::Eq for MAPIUID {}
4314 unsafe impl ::windows::runtime::Abi for MAPIUID {
4315     type Abi = Self;
4316     type DefaultType = Self;
4317 }
4318 pub const MAPI_COMPOUND: u32 = 128u32;
4319 pub const MAPI_DIM: u32 = 1u32;
4320 pub const MAPI_ERROR_VERSION: i32 = 0i32;
4321 pub const MAPI_E_CALL_FAILED: i32 = -2147467259i32;
4322 pub const MAPI_E_INTERFACE_NOT_SUPPORTED: i32 = -2147467262i32;
4323 pub const MAPI_E_INVALID_PARAMETER: i32 = -2147024809i32;
4324 pub const MAPI_E_NOT_ENOUGH_MEMORY: i32 = -2147024882i32;
4325 pub const MAPI_E_NO_ACCESS: i32 = -2147024891i32;
4326 pub const MAPI_NOTRECIP: u32 = 64u32;
4327 pub const MAPI_NOTRESERVED: u32 = 8u32;
4328 pub const MAPI_NOW: u32 = 16u32;
4329 pub const MAPI_ONE_OFF_NO_RICH_INFO: u32 = 1u32;
4330 pub const MAPI_P1: u32 = 268435456u32;
4331 pub const MAPI_SHORTTERM: u32 = 128u32;
4332 pub const MAPI_SUBMITTED: u32 = 2147483648u32;
4333 pub const MAPI_THISSESSION: u32 = 32u32;
4334 pub const MAPI_USE_DEFAULT: u32 = 64u32;
4335 pub const MNID_ID: u32 = 0u32;
4336 pub const MNID_STRING: u32 = 1u32;
4337 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4338 #[repr(C)]
4339 pub struct MTSID {
4340     pub cb: u32,
4341     pub ab: [u8; 1],
4342 }
4343 impl MTSID {}
4344 impl ::std::default::Default for MTSID {
default() -> Self4345     fn default() -> Self {
4346         unsafe { ::std::mem::zeroed() }
4347     }
4348 }
4349 impl ::std::fmt::Debug for MTSID {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4350     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4351         fmt.debug_struct("MTSID").field("cb", &self.cb).field("ab", &self.ab).finish()
4352     }
4353 }
4354 impl ::std::cmp::PartialEq for MTSID {
eq(&self, other: &Self) -> bool4355     fn eq(&self, other: &Self) -> bool {
4356         self.cb == other.cb && self.ab == other.ab
4357     }
4358 }
4359 impl ::std::cmp::Eq for MTSID {}
4360 unsafe impl ::windows::runtime::Abi for MTSID {
4361     type Abi = Self;
4362     type DefaultType = Self;
4363 }
4364 pub const MV_FLAG: u32 = 4096u32;
4365 pub const MV_INSTANCE: u32 = 8192u32;
4366 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4367 #[repr(C)]
4368 pub struct NEWMAIL_NOTIFICATION {
4369     pub cbEntryID: u32,
4370     pub lpEntryID: *mut ENTRYID,
4371     pub cbParentID: u32,
4372     pub lpParentID: *mut ENTRYID,
4373     pub ulFlags: u32,
4374     pub lpszMessageClass: *mut i8,
4375     pub ulMessageFlags: u32,
4376 }
4377 impl NEWMAIL_NOTIFICATION {}
4378 impl ::std::default::Default for NEWMAIL_NOTIFICATION {
default() -> Self4379     fn default() -> Self {
4380         unsafe { ::std::mem::zeroed() }
4381     }
4382 }
4383 impl ::std::fmt::Debug for NEWMAIL_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4384     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4385         fmt.debug_struct("NEWMAIL_NOTIFICATION")
4386             .field("cbEntryID", &self.cbEntryID)
4387             .field("lpEntryID", &self.lpEntryID)
4388             .field("cbParentID", &self.cbParentID)
4389             .field("lpParentID", &self.lpParentID)
4390             .field("ulFlags", &self.ulFlags)
4391             .field("lpszMessageClass", &self.lpszMessageClass)
4392             .field("ulMessageFlags", &self.ulMessageFlags)
4393             .finish()
4394     }
4395 }
4396 impl ::std::cmp::PartialEq for NEWMAIL_NOTIFICATION {
eq(&self, other: &Self) -> bool4397     fn eq(&self, other: &Self) -> bool {
4398         self.cbEntryID == other.cbEntryID && self.lpEntryID == other.lpEntryID && self.cbParentID == other.cbParentID && self.lpParentID == other.lpParentID && self.ulFlags == other.ulFlags && self.lpszMessageClass == other.lpszMessageClass && self.ulMessageFlags == other.ulMessageFlags
4399     }
4400 }
4401 impl ::std::cmp::Eq for NEWMAIL_NOTIFICATION {}
4402 unsafe impl ::windows::runtime::Abi for NEWMAIL_NOTIFICATION {
4403     type Abi = Self;
4404     type DefaultType = Self;
4405 }
4406 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4407 #[repr(C)]
4408 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4409 pub struct NOTIFICATION {
4410     pub ulEventType: u32,
4411     pub ulAlignPad: u32,
4412     pub info: NOTIFICATION_0,
4413 }
4414 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4415 impl NOTIFICATION {}
4416 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4417 impl ::std::default::Default for NOTIFICATION {
default() -> Self4418     fn default() -> Self {
4419         unsafe { ::std::mem::zeroed() }
4420     }
4421 }
4422 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4423 impl ::std::cmp::PartialEq for NOTIFICATION {
eq(&self, _other: &Self) -> bool4424     fn eq(&self, _other: &Self) -> bool {
4425         unimplemented!()
4426     }
4427 }
4428 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4429 impl ::std::cmp::Eq for NOTIFICATION {}
4430 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4431 unsafe impl ::windows::runtime::Abi for NOTIFICATION {
4432     type Abi = Self;
4433     type DefaultType = Self;
4434 }
4435 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4436 #[repr(C)]
4437 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4438 pub union NOTIFICATION_0 {
4439     pub err: ERROR_NOTIFICATION,
4440     pub newmail: NEWMAIL_NOTIFICATION,
4441     pub obj: OBJECT_NOTIFICATION,
4442     pub tab: TABLE_NOTIFICATION,
4443     pub ext: EXTENDED_NOTIFICATION,
4444     pub statobj: STATUS_OBJECT_NOTIFICATION,
4445 }
4446 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4447 impl NOTIFICATION_0 {}
4448 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4449 impl ::std::default::Default for NOTIFICATION_0 {
default() -> Self4450     fn default() -> Self {
4451         unsafe { ::std::mem::zeroed() }
4452     }
4453 }
4454 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4455 impl ::std::cmp::PartialEq for NOTIFICATION_0 {
eq(&self, _other: &Self) -> bool4456     fn eq(&self, _other: &Self) -> bool {
4457         unimplemented!()
4458     }
4459 }
4460 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4461 impl ::std::cmp::Eq for NOTIFICATION_0 {}
4462 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4463 unsafe impl ::windows::runtime::Abi for NOTIFICATION_0 {
4464     type Abi = Self;
4465     type DefaultType = Self;
4466 }
4467 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4468 #[repr(C)]
4469 pub struct NOTIFKEY {
4470     pub cb: u32,
4471     pub ab: [u8; 1],
4472 }
4473 impl NOTIFKEY {}
4474 impl ::std::default::Default for NOTIFKEY {
default() -> Self4475     fn default() -> Self {
4476         unsafe { ::std::mem::zeroed() }
4477     }
4478 }
4479 impl ::std::fmt::Debug for NOTIFKEY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4480     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4481         fmt.debug_struct("NOTIFKEY").field("cb", &self.cb).field("ab", &self.ab).finish()
4482     }
4483 }
4484 impl ::std::cmp::PartialEq for NOTIFKEY {
eq(&self, other: &Self) -> bool4485     fn eq(&self, other: &Self) -> bool {
4486         self.cb == other.cb && self.ab == other.ab
4487     }
4488 }
4489 impl ::std::cmp::Eq for NOTIFKEY {}
4490 unsafe impl ::windows::runtime::Abi for NOTIFKEY {
4491     type Abi = Self;
4492     type DefaultType = Self;
4493 }
4494 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4495 #[repr(C)]
4496 pub struct OBJECT_NOTIFICATION {
4497     pub cbEntryID: u32,
4498     pub lpEntryID: *mut ENTRYID,
4499     pub ulObjType: u32,
4500     pub cbParentID: u32,
4501     pub lpParentID: *mut ENTRYID,
4502     pub cbOldID: u32,
4503     pub lpOldID: *mut ENTRYID,
4504     pub cbOldParentID: u32,
4505     pub lpOldParentID: *mut ENTRYID,
4506     pub lpPropTagArray: *mut SPropTagArray,
4507 }
4508 impl OBJECT_NOTIFICATION {}
4509 impl ::std::default::Default for OBJECT_NOTIFICATION {
default() -> Self4510     fn default() -> Self {
4511         unsafe { ::std::mem::zeroed() }
4512     }
4513 }
4514 impl ::std::fmt::Debug for OBJECT_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4515     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4516         fmt.debug_struct("OBJECT_NOTIFICATION")
4517             .field("cbEntryID", &self.cbEntryID)
4518             .field("lpEntryID", &self.lpEntryID)
4519             .field("ulObjType", &self.ulObjType)
4520             .field("cbParentID", &self.cbParentID)
4521             .field("lpParentID", &self.lpParentID)
4522             .field("cbOldID", &self.cbOldID)
4523             .field("lpOldID", &self.lpOldID)
4524             .field("cbOldParentID", &self.cbOldParentID)
4525             .field("lpOldParentID", &self.lpOldParentID)
4526             .field("lpPropTagArray", &self.lpPropTagArray)
4527             .finish()
4528     }
4529 }
4530 impl ::std::cmp::PartialEq for OBJECT_NOTIFICATION {
eq(&self, other: &Self) -> bool4531     fn eq(&self, other: &Self) -> bool {
4532         self.cbEntryID == other.cbEntryID && self.lpEntryID == other.lpEntryID && self.ulObjType == other.ulObjType && self.cbParentID == other.cbParentID && self.lpParentID == other.lpParentID && self.cbOldID == other.cbOldID && self.lpOldID == other.lpOldID && self.cbOldParentID == other.cbOldParentID && self.lpOldParentID == other.lpOldParentID && self.lpPropTagArray == other.lpPropTagArray
4533     }
4534 }
4535 impl ::std::cmp::Eq for OBJECT_NOTIFICATION {}
4536 unsafe impl ::windows::runtime::Abi for OBJECT_NOTIFICATION {
4537     type Abi = Self;
4538     type DefaultType = Self;
4539 }
4540 #[cfg(feature = "Win32_System_Com")]
4541 #[inline]
OpenStreamOnFile(lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, ulflags: u32, lpszfilename: *const i8, lpszprefix: *const i8) -> ::windows::runtime::Result<super::Com::IStream>4542 pub unsafe fn OpenStreamOnFile(lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lpfreebuffer: ::std::option::Option<LPFREEBUFFER>, ulflags: u32, lpszfilename: *const i8, lpszprefix: *const i8) -> ::windows::runtime::Result<super::Com::IStream> {
4543     #[cfg(windows)]
4544     {
4545         #[link(name = "windows")]
4546         extern "system" {
4547             fn OpenStreamOnFile(lpallocatebuffer: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr, ulflags: u32, lpszfilename: *const i8, lpszprefix: *const i8, lppstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
4548         }
4549         let mut result__: <super::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4550         OpenStreamOnFile(::std::mem::transmute(lpallocatebuffer), ::std::mem::transmute(lpfreebuffer), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpszfilename), ::std::mem::transmute(lpszprefix), &mut result__).from_abi::<super::Com::IStream>(result__)
4551     }
4552     #[cfg(not(windows))]
4553     unimplemented!("Unsupported target OS");
4554 }
4555 #[cfg(feature = "Win32_Foundation")]
4556 pub type PFNIDLE = unsafe extern "system" fn() -> super::super::Foundation::BOOL;
4557 pub const PRIHIGHEST: u32 = 32767u32;
4558 pub const PRILOWEST: i32 = -32768i32;
4559 pub const PRIUSER: u32 = 0u32;
4560 pub const PROP_ID_INVALID: u32 = 65535u32;
4561 pub const PROP_ID_NULL: u32 = 0u32;
4562 pub const PROP_ID_SECURE_MAX: u32 = 26623u32;
4563 pub const PROP_ID_SECURE_MIN: u32 = 26608u32;
4564 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4565 #[inline]
PpropFindProp(lpproparray: *mut SPropValue, cvalues: u32, ulproptag: u32) -> *mut SPropValue4566 pub unsafe fn PpropFindProp(lpproparray: *mut SPropValue, cvalues: u32, ulproptag: u32) -> *mut SPropValue {
4567     #[cfg(windows)]
4568     {
4569         #[link(name = "windows")]
4570         extern "system" {
4571             fn PpropFindProp(lpproparray: *mut SPropValue, cvalues: u32, ulproptag: u32) -> *mut SPropValue;
4572         }
4573         ::std::mem::transmute(PpropFindProp(::std::mem::transmute(lpproparray), ::std::mem::transmute(cvalues), ::std::mem::transmute(ulproptag)))
4574     }
4575     #[cfg(not(windows))]
4576     unimplemented!("Unsupported target OS");
4577 }
4578 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4579 #[inline]
PropCopyMore(lpspropvaluedest: *mut SPropValue, lpspropvaluesrc: *mut SPropValue, lpfallocmore: ::std::option::Option<LPALLOCATEMORE>, lpvobject: *mut ::std::ffi::c_void) -> i324580 pub unsafe fn PropCopyMore(lpspropvaluedest: *mut SPropValue, lpspropvaluesrc: *mut SPropValue, lpfallocmore: ::std::option::Option<LPALLOCATEMORE>, lpvobject: *mut ::std::ffi::c_void) -> i32 {
4581     #[cfg(windows)]
4582     {
4583         #[link(name = "windows")]
4584         extern "system" {
4585             fn PropCopyMore(lpspropvaluedest: *mut SPropValue, lpspropvaluesrc: *mut SPropValue, lpfallocmore: ::windows::runtime::RawPtr, lpvobject: *mut ::std::ffi::c_void) -> i32;
4586         }
4587         ::std::mem::transmute(PropCopyMore(::std::mem::transmute(lpspropvaluedest), ::std::mem::transmute(lpspropvaluesrc), ::std::mem::transmute(lpfallocmore), ::std::mem::transmute(lpvobject)))
4588     }
4589     #[cfg(not(windows))]
4590     unimplemented!("Unsupported target OS");
4591 }
4592 #[cfg(feature = "Win32_Foundation")]
4593 #[inline]
RTFSync<'a, Param0: ::windows::runtime::IntoParam<'a, IMessage>>(lpmessage: Param0, ulflags: u32, lpfmessageupdated: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()>4594 pub unsafe fn RTFSync<'a, Param0: ::windows::runtime::IntoParam<'a, IMessage>>(lpmessage: Param0, ulflags: u32, lpfmessageupdated: *mut super::super::Foundation::BOOL) -> ::windows::runtime::Result<()> {
4595     #[cfg(windows)]
4596     {
4597         #[link(name = "windows")]
4598         extern "system" {
4599             fn RTFSync(lpmessage: ::windows::runtime::RawPtr, ulflags: u32, lpfmessageupdated: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT;
4600         }
4601         RTFSync(lpmessage.into_param().abi(), ::std::mem::transmute(ulflags), ::std::mem::transmute(lpfmessageupdated)).ok()
4602     }
4603     #[cfg(not(windows))]
4604     unimplemented!("Unsupported target OS");
4605 }
4606 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4607 #[repr(C)]
4608 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4609 pub struct SAndRestriction {
4610     pub cRes: u32,
4611     pub lpRes: *mut SRestriction,
4612 }
4613 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4614 impl SAndRestriction {}
4615 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4616 impl ::std::default::Default for SAndRestriction {
default() -> Self4617     fn default() -> Self {
4618         unsafe { ::std::mem::zeroed() }
4619     }
4620 }
4621 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4622 impl ::std::fmt::Debug for SAndRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4623     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4624         fmt.debug_struct("SAndRestriction").field("cRes", &self.cRes).field("lpRes", &self.lpRes).finish()
4625     }
4626 }
4627 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4628 impl ::std::cmp::PartialEq for SAndRestriction {
eq(&self, other: &Self) -> bool4629     fn eq(&self, other: &Self) -> bool {
4630         self.cRes == other.cRes && self.lpRes == other.lpRes
4631     }
4632 }
4633 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4634 impl ::std::cmp::Eq for SAndRestriction {}
4635 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4636 unsafe impl ::windows::runtime::Abi for SAndRestriction {
4637     type Abi = Self;
4638     type DefaultType = Self;
4639 }
4640 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4641 #[repr(C)]
4642 pub struct SAppTimeArray {
4643     pub cValues: u32,
4644     pub lpat: *mut f64,
4645 }
4646 impl SAppTimeArray {}
4647 impl ::std::default::Default for SAppTimeArray {
default() -> Self4648     fn default() -> Self {
4649         unsafe { ::std::mem::zeroed() }
4650     }
4651 }
4652 impl ::std::fmt::Debug for SAppTimeArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4653     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4654         fmt.debug_struct("SAppTimeArray").field("cValues", &self.cValues).field("lpat", &self.lpat).finish()
4655     }
4656 }
4657 impl ::std::cmp::PartialEq for SAppTimeArray {
eq(&self, other: &Self) -> bool4658     fn eq(&self, other: &Self) -> bool {
4659         self.cValues == other.cValues && self.lpat == other.lpat
4660     }
4661 }
4662 impl ::std::cmp::Eq for SAppTimeArray {}
4663 unsafe impl ::windows::runtime::Abi for SAppTimeArray {
4664     type Abi = Self;
4665     type DefaultType = Self;
4666 }
4667 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4668 #[repr(C)]
4669 pub struct SBinary {
4670     pub cb: u32,
4671     pub lpb: *mut u8,
4672 }
4673 impl SBinary {}
4674 impl ::std::default::Default for SBinary {
default() -> Self4675     fn default() -> Self {
4676         unsafe { ::std::mem::zeroed() }
4677     }
4678 }
4679 impl ::std::fmt::Debug for SBinary {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4680     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4681         fmt.debug_struct("SBinary").field("cb", &self.cb).field("lpb", &self.lpb).finish()
4682     }
4683 }
4684 impl ::std::cmp::PartialEq for SBinary {
eq(&self, other: &Self) -> bool4685     fn eq(&self, other: &Self) -> bool {
4686         self.cb == other.cb && self.lpb == other.lpb
4687     }
4688 }
4689 impl ::std::cmp::Eq for SBinary {}
4690 unsafe impl ::windows::runtime::Abi for SBinary {
4691     type Abi = Self;
4692     type DefaultType = Self;
4693 }
4694 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4695 #[repr(C)]
4696 pub struct SBinaryArray {
4697     pub cValues: u32,
4698     pub lpbin: *mut SBinary,
4699 }
4700 impl SBinaryArray {}
4701 impl ::std::default::Default for SBinaryArray {
default() -> Self4702     fn default() -> Self {
4703         unsafe { ::std::mem::zeroed() }
4704     }
4705 }
4706 impl ::std::fmt::Debug for SBinaryArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4707     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4708         fmt.debug_struct("SBinaryArray").field("cValues", &self.cValues).field("lpbin", &self.lpbin).finish()
4709     }
4710 }
4711 impl ::std::cmp::PartialEq for SBinaryArray {
eq(&self, other: &Self) -> bool4712     fn eq(&self, other: &Self) -> bool {
4713         self.cValues == other.cValues && self.lpbin == other.lpbin
4714     }
4715 }
4716 impl ::std::cmp::Eq for SBinaryArray {}
4717 unsafe impl ::windows::runtime::Abi for SBinaryArray {
4718     type Abi = Self;
4719     type DefaultType = Self;
4720 }
4721 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4722 #[repr(C)]
4723 pub struct SBitMaskRestriction {
4724     pub relBMR: u32,
4725     pub ulPropTag: u32,
4726     pub ulMask: u32,
4727 }
4728 impl SBitMaskRestriction {}
4729 impl ::std::default::Default for SBitMaskRestriction {
default() -> Self4730     fn default() -> Self {
4731         unsafe { ::std::mem::zeroed() }
4732     }
4733 }
4734 impl ::std::fmt::Debug for SBitMaskRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4735     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4736         fmt.debug_struct("SBitMaskRestriction").field("relBMR", &self.relBMR).field("ulPropTag", &self.ulPropTag).field("ulMask", &self.ulMask).finish()
4737     }
4738 }
4739 impl ::std::cmp::PartialEq for SBitMaskRestriction {
eq(&self, other: &Self) -> bool4740     fn eq(&self, other: &Self) -> bool {
4741         self.relBMR == other.relBMR && self.ulPropTag == other.ulPropTag && self.ulMask == other.ulMask
4742     }
4743 }
4744 impl ::std::cmp::Eq for SBitMaskRestriction {}
4745 unsafe impl ::windows::runtime::Abi for SBitMaskRestriction {
4746     type Abi = Self;
4747     type DefaultType = Self;
4748 }
4749 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4750 #[repr(C)]
4751 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4752 pub struct SCommentRestriction {
4753     pub cValues: u32,
4754     pub lpRes: *mut SRestriction,
4755     pub lpProp: *mut SPropValue,
4756 }
4757 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4758 impl SCommentRestriction {}
4759 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4760 impl ::std::default::Default for SCommentRestriction {
default() -> Self4761     fn default() -> Self {
4762         unsafe { ::std::mem::zeroed() }
4763     }
4764 }
4765 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4766 impl ::std::fmt::Debug for SCommentRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4767     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4768         fmt.debug_struct("SCommentRestriction").field("cValues", &self.cValues).field("lpRes", &self.lpRes).field("lpProp", &self.lpProp).finish()
4769     }
4770 }
4771 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4772 impl ::std::cmp::PartialEq for SCommentRestriction {
eq(&self, other: &Self) -> bool4773     fn eq(&self, other: &Self) -> bool {
4774         self.cValues == other.cValues && self.lpRes == other.lpRes && self.lpProp == other.lpProp
4775     }
4776 }
4777 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4778 impl ::std::cmp::Eq for SCommentRestriction {}
4779 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4780 unsafe impl ::windows::runtime::Abi for SCommentRestriction {
4781     type Abi = Self;
4782     type DefaultType = Self;
4783 }
4784 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4785 #[repr(C)]
4786 pub struct SComparePropsRestriction {
4787     pub relop: u32,
4788     pub ulPropTag1: u32,
4789     pub ulPropTag2: u32,
4790 }
4791 impl SComparePropsRestriction {}
4792 impl ::std::default::Default for SComparePropsRestriction {
default() -> Self4793     fn default() -> Self {
4794         unsafe { ::std::mem::zeroed() }
4795     }
4796 }
4797 impl ::std::fmt::Debug for SComparePropsRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4798     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4799         fmt.debug_struct("SComparePropsRestriction").field("relop", &self.relop).field("ulPropTag1", &self.ulPropTag1).field("ulPropTag2", &self.ulPropTag2).finish()
4800     }
4801 }
4802 impl ::std::cmp::PartialEq for SComparePropsRestriction {
eq(&self, other: &Self) -> bool4803     fn eq(&self, other: &Self) -> bool {
4804         self.relop == other.relop && self.ulPropTag1 == other.ulPropTag1 && self.ulPropTag2 == other.ulPropTag2
4805     }
4806 }
4807 impl ::std::cmp::Eq for SComparePropsRestriction {}
4808 unsafe impl ::windows::runtime::Abi for SComparePropsRestriction {
4809     type Abi = Self;
4810     type DefaultType = Self;
4811 }
4812 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4813 #[repr(C)]
4814 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4815 pub struct SContentRestriction {
4816     pub ulFuzzyLevel: u32,
4817     pub ulPropTag: u32,
4818     pub lpProp: *mut SPropValue,
4819 }
4820 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4821 impl SContentRestriction {}
4822 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4823 impl ::std::default::Default for SContentRestriction {
default() -> Self4824     fn default() -> Self {
4825         unsafe { ::std::mem::zeroed() }
4826     }
4827 }
4828 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4829 impl ::std::fmt::Debug for SContentRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4830     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4831         fmt.debug_struct("SContentRestriction").field("ulFuzzyLevel", &self.ulFuzzyLevel).field("ulPropTag", &self.ulPropTag).field("lpProp", &self.lpProp).finish()
4832     }
4833 }
4834 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4835 impl ::std::cmp::PartialEq for SContentRestriction {
eq(&self, other: &Self) -> bool4836     fn eq(&self, other: &Self) -> bool {
4837         self.ulFuzzyLevel == other.ulFuzzyLevel && self.ulPropTag == other.ulPropTag && self.lpProp == other.lpProp
4838     }
4839 }
4840 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4841 impl ::std::cmp::Eq for SContentRestriction {}
4842 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4843 unsafe impl ::windows::runtime::Abi for SContentRestriction {
4844     type Abi = Self;
4845     type DefaultType = Self;
4846 }
4847 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4848 #[repr(C)]
4849 #[cfg(feature = "Win32_System_Com")]
4850 pub struct SCurrencyArray {
4851     pub cValues: u32,
4852     pub lpcur: *mut super::Com::CY,
4853 }
4854 #[cfg(feature = "Win32_System_Com")]
4855 impl SCurrencyArray {}
4856 #[cfg(feature = "Win32_System_Com")]
4857 impl ::std::default::Default for SCurrencyArray {
default() -> Self4858     fn default() -> Self {
4859         unsafe { ::std::mem::zeroed() }
4860     }
4861 }
4862 #[cfg(feature = "Win32_System_Com")]
4863 impl ::std::fmt::Debug for SCurrencyArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4864     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4865         fmt.debug_struct("SCurrencyArray").field("cValues", &self.cValues).field("lpcur", &self.lpcur).finish()
4866     }
4867 }
4868 #[cfg(feature = "Win32_System_Com")]
4869 impl ::std::cmp::PartialEq for SCurrencyArray {
eq(&self, other: &Self) -> bool4870     fn eq(&self, other: &Self) -> bool {
4871         self.cValues == other.cValues && self.lpcur == other.lpcur
4872     }
4873 }
4874 #[cfg(feature = "Win32_System_Com")]
4875 impl ::std::cmp::Eq for SCurrencyArray {}
4876 #[cfg(feature = "Win32_System_Com")]
4877 unsafe impl ::windows::runtime::Abi for SCurrencyArray {
4878     type Abi = Self;
4879     type DefaultType = Self;
4880 }
4881 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4882 #[repr(C)]
4883 #[cfg(feature = "Win32_Foundation")]
4884 pub struct SDateTimeArray {
4885     pub cValues: u32,
4886     pub lpft: *mut super::super::Foundation::FILETIME,
4887 }
4888 #[cfg(feature = "Win32_Foundation")]
4889 impl SDateTimeArray {}
4890 #[cfg(feature = "Win32_Foundation")]
4891 impl ::std::default::Default for SDateTimeArray {
default() -> Self4892     fn default() -> Self {
4893         unsafe { ::std::mem::zeroed() }
4894     }
4895 }
4896 #[cfg(feature = "Win32_Foundation")]
4897 impl ::std::fmt::Debug for SDateTimeArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4898     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4899         fmt.debug_struct("SDateTimeArray").field("cValues", &self.cValues).field("lpft", &self.lpft).finish()
4900     }
4901 }
4902 #[cfg(feature = "Win32_Foundation")]
4903 impl ::std::cmp::PartialEq for SDateTimeArray {
eq(&self, other: &Self) -> bool4904     fn eq(&self, other: &Self) -> bool {
4905         self.cValues == other.cValues && self.lpft == other.lpft
4906     }
4907 }
4908 #[cfg(feature = "Win32_Foundation")]
4909 impl ::std::cmp::Eq for SDateTimeArray {}
4910 #[cfg(feature = "Win32_Foundation")]
4911 unsafe impl ::windows::runtime::Abi for SDateTimeArray {
4912     type Abi = Self;
4913     type DefaultType = Self;
4914 }
4915 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4916 #[repr(C)]
4917 pub struct SDoubleArray {
4918     pub cValues: u32,
4919     pub lpdbl: *mut f64,
4920 }
4921 impl SDoubleArray {}
4922 impl ::std::default::Default for SDoubleArray {
default() -> Self4923     fn default() -> Self {
4924         unsafe { ::std::mem::zeroed() }
4925     }
4926 }
4927 impl ::std::fmt::Debug for SDoubleArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4928     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4929         fmt.debug_struct("SDoubleArray").field("cValues", &self.cValues).field("lpdbl", &self.lpdbl).finish()
4930     }
4931 }
4932 impl ::std::cmp::PartialEq for SDoubleArray {
eq(&self, other: &Self) -> bool4933     fn eq(&self, other: &Self) -> bool {
4934         self.cValues == other.cValues && self.lpdbl == other.lpdbl
4935     }
4936 }
4937 impl ::std::cmp::Eq for SDoubleArray {}
4938 unsafe impl ::windows::runtime::Abi for SDoubleArray {
4939     type Abi = Self;
4940     type DefaultType = Self;
4941 }
4942 pub const SERVICE_UI_ALLOWED: u32 = 16u32;
4943 pub const SERVICE_UI_ALWAYS: u32 = 2u32;
4944 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4945 #[repr(C)]
4946 pub struct SExistRestriction {
4947     pub ulReserved1: u32,
4948     pub ulPropTag: u32,
4949     pub ulReserved2: u32,
4950 }
4951 impl SExistRestriction {}
4952 impl ::std::default::Default for SExistRestriction {
default() -> Self4953     fn default() -> Self {
4954         unsafe { ::std::mem::zeroed() }
4955     }
4956 }
4957 impl ::std::fmt::Debug for SExistRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4958     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4959         fmt.debug_struct("SExistRestriction").field("ulReserved1", &self.ulReserved1).field("ulPropTag", &self.ulPropTag).field("ulReserved2", &self.ulReserved2).finish()
4960     }
4961 }
4962 impl ::std::cmp::PartialEq for SExistRestriction {
eq(&self, other: &Self) -> bool4963     fn eq(&self, other: &Self) -> bool {
4964         self.ulReserved1 == other.ulReserved1 && self.ulPropTag == other.ulPropTag && self.ulReserved2 == other.ulReserved2
4965     }
4966 }
4967 impl ::std::cmp::Eq for SExistRestriction {}
4968 unsafe impl ::windows::runtime::Abi for SExistRestriction {
4969     type Abi = Self;
4970     type DefaultType = Self;
4971 }
4972 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4973 #[repr(C)]
4974 pub struct SGuidArray {
4975     pub cValues: u32,
4976     pub lpguid: *mut ::windows::runtime::GUID,
4977 }
4978 impl SGuidArray {}
4979 impl ::std::default::Default for SGuidArray {
default() -> Self4980     fn default() -> Self {
4981         unsafe { ::std::mem::zeroed() }
4982     }
4983 }
4984 impl ::std::fmt::Debug for SGuidArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4985     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4986         fmt.debug_struct("SGuidArray").field("cValues", &self.cValues).field("lpguid", &self.lpguid).finish()
4987     }
4988 }
4989 impl ::std::cmp::PartialEq for SGuidArray {
eq(&self, other: &Self) -> bool4990     fn eq(&self, other: &Self) -> bool {
4991         self.cValues == other.cValues && self.lpguid == other.lpguid
4992     }
4993 }
4994 impl ::std::cmp::Eq for SGuidArray {}
4995 unsafe impl ::windows::runtime::Abi for SGuidArray {
4996     type Abi = Self;
4997     type DefaultType = Self;
4998 }
4999 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5000 #[repr(C)]
5001 #[cfg(feature = "Win32_Foundation")]
5002 pub struct SLPSTRArray {
5003     pub cValues: u32,
5004     pub lppszA: *mut super::super::Foundation::PSTR,
5005 }
5006 #[cfg(feature = "Win32_Foundation")]
5007 impl SLPSTRArray {}
5008 #[cfg(feature = "Win32_Foundation")]
5009 impl ::std::default::Default for SLPSTRArray {
default() -> Self5010     fn default() -> Self {
5011         unsafe { ::std::mem::zeroed() }
5012     }
5013 }
5014 #[cfg(feature = "Win32_Foundation")]
5015 impl ::std::fmt::Debug for SLPSTRArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5016     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5017         fmt.debug_struct("SLPSTRArray").field("cValues", &self.cValues).field("lppszA", &self.lppszA).finish()
5018     }
5019 }
5020 #[cfg(feature = "Win32_Foundation")]
5021 impl ::std::cmp::PartialEq for SLPSTRArray {
eq(&self, other: &Self) -> bool5022     fn eq(&self, other: &Self) -> bool {
5023         self.cValues == other.cValues && self.lppszA == other.lppszA
5024     }
5025 }
5026 #[cfg(feature = "Win32_Foundation")]
5027 impl ::std::cmp::Eq for SLPSTRArray {}
5028 #[cfg(feature = "Win32_Foundation")]
5029 unsafe impl ::windows::runtime::Abi for SLPSTRArray {
5030     type Abi = Self;
5031     type DefaultType = Self;
5032 }
5033 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5034 #[repr(C)]
5035 pub struct SLargeIntegerArray {
5036     pub cValues: u32,
5037     pub lpli: *mut i64,
5038 }
5039 impl SLargeIntegerArray {}
5040 impl ::std::default::Default for SLargeIntegerArray {
default() -> Self5041     fn default() -> Self {
5042         unsafe { ::std::mem::zeroed() }
5043     }
5044 }
5045 impl ::std::fmt::Debug for SLargeIntegerArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5046     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5047         fmt.debug_struct("SLargeIntegerArray").field("cValues", &self.cValues).field("lpli", &self.lpli).finish()
5048     }
5049 }
5050 impl ::std::cmp::PartialEq for SLargeIntegerArray {
eq(&self, other: &Self) -> bool5051     fn eq(&self, other: &Self) -> bool {
5052         self.cValues == other.cValues && self.lpli == other.lpli
5053     }
5054 }
5055 impl ::std::cmp::Eq for SLargeIntegerArray {}
5056 unsafe impl ::windows::runtime::Abi for SLargeIntegerArray {
5057     type Abi = Self;
5058     type DefaultType = Self;
5059 }
5060 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5061 #[repr(C)]
5062 pub struct SLongArray {
5063     pub cValues: u32,
5064     pub lpl: *mut i32,
5065 }
5066 impl SLongArray {}
5067 impl ::std::default::Default for SLongArray {
default() -> Self5068     fn default() -> Self {
5069         unsafe { ::std::mem::zeroed() }
5070     }
5071 }
5072 impl ::std::fmt::Debug for SLongArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5073     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5074         fmt.debug_struct("SLongArray").field("cValues", &self.cValues).field("lpl", &self.lpl).finish()
5075     }
5076 }
5077 impl ::std::cmp::PartialEq for SLongArray {
eq(&self, other: &Self) -> bool5078     fn eq(&self, other: &Self) -> bool {
5079         self.cValues == other.cValues && self.lpl == other.lpl
5080     }
5081 }
5082 impl ::std::cmp::Eq for SLongArray {}
5083 unsafe impl ::windows::runtime::Abi for SLongArray {
5084     type Abi = Self;
5085     type DefaultType = Self;
5086 }
5087 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5088 #[repr(C)]
5089 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5090 pub struct SNotRestriction {
5091     pub ulReserved: u32,
5092     pub lpRes: *mut SRestriction,
5093 }
5094 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5095 impl SNotRestriction {}
5096 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5097 impl ::std::default::Default for SNotRestriction {
default() -> Self5098     fn default() -> Self {
5099         unsafe { ::std::mem::zeroed() }
5100     }
5101 }
5102 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5103 impl ::std::fmt::Debug for SNotRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5104     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5105         fmt.debug_struct("SNotRestriction").field("ulReserved", &self.ulReserved).field("lpRes", &self.lpRes).finish()
5106     }
5107 }
5108 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5109 impl ::std::cmp::PartialEq for SNotRestriction {
eq(&self, other: &Self) -> bool5110     fn eq(&self, other: &Self) -> bool {
5111         self.ulReserved == other.ulReserved && self.lpRes == other.lpRes
5112     }
5113 }
5114 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5115 impl ::std::cmp::Eq for SNotRestriction {}
5116 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5117 unsafe impl ::windows::runtime::Abi for SNotRestriction {
5118     type Abi = Self;
5119     type DefaultType = Self;
5120 }
5121 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5122 #[repr(C)]
5123 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5124 pub struct SOrRestriction {
5125     pub cRes: u32,
5126     pub lpRes: *mut SRestriction,
5127 }
5128 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5129 impl SOrRestriction {}
5130 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5131 impl ::std::default::Default for SOrRestriction {
default() -> Self5132     fn default() -> Self {
5133         unsafe { ::std::mem::zeroed() }
5134     }
5135 }
5136 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5137 impl ::std::fmt::Debug for SOrRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5138     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5139         fmt.debug_struct("SOrRestriction").field("cRes", &self.cRes).field("lpRes", &self.lpRes).finish()
5140     }
5141 }
5142 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5143 impl ::std::cmp::PartialEq for SOrRestriction {
eq(&self, other: &Self) -> bool5144     fn eq(&self, other: &Self) -> bool {
5145         self.cRes == other.cRes && self.lpRes == other.lpRes
5146     }
5147 }
5148 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5149 impl ::std::cmp::Eq for SOrRestriction {}
5150 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5151 unsafe impl ::windows::runtime::Abi for SOrRestriction {
5152     type Abi = Self;
5153     type DefaultType = Self;
5154 }
5155 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5156 #[repr(C)]
5157 pub struct SPropProblem {
5158     pub ulIndex: u32,
5159     pub ulPropTag: u32,
5160     pub scode: i32,
5161 }
5162 impl SPropProblem {}
5163 impl ::std::default::Default for SPropProblem {
default() -> Self5164     fn default() -> Self {
5165         unsafe { ::std::mem::zeroed() }
5166     }
5167 }
5168 impl ::std::fmt::Debug for SPropProblem {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5169     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5170         fmt.debug_struct("SPropProblem").field("ulIndex", &self.ulIndex).field("ulPropTag", &self.ulPropTag).field("scode", &self.scode).finish()
5171     }
5172 }
5173 impl ::std::cmp::PartialEq for SPropProblem {
eq(&self, other: &Self) -> bool5174     fn eq(&self, other: &Self) -> bool {
5175         self.ulIndex == other.ulIndex && self.ulPropTag == other.ulPropTag && self.scode == other.scode
5176     }
5177 }
5178 impl ::std::cmp::Eq for SPropProblem {}
5179 unsafe impl ::windows::runtime::Abi for SPropProblem {
5180     type Abi = Self;
5181     type DefaultType = Self;
5182 }
5183 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5184 #[repr(C)]
5185 pub struct SPropProblemArray {
5186     pub cProblem: u32,
5187     pub aProblem: [SPropProblem; 1],
5188 }
5189 impl SPropProblemArray {}
5190 impl ::std::default::Default for SPropProblemArray {
default() -> Self5191     fn default() -> Self {
5192         unsafe { ::std::mem::zeroed() }
5193     }
5194 }
5195 impl ::std::fmt::Debug for SPropProblemArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5196     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5197         fmt.debug_struct("SPropProblemArray").field("cProblem", &self.cProblem).field("aProblem", &self.aProblem).finish()
5198     }
5199 }
5200 impl ::std::cmp::PartialEq for SPropProblemArray {
eq(&self, other: &Self) -> bool5201     fn eq(&self, other: &Self) -> bool {
5202         self.cProblem == other.cProblem && self.aProblem == other.aProblem
5203     }
5204 }
5205 impl ::std::cmp::Eq for SPropProblemArray {}
5206 unsafe impl ::windows::runtime::Abi for SPropProblemArray {
5207     type Abi = Self;
5208     type DefaultType = Self;
5209 }
5210 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5211 #[repr(C)]
5212 pub struct SPropTagArray {
5213     pub cValues: u32,
5214     pub aulPropTag: [u32; 1],
5215 }
5216 impl SPropTagArray {}
5217 impl ::std::default::Default for SPropTagArray {
default() -> Self5218     fn default() -> Self {
5219         unsafe { ::std::mem::zeroed() }
5220     }
5221 }
5222 impl ::std::fmt::Debug for SPropTagArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5223     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5224         fmt.debug_struct("SPropTagArray").field("cValues", &self.cValues).field("aulPropTag", &self.aulPropTag).finish()
5225     }
5226 }
5227 impl ::std::cmp::PartialEq for SPropTagArray {
eq(&self, other: &Self) -> bool5228     fn eq(&self, other: &Self) -> bool {
5229         self.cValues == other.cValues && self.aulPropTag == other.aulPropTag
5230     }
5231 }
5232 impl ::std::cmp::Eq for SPropTagArray {}
5233 unsafe impl ::windows::runtime::Abi for SPropTagArray {
5234     type Abi = Self;
5235     type DefaultType = Self;
5236 }
5237 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5238 #[repr(C)]
5239 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5240 pub struct SPropValue {
5241     pub ulPropTag: u32,
5242     pub dwAlignPad: u32,
5243     pub Value: _PV,
5244 }
5245 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5246 impl SPropValue {}
5247 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5248 impl ::std::default::Default for SPropValue {
default() -> Self5249     fn default() -> Self {
5250         unsafe { ::std::mem::zeroed() }
5251     }
5252 }
5253 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5254 impl ::std::cmp::PartialEq for SPropValue {
eq(&self, _other: &Self) -> bool5255     fn eq(&self, _other: &Self) -> bool {
5256         unimplemented!()
5257     }
5258 }
5259 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5260 impl ::std::cmp::Eq for SPropValue {}
5261 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5262 unsafe impl ::windows::runtime::Abi for SPropValue {
5263     type Abi = Self;
5264     type DefaultType = Self;
5265 }
5266 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5267 #[repr(C)]
5268 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5269 pub struct SPropertyRestriction {
5270     pub relop: u32,
5271     pub ulPropTag: u32,
5272     pub lpProp: *mut SPropValue,
5273 }
5274 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5275 impl SPropertyRestriction {}
5276 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5277 impl ::std::default::Default for SPropertyRestriction {
default() -> Self5278     fn default() -> Self {
5279         unsafe { ::std::mem::zeroed() }
5280     }
5281 }
5282 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5283 impl ::std::fmt::Debug for SPropertyRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5284     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5285         fmt.debug_struct("SPropertyRestriction").field("relop", &self.relop).field("ulPropTag", &self.ulPropTag).field("lpProp", &self.lpProp).finish()
5286     }
5287 }
5288 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5289 impl ::std::cmp::PartialEq for SPropertyRestriction {
eq(&self, other: &Self) -> bool5290     fn eq(&self, other: &Self) -> bool {
5291         self.relop == other.relop && self.ulPropTag == other.ulPropTag && self.lpProp == other.lpProp
5292     }
5293 }
5294 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5295 impl ::std::cmp::Eq for SPropertyRestriction {}
5296 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5297 unsafe impl ::windows::runtime::Abi for SPropertyRestriction {
5298     type Abi = Self;
5299     type DefaultType = Self;
5300 }
5301 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5302 #[repr(C)]
5303 pub struct SRealArray {
5304     pub cValues: u32,
5305     pub lpflt: *mut f32,
5306 }
5307 impl SRealArray {}
5308 impl ::std::default::Default for SRealArray {
default() -> Self5309     fn default() -> Self {
5310         unsafe { ::std::mem::zeroed() }
5311     }
5312 }
5313 impl ::std::fmt::Debug for SRealArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5314     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5315         fmt.debug_struct("SRealArray").field("cValues", &self.cValues).field("lpflt", &self.lpflt).finish()
5316     }
5317 }
5318 impl ::std::cmp::PartialEq for SRealArray {
eq(&self, other: &Self) -> bool5319     fn eq(&self, other: &Self) -> bool {
5320         self.cValues == other.cValues && self.lpflt == other.lpflt
5321     }
5322 }
5323 impl ::std::cmp::Eq for SRealArray {}
5324 unsafe impl ::windows::runtime::Abi for SRealArray {
5325     type Abi = Self;
5326     type DefaultType = Self;
5327 }
5328 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5329 #[repr(C)]
5330 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5331 pub struct SRestriction {
5332     pub rt: u32,
5333     pub res: SRestriction_0,
5334 }
5335 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5336 impl SRestriction {}
5337 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5338 impl ::std::default::Default for SRestriction {
default() -> Self5339     fn default() -> Self {
5340         unsafe { ::std::mem::zeroed() }
5341     }
5342 }
5343 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5344 impl ::std::cmp::PartialEq for SRestriction {
eq(&self, _other: &Self) -> bool5345     fn eq(&self, _other: &Self) -> bool {
5346         unimplemented!()
5347     }
5348 }
5349 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5350 impl ::std::cmp::Eq for SRestriction {}
5351 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5352 unsafe impl ::windows::runtime::Abi for SRestriction {
5353     type Abi = Self;
5354     type DefaultType = Self;
5355 }
5356 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5357 #[repr(C)]
5358 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5359 pub union SRestriction_0 {
5360     pub resCompareProps: SComparePropsRestriction,
5361     pub resAnd: SAndRestriction,
5362     pub resOr: SOrRestriction,
5363     pub resNot: SNotRestriction,
5364     pub resContent: SContentRestriction,
5365     pub resProperty: SPropertyRestriction,
5366     pub resBitMask: SBitMaskRestriction,
5367     pub resSize: SSizeRestriction,
5368     pub resExist: SExistRestriction,
5369     pub resSub: SSubRestriction,
5370     pub resComment: SCommentRestriction,
5371 }
5372 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5373 impl SRestriction_0 {}
5374 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5375 impl ::std::default::Default for SRestriction_0 {
default() -> Self5376     fn default() -> Self {
5377         unsafe { ::std::mem::zeroed() }
5378     }
5379 }
5380 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5381 impl ::std::cmp::PartialEq for SRestriction_0 {
eq(&self, _other: &Self) -> bool5382     fn eq(&self, _other: &Self) -> bool {
5383         unimplemented!()
5384     }
5385 }
5386 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5387 impl ::std::cmp::Eq for SRestriction_0 {}
5388 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5389 unsafe impl ::windows::runtime::Abi for SRestriction_0 {
5390     type Abi = Self;
5391     type DefaultType = Self;
5392 }
5393 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5394 #[repr(C)]
5395 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5396 pub struct SRow {
5397     pub ulAdrEntryPad: u32,
5398     pub cValues: u32,
5399     pub lpProps: *mut SPropValue,
5400 }
5401 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5402 impl SRow {}
5403 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5404 impl ::std::default::Default for SRow {
default() -> Self5405     fn default() -> Self {
5406         unsafe { ::std::mem::zeroed() }
5407     }
5408 }
5409 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5410 impl ::std::fmt::Debug for SRow {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5411     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5412         fmt.debug_struct("SRow").field("ulAdrEntryPad", &self.ulAdrEntryPad).field("cValues", &self.cValues).field("lpProps", &self.lpProps).finish()
5413     }
5414 }
5415 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5416 impl ::std::cmp::PartialEq for SRow {
eq(&self, other: &Self) -> bool5417     fn eq(&self, other: &Self) -> bool {
5418         self.ulAdrEntryPad == other.ulAdrEntryPad && self.cValues == other.cValues && self.lpProps == other.lpProps
5419     }
5420 }
5421 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5422 impl ::std::cmp::Eq for SRow {}
5423 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5424 unsafe impl ::windows::runtime::Abi for SRow {
5425     type Abi = Self;
5426     type DefaultType = Self;
5427 }
5428 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5429 #[repr(C)]
5430 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5431 pub struct SRowSet {
5432     pub cRows: u32,
5433     pub aRow: [SRow; 1],
5434 }
5435 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5436 impl SRowSet {}
5437 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5438 impl ::std::default::Default for SRowSet {
default() -> Self5439     fn default() -> Self {
5440         unsafe { ::std::mem::zeroed() }
5441     }
5442 }
5443 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5444 impl ::std::fmt::Debug for SRowSet {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5445     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5446         fmt.debug_struct("SRowSet").field("cRows", &self.cRows).field("aRow", &self.aRow).finish()
5447     }
5448 }
5449 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5450 impl ::std::cmp::PartialEq for SRowSet {
eq(&self, other: &Self) -> bool5451     fn eq(&self, other: &Self) -> bool {
5452         self.cRows == other.cRows && self.aRow == other.aRow
5453     }
5454 }
5455 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5456 impl ::std::cmp::Eq for SRowSet {}
5457 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5458 unsafe impl ::windows::runtime::Abi for SRowSet {
5459     type Abi = Self;
5460     type DefaultType = Self;
5461 }
5462 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5463 #[repr(C)]
5464 pub struct SShortArray {
5465     pub cValues: u32,
5466     pub lpi: *mut i16,
5467 }
5468 impl SShortArray {}
5469 impl ::std::default::Default for SShortArray {
default() -> Self5470     fn default() -> Self {
5471         unsafe { ::std::mem::zeroed() }
5472     }
5473 }
5474 impl ::std::fmt::Debug for SShortArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5475     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5476         fmt.debug_struct("SShortArray").field("cValues", &self.cValues).field("lpi", &self.lpi).finish()
5477     }
5478 }
5479 impl ::std::cmp::PartialEq for SShortArray {
eq(&self, other: &Self) -> bool5480     fn eq(&self, other: &Self) -> bool {
5481         self.cValues == other.cValues && self.lpi == other.lpi
5482     }
5483 }
5484 impl ::std::cmp::Eq for SShortArray {}
5485 unsafe impl ::windows::runtime::Abi for SShortArray {
5486     type Abi = Self;
5487     type DefaultType = Self;
5488 }
5489 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5490 #[repr(C)]
5491 pub struct SSizeRestriction {
5492     pub relop: u32,
5493     pub ulPropTag: u32,
5494     pub cb: u32,
5495 }
5496 impl SSizeRestriction {}
5497 impl ::std::default::Default for SSizeRestriction {
default() -> Self5498     fn default() -> Self {
5499         unsafe { ::std::mem::zeroed() }
5500     }
5501 }
5502 impl ::std::fmt::Debug for SSizeRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5503     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5504         fmt.debug_struct("SSizeRestriction").field("relop", &self.relop).field("ulPropTag", &self.ulPropTag).field("cb", &self.cb).finish()
5505     }
5506 }
5507 impl ::std::cmp::PartialEq for SSizeRestriction {
eq(&self, other: &Self) -> bool5508     fn eq(&self, other: &Self) -> bool {
5509         self.relop == other.relop && self.ulPropTag == other.ulPropTag && self.cb == other.cb
5510     }
5511 }
5512 impl ::std::cmp::Eq for SSizeRestriction {}
5513 unsafe impl ::windows::runtime::Abi for SSizeRestriction {
5514     type Abi = Self;
5515     type DefaultType = Self;
5516 }
5517 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5518 #[repr(C)]
5519 pub struct SSortOrder {
5520     pub ulPropTag: u32,
5521     pub ulOrder: u32,
5522 }
5523 impl SSortOrder {}
5524 impl ::std::default::Default for SSortOrder {
default() -> Self5525     fn default() -> Self {
5526         unsafe { ::std::mem::zeroed() }
5527     }
5528 }
5529 impl ::std::fmt::Debug for SSortOrder {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5530     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5531         fmt.debug_struct("SSortOrder").field("ulPropTag", &self.ulPropTag).field("ulOrder", &self.ulOrder).finish()
5532     }
5533 }
5534 impl ::std::cmp::PartialEq for SSortOrder {
eq(&self, other: &Self) -> bool5535     fn eq(&self, other: &Self) -> bool {
5536         self.ulPropTag == other.ulPropTag && self.ulOrder == other.ulOrder
5537     }
5538 }
5539 impl ::std::cmp::Eq for SSortOrder {}
5540 unsafe impl ::windows::runtime::Abi for SSortOrder {
5541     type Abi = Self;
5542     type DefaultType = Self;
5543 }
5544 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5545 #[repr(C)]
5546 pub struct SSortOrderSet {
5547     pub cSorts: u32,
5548     pub cCategories: u32,
5549     pub cExpanded: u32,
5550     pub aSort: [SSortOrder; 1],
5551 }
5552 impl SSortOrderSet {}
5553 impl ::std::default::Default for SSortOrderSet {
default() -> Self5554     fn default() -> Self {
5555         unsafe { ::std::mem::zeroed() }
5556     }
5557 }
5558 impl ::std::fmt::Debug for SSortOrderSet {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5559     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5560         fmt.debug_struct("SSortOrderSet").field("cSorts", &self.cSorts).field("cCategories", &self.cCategories).field("cExpanded", &self.cExpanded).field("aSort", &self.aSort).finish()
5561     }
5562 }
5563 impl ::std::cmp::PartialEq for SSortOrderSet {
eq(&self, other: &Self) -> bool5564     fn eq(&self, other: &Self) -> bool {
5565         self.cSorts == other.cSorts && self.cCategories == other.cCategories && self.cExpanded == other.cExpanded && self.aSort == other.aSort
5566     }
5567 }
5568 impl ::std::cmp::Eq for SSortOrderSet {}
5569 unsafe impl ::windows::runtime::Abi for SSortOrderSet {
5570     type Abi = Self;
5571     type DefaultType = Self;
5572 }
5573 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5574 #[repr(C)]
5575 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5576 pub struct SSubRestriction {
5577     pub ulSubObject: u32,
5578     pub lpRes: *mut SRestriction,
5579 }
5580 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5581 impl SSubRestriction {}
5582 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5583 impl ::std::default::Default for SSubRestriction {
default() -> Self5584     fn default() -> Self {
5585         unsafe { ::std::mem::zeroed() }
5586     }
5587 }
5588 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5589 impl ::std::fmt::Debug for SSubRestriction {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5590     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5591         fmt.debug_struct("SSubRestriction").field("ulSubObject", &self.ulSubObject).field("lpRes", &self.lpRes).finish()
5592     }
5593 }
5594 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5595 impl ::std::cmp::PartialEq for SSubRestriction {
eq(&self, other: &Self) -> bool5596     fn eq(&self, other: &Self) -> bool {
5597         self.ulSubObject == other.ulSubObject && self.lpRes == other.lpRes
5598     }
5599 }
5600 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5601 impl ::std::cmp::Eq for SSubRestriction {}
5602 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5603 unsafe impl ::windows::runtime::Abi for SSubRestriction {
5604     type Abi = Self;
5605     type DefaultType = Self;
5606 }
5607 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5608 #[repr(C)]
5609 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5610 pub struct STATUS_OBJECT_NOTIFICATION {
5611     pub cbEntryID: u32,
5612     pub lpEntryID: *mut ENTRYID,
5613     pub cValues: u32,
5614     pub lpPropVals: *mut SPropValue,
5615 }
5616 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5617 impl STATUS_OBJECT_NOTIFICATION {}
5618 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5619 impl ::std::default::Default for STATUS_OBJECT_NOTIFICATION {
default() -> Self5620     fn default() -> Self {
5621         unsafe { ::std::mem::zeroed() }
5622     }
5623 }
5624 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5625 impl ::std::fmt::Debug for STATUS_OBJECT_NOTIFICATION {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5626     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5627         fmt.debug_struct("STATUS_OBJECT_NOTIFICATION").field("cbEntryID", &self.cbEntryID).field("lpEntryID", &self.lpEntryID).field("cValues", &self.cValues).field("lpPropVals", &self.lpPropVals).finish()
5628     }
5629 }
5630 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5631 impl ::std::cmp::PartialEq for STATUS_OBJECT_NOTIFICATION {
eq(&self, other: &Self) -> bool5632     fn eq(&self, other: &Self) -> bool {
5633         self.cbEntryID == other.cbEntryID && self.lpEntryID == other.lpEntryID && self.cValues == other.cValues && self.lpPropVals == other.lpPropVals
5634     }
5635 }
5636 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5637 impl ::std::cmp::Eq for STATUS_OBJECT_NOTIFICATION {}
5638 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5639 unsafe impl ::windows::runtime::Abi for STATUS_OBJECT_NOTIFICATION {
5640     type Abi = Self;
5641     type DefaultType = Self;
5642 }
5643 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5644 #[repr(C)]
5645 #[cfg(feature = "Win32_Foundation")]
5646 pub struct SWStringArray {
5647     pub cValues: u32,
5648     pub lppszW: *mut super::super::Foundation::PWSTR,
5649 }
5650 #[cfg(feature = "Win32_Foundation")]
5651 impl SWStringArray {}
5652 #[cfg(feature = "Win32_Foundation")]
5653 impl ::std::default::Default for SWStringArray {
default() -> Self5654     fn default() -> Self {
5655         unsafe { ::std::mem::zeroed() }
5656     }
5657 }
5658 #[cfg(feature = "Win32_Foundation")]
5659 impl ::std::fmt::Debug for SWStringArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5660     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5661         fmt.debug_struct("SWStringArray").field("cValues", &self.cValues).field("lppszW", &self.lppszW).finish()
5662     }
5663 }
5664 #[cfg(feature = "Win32_Foundation")]
5665 impl ::std::cmp::PartialEq for SWStringArray {
eq(&self, other: &Self) -> bool5666     fn eq(&self, other: &Self) -> bool {
5667         self.cValues == other.cValues && self.lppszW == other.lppszW
5668     }
5669 }
5670 #[cfg(feature = "Win32_Foundation")]
5671 impl ::std::cmp::Eq for SWStringArray {}
5672 #[cfg(feature = "Win32_Foundation")]
5673 unsafe impl ::windows::runtime::Abi for SWStringArray {
5674     type Abi = Self;
5675     type DefaultType = Self;
5676 }
5677 pub const S_IMAPI_BOTHADJUSTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(11141126i32 as _);
5678 pub const S_IMAPI_COMMAND_HAS_SENSE_DATA: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(11141632i32 as _);
5679 pub const S_IMAPI_RAW_IMAGE_TRACK_INDEX_ALREADY_EXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(11143688i32 as _);
5680 pub const S_IMAPI_ROTATIONADJUSTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(11141125i32 as _);
5681 pub const S_IMAPI_SPEEDADJUSTED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(11141124i32 as _);
5682 pub const S_IMAPI_WRITE_NOT_IN_PROGRESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(11141890i32 as _);
5683 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5684 #[inline]
ScCopyNotifications(cnotification: i32, lpnotifications: *mut NOTIFICATION, lpvdst: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i325685 pub unsafe fn ScCopyNotifications(cnotification: i32, lpnotifications: *mut NOTIFICATION, lpvdst: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32 {
5686     #[cfg(windows)]
5687     {
5688         #[link(name = "windows")]
5689         extern "system" {
5690             fn ScCopyNotifications(cnotification: i32, lpnotifications: *mut NOTIFICATION, lpvdst: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32;
5691         }
5692         ::std::mem::transmute(ScCopyNotifications(::std::mem::transmute(cnotification), ::std::mem::transmute(lpnotifications), ::std::mem::transmute(lpvdst), ::std::mem::transmute(lpcb)))
5693     }
5694     #[cfg(not(windows))]
5695     unimplemented!("Unsupported target OS");
5696 }
5697 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5698 #[inline]
ScCopyProps(cvalues: i32, lpproparray: *mut SPropValue, lpvdst: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i325699 pub unsafe fn ScCopyProps(cvalues: i32, lpproparray: *mut SPropValue, lpvdst: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32 {
5700     #[cfg(windows)]
5701     {
5702         #[link(name = "windows")]
5703         extern "system" {
5704             fn ScCopyProps(cvalues: i32, lpproparray: *mut SPropValue, lpvdst: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32;
5705         }
5706         ::std::mem::transmute(ScCopyProps(::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lpvdst), ::std::mem::transmute(lpcb)))
5707     }
5708     #[cfg(not(windows))]
5709     unimplemented!("Unsupported target OS");
5710 }
5711 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5712 #[inline]
ScCountNotifications(cnotifications: i32, lpnotifications: *mut NOTIFICATION, lpcb: *mut u32) -> i325713 pub unsafe fn ScCountNotifications(cnotifications: i32, lpnotifications: *mut NOTIFICATION, lpcb: *mut u32) -> i32 {
5714     #[cfg(windows)]
5715     {
5716         #[link(name = "windows")]
5717         extern "system" {
5718             fn ScCountNotifications(cnotifications: i32, lpnotifications: *mut NOTIFICATION, lpcb: *mut u32) -> i32;
5719         }
5720         ::std::mem::transmute(ScCountNotifications(::std::mem::transmute(cnotifications), ::std::mem::transmute(lpnotifications), ::std::mem::transmute(lpcb)))
5721     }
5722     #[cfg(not(windows))]
5723     unimplemented!("Unsupported target OS");
5724 }
5725 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5726 #[inline]
ScCountProps(cvalues: i32, lpproparray: *mut SPropValue, lpcb: *mut u32) -> i325727 pub unsafe fn ScCountProps(cvalues: i32, lpproparray: *mut SPropValue, lpcb: *mut u32) -> i32 {
5728     #[cfg(windows)]
5729     {
5730         #[link(name = "windows")]
5731         extern "system" {
5732             fn ScCountProps(cvalues: i32, lpproparray: *mut SPropValue, lpcb: *mut u32) -> i32;
5733         }
5734         ::std::mem::transmute(ScCountProps(::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lpcb)))
5735     }
5736     #[cfg(not(windows))]
5737     unimplemented!("Unsupported target OS");
5738 }
5739 #[inline]
ScCreateConversationIndex(cbparent: u32, lpbparent: *mut u8, lpcbconvindex: *mut u32, lppbconvindex: *mut *mut u8) -> i325740 pub unsafe fn ScCreateConversationIndex(cbparent: u32, lpbparent: *mut u8, lpcbconvindex: *mut u32, lppbconvindex: *mut *mut u8) -> i32 {
5741     #[cfg(windows)]
5742     {
5743         #[link(name = "windows")]
5744         extern "system" {
5745             fn ScCreateConversationIndex(cbparent: u32, lpbparent: *mut u8, lpcbconvindex: *mut u32, lppbconvindex: *mut *mut u8) -> i32;
5746         }
5747         ::std::mem::transmute(ScCreateConversationIndex(::std::mem::transmute(cbparent), ::std::mem::transmute(lpbparent), ::std::mem::transmute(lpcbconvindex), ::std::mem::transmute(lppbconvindex)))
5748     }
5749     #[cfg(not(windows))]
5750     unimplemented!("Unsupported target OS");
5751 }
5752 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5753 #[inline]
ScDupPropset(cvalues: i32, lpproparray: *mut SPropValue, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lppproparray: *mut *mut SPropValue) -> i325754 pub unsafe fn ScDupPropset(cvalues: i32, lpproparray: *mut SPropValue, lpallocatebuffer: ::std::option::Option<LPALLOCATEBUFFER>, lppproparray: *mut *mut SPropValue) -> i32 {
5755     #[cfg(windows)]
5756     {
5757         #[link(name = "windows")]
5758         extern "system" {
5759             fn ScDupPropset(cvalues: i32, lpproparray: *mut SPropValue, lpallocatebuffer: ::windows::runtime::RawPtr, lppproparray: *mut *mut SPropValue) -> i32;
5760         }
5761         ::std::mem::transmute(ScDupPropset(::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lpallocatebuffer), ::std::mem::transmute(lppproparray)))
5762     }
5763     #[cfg(not(windows))]
5764     unimplemented!("Unsupported target OS");
5765 }
5766 #[inline]
ScInitMapiUtil(ulflags: u32) -> i325767 pub unsafe fn ScInitMapiUtil(ulflags: u32) -> i32 {
5768     #[cfg(windows)]
5769     {
5770         #[link(name = "windows")]
5771         extern "system" {
5772             fn ScInitMapiUtil(ulflags: u32) -> i32;
5773         }
5774         ::std::mem::transmute(ScInitMapiUtil(::std::mem::transmute(ulflags)))
5775     }
5776     #[cfg(not(windows))]
5777     unimplemented!("Unsupported target OS");
5778 }
5779 #[cfg(feature = "Win32_Foundation")]
5780 #[inline]
ScLocalPathFromUNC<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszunc: Param0, lpszlocal: Param1, cchlocal: u32) -> i325781 pub unsafe fn ScLocalPathFromUNC<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszunc: Param0, lpszlocal: Param1, cchlocal: u32) -> i32 {
5782     #[cfg(windows)]
5783     {
5784         #[link(name = "windows")]
5785         extern "system" {
5786             fn ScLocalPathFromUNC(lpszunc: super::super::Foundation::PSTR, lpszlocal: super::super::Foundation::PSTR, cchlocal: u32) -> i32;
5787         }
5788         ::std::mem::transmute(ScLocalPathFromUNC(lpszunc.into_param().abi(), lpszlocal.into_param().abi(), ::std::mem::transmute(cchlocal)))
5789     }
5790     #[cfg(not(windows))]
5791     unimplemented!("Unsupported target OS");
5792 }
5793 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5794 #[inline]
ScRelocNotifications(cnotification: i32, lpnotifications: *mut NOTIFICATION, lpvbaseold: *mut ::std::ffi::c_void, lpvbasenew: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i325795 pub unsafe fn ScRelocNotifications(cnotification: i32, lpnotifications: *mut NOTIFICATION, lpvbaseold: *mut ::std::ffi::c_void, lpvbasenew: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32 {
5796     #[cfg(windows)]
5797     {
5798         #[link(name = "windows")]
5799         extern "system" {
5800             fn ScRelocNotifications(cnotification: i32, lpnotifications: *mut NOTIFICATION, lpvbaseold: *mut ::std::ffi::c_void, lpvbasenew: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32;
5801         }
5802         ::std::mem::transmute(ScRelocNotifications(::std::mem::transmute(cnotification), ::std::mem::transmute(lpnotifications), ::std::mem::transmute(lpvbaseold), ::std::mem::transmute(lpvbasenew), ::std::mem::transmute(lpcb)))
5803     }
5804     #[cfg(not(windows))]
5805     unimplemented!("Unsupported target OS");
5806 }
5807 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5808 #[inline]
ScRelocProps(cvalues: i32, lpproparray: *mut SPropValue, lpvbaseold: *mut ::std::ffi::c_void, lpvbasenew: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i325809 pub unsafe fn ScRelocProps(cvalues: i32, lpproparray: *mut SPropValue, lpvbaseold: *mut ::std::ffi::c_void, lpvbasenew: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32 {
5810     #[cfg(windows)]
5811     {
5812         #[link(name = "windows")]
5813         extern "system" {
5814             fn ScRelocProps(cvalues: i32, lpproparray: *mut SPropValue, lpvbaseold: *mut ::std::ffi::c_void, lpvbasenew: *mut ::std::ffi::c_void, lpcb: *mut u32) -> i32;
5815         }
5816         ::std::mem::transmute(ScRelocProps(::std::mem::transmute(cvalues), ::std::mem::transmute(lpproparray), ::std::mem::transmute(lpvbaseold), ::std::mem::transmute(lpvbasenew), ::std::mem::transmute(lpcb)))
5817     }
5818     #[cfg(not(windows))]
5819     unimplemented!("Unsupported target OS");
5820 }
5821 #[cfg(feature = "Win32_Foundation")]
5822 #[inline]
ScUNCFromLocalPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszlocal: Param0, lpszunc: Param1, cchunc: u32) -> i325823 pub unsafe fn ScUNCFromLocalPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(lpszlocal: Param0, lpszunc: Param1, cchunc: u32) -> i32 {
5824     #[cfg(windows)]
5825     {
5826         #[link(name = "windows")]
5827         extern "system" {
5828             fn ScUNCFromLocalPath(lpszlocal: super::super::Foundation::PSTR, lpszunc: super::super::Foundation::PSTR, cchunc: u32) -> i32;
5829         }
5830         ::std::mem::transmute(ScUNCFromLocalPath(lpszlocal.into_param().abi(), lpszunc.into_param().abi(), ::std::mem::transmute(cchunc)))
5831     }
5832     #[cfg(not(windows))]
5833     unimplemented!("Unsupported target OS");
5834 }
5835 #[inline]
SzFindCh(lpsz: *mut i8, ch: u16) -> *mut i85836 pub unsafe fn SzFindCh(lpsz: *mut i8, ch: u16) -> *mut i8 {
5837     #[cfg(windows)]
5838     {
5839         #[link(name = "windows")]
5840         extern "system" {
5841             fn SzFindCh(lpsz: *mut i8, ch: u16) -> *mut i8;
5842         }
5843         ::std::mem::transmute(SzFindCh(::std::mem::transmute(lpsz), ::std::mem::transmute(ch)))
5844     }
5845     #[cfg(not(windows))]
5846     unimplemented!("Unsupported target OS");
5847 }
5848 #[inline]
SzFindLastCh(lpsz: *mut i8, ch: u16) -> *mut i85849 pub unsafe fn SzFindLastCh(lpsz: *mut i8, ch: u16) -> *mut i8 {
5850     #[cfg(windows)]
5851     {
5852         #[link(name = "windows")]
5853         extern "system" {
5854             fn SzFindLastCh(lpsz: *mut i8, ch: u16) -> *mut i8;
5855         }
5856         ::std::mem::transmute(SzFindLastCh(::std::mem::transmute(lpsz), ::std::mem::transmute(ch)))
5857     }
5858     #[cfg(not(windows))]
5859     unimplemented!("Unsupported target OS");
5860 }
5861 #[inline]
SzFindSz(lpsz: *mut i8, lpszkey: *mut i8) -> *mut i85862 pub unsafe fn SzFindSz(lpsz: *mut i8, lpszkey: *mut i8) -> *mut i8 {
5863     #[cfg(windows)]
5864     {
5865         #[link(name = "windows")]
5866         extern "system" {
5867             fn SzFindSz(lpsz: *mut i8, lpszkey: *mut i8) -> *mut i8;
5868         }
5869         ::std::mem::transmute(SzFindSz(::std::mem::transmute(lpsz), ::std::mem::transmute(lpszkey)))
5870     }
5871     #[cfg(not(windows))]
5872     unimplemented!("Unsupported target OS");
5873 }
5874 pub const TABLE_CHANGED: u32 = 1u32;
5875 pub const TABLE_ERROR: u32 = 2u32;
5876 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
5877 #[repr(C)]
5878 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5879 pub struct TABLE_NOTIFICATION {
5880     pub ulTableEvent: u32,
5881     pub hResult: ::windows::runtime::HRESULT,
5882     pub propIndex: SPropValue,
5883     pub propPrior: SPropValue,
5884     pub row: SRow,
5885     pub ulPad: u32,
5886 }
5887 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5888 impl TABLE_NOTIFICATION {}
5889 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5890 impl ::std::default::Default for TABLE_NOTIFICATION {
default() -> Self5891     fn default() -> Self {
5892         unsafe { ::std::mem::zeroed() }
5893     }
5894 }
5895 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5896 impl ::std::cmp::PartialEq for TABLE_NOTIFICATION {
eq(&self, _other: &Self) -> bool5897     fn eq(&self, _other: &Self) -> bool {
5898         unimplemented!()
5899     }
5900 }
5901 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5902 impl ::std::cmp::Eq for TABLE_NOTIFICATION {}
5903 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5904 unsafe impl ::windows::runtime::Abi for TABLE_NOTIFICATION {
5905     type Abi = Self;
5906     type DefaultType = Self;
5907 }
5908 pub const TABLE_RELOAD: u32 = 9u32;
5909 pub const TABLE_RESTRICT_DONE: u32 = 7u32;
5910 pub const TABLE_ROW_ADDED: u32 = 3u32;
5911 pub const TABLE_ROW_DELETED: u32 = 4u32;
5912 pub const TABLE_ROW_MODIFIED: u32 = 5u32;
5913 pub const TABLE_SETCOL_DONE: u32 = 8u32;
5914 pub const TABLE_SORT_DONE: u32 = 6u32;
5915 pub const TAD_ALL_ROWS: u32 = 1u32;
5916 #[inline]
UFromSz(lpsz: *mut i8) -> u325917 pub unsafe fn UFromSz(lpsz: *mut i8) -> u32 {
5918     #[cfg(windows)]
5919     {
5920         #[link(name = "windows")]
5921         extern "system" {
5922             fn UFromSz(lpsz: *mut i8) -> u32;
5923         }
5924         ::std::mem::transmute(UFromSz(::std::mem::transmute(lpsz)))
5925     }
5926     #[cfg(not(windows))]
5927     unimplemented!("Unsupported target OS");
5928 }
5929 pub const UI_CURRENT_PROVIDER_FIRST: u32 = 4u32;
5930 pub const UI_SERVICE: u32 = 2u32;
5931 #[inline]
UlAddRef(lpunk: *mut ::std::ffi::c_void) -> u325932 pub unsafe fn UlAddRef(lpunk: *mut ::std::ffi::c_void) -> u32 {
5933     #[cfg(windows)]
5934     {
5935         #[link(name = "windows")]
5936         extern "system" {
5937             fn UlAddRef(lpunk: *mut ::std::ffi::c_void) -> u32;
5938         }
5939         ::std::mem::transmute(UlAddRef(::std::mem::transmute(lpunk)))
5940     }
5941     #[cfg(not(windows))]
5942     unimplemented!("Unsupported target OS");
5943 }
5944 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5945 #[inline]
UlPropSize(lpspropvalue: *mut SPropValue) -> u325946 pub unsafe fn UlPropSize(lpspropvalue: *mut SPropValue) -> u32 {
5947     #[cfg(windows)]
5948     {
5949         #[link(name = "windows")]
5950         extern "system" {
5951             fn UlPropSize(lpspropvalue: *mut SPropValue) -> u32;
5952         }
5953         ::std::mem::transmute(UlPropSize(::std::mem::transmute(lpspropvalue)))
5954     }
5955     #[cfg(not(windows))]
5956     unimplemented!("Unsupported target OS");
5957 }
5958 #[inline]
UlRelease(lpunk: *mut ::std::ffi::c_void) -> u325959 pub unsafe fn UlRelease(lpunk: *mut ::std::ffi::c_void) -> u32 {
5960     #[cfg(windows)]
5961     {
5962         #[link(name = "windows")]
5963         extern "system" {
5964             fn UlRelease(lpunk: *mut ::std::ffi::c_void) -> u32;
5965         }
5966         ::std::mem::transmute(UlRelease(::std::mem::transmute(lpunk)))
5967     }
5968     #[cfg(not(windows))]
5969     unimplemented!("Unsupported target OS");
5970 }
5971 #[derive(:: std :: clone :: Clone)]
5972 #[repr(C)]
5973 #[cfg(feature = "Win32_Foundation")]
5974 pub struct WABEXTDISPLAY {
5975     pub cbSize: u32,
5976     pub lpWABObject: ::std::option::Option<IWABObject>,
5977     pub lpAdrBook: ::std::option::Option<IAddrBook>,
5978     pub lpPropObj: ::std::option::Option<IMAPIProp>,
5979     pub fReadOnly: super::super::Foundation::BOOL,
5980     pub fDataChanged: super::super::Foundation::BOOL,
5981     pub ulFlags: u32,
5982     pub lpv: *mut ::std::ffi::c_void,
5983     pub lpsz: *mut i8,
5984 }
5985 #[cfg(feature = "Win32_Foundation")]
5986 impl WABEXTDISPLAY {}
5987 #[cfg(feature = "Win32_Foundation")]
5988 impl ::std::default::Default for WABEXTDISPLAY {
default() -> Self5989     fn default() -> Self {
5990         unsafe { ::std::mem::zeroed() }
5991     }
5992 }
5993 #[cfg(feature = "Win32_Foundation")]
5994 impl ::std::fmt::Debug for WABEXTDISPLAY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result5995     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5996         fmt.debug_struct("WABEXTDISPLAY")
5997             .field("cbSize", &self.cbSize)
5998             .field("lpWABObject", &self.lpWABObject)
5999             .field("lpAdrBook", &self.lpAdrBook)
6000             .field("lpPropObj", &self.lpPropObj)
6001             .field("fReadOnly", &self.fReadOnly)
6002             .field("fDataChanged", &self.fDataChanged)
6003             .field("ulFlags", &self.ulFlags)
6004             .field("lpv", &self.lpv)
6005             .field("lpsz", &self.lpsz)
6006             .finish()
6007     }
6008 }
6009 #[cfg(feature = "Win32_Foundation")]
6010 impl ::std::cmp::PartialEq for WABEXTDISPLAY {
eq(&self, other: &Self) -> bool6011     fn eq(&self, other: &Self) -> bool {
6012         self.cbSize == other.cbSize && self.lpWABObject == other.lpWABObject && self.lpAdrBook == other.lpAdrBook && self.lpPropObj == other.lpPropObj && self.fReadOnly == other.fReadOnly && self.fDataChanged == other.fDataChanged && self.ulFlags == other.ulFlags && self.lpv == other.lpv && self.lpsz == other.lpsz
6013     }
6014 }
6015 #[cfg(feature = "Win32_Foundation")]
6016 impl ::std::cmp::Eq for WABEXTDISPLAY {}
6017 #[cfg(feature = "Win32_Foundation")]
6018 unsafe impl ::windows::runtime::Abi for WABEXTDISPLAY {
6019     type Abi = ::std::mem::ManuallyDrop<Self>;
6020     type DefaultType = Self;
6021 }
6022 #[derive(:: std :: clone :: Clone)]
6023 #[repr(C)]
6024 #[cfg(feature = "Win32_Foundation")]
6025 pub struct WABIMPORTPARAM {
6026     pub cbSize: u32,
6027     pub lpAdrBook: ::std::option::Option<IAddrBook>,
6028     pub hWnd: super::super::Foundation::HWND,
6029     pub ulFlags: u32,
6030     pub lpszFileName: super::super::Foundation::PSTR,
6031 }
6032 #[cfg(feature = "Win32_Foundation")]
6033 impl WABIMPORTPARAM {}
6034 #[cfg(feature = "Win32_Foundation")]
6035 impl ::std::default::Default for WABIMPORTPARAM {
default() -> Self6036     fn default() -> Self {
6037         unsafe { ::std::mem::zeroed() }
6038     }
6039 }
6040 #[cfg(feature = "Win32_Foundation")]
6041 impl ::std::fmt::Debug for WABIMPORTPARAM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6042     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6043         fmt.debug_struct("WABIMPORTPARAM").field("cbSize", &self.cbSize).field("lpAdrBook", &self.lpAdrBook).field("hWnd", &self.hWnd).field("ulFlags", &self.ulFlags).field("lpszFileName", &self.lpszFileName).finish()
6044     }
6045 }
6046 #[cfg(feature = "Win32_Foundation")]
6047 impl ::std::cmp::PartialEq for WABIMPORTPARAM {
eq(&self, other: &Self) -> bool6048     fn eq(&self, other: &Self) -> bool {
6049         self.cbSize == other.cbSize && self.lpAdrBook == other.lpAdrBook && self.hWnd == other.hWnd && self.ulFlags == other.ulFlags && self.lpszFileName == other.lpszFileName
6050     }
6051 }
6052 #[cfg(feature = "Win32_Foundation")]
6053 impl ::std::cmp::Eq for WABIMPORTPARAM {}
6054 #[cfg(feature = "Win32_Foundation")]
6055 unsafe impl ::windows::runtime::Abi for WABIMPORTPARAM {
6056     type Abi = ::std::mem::ManuallyDrop<Self>;
6057     type DefaultType = Self;
6058 }
6059 pub const WABOBJECT_LDAPURL_RETURN_MAILUSER: u32 = 1u32;
6060 pub const WABOBJECT_ME_NEW: u32 = 1u32;
6061 pub const WABOBJECT_ME_NOCREATE: u32 = 2u32;
6062 pub const WAB_CONTEXT_ADRLIST: u32 = 2u32;
6063 pub const WAB_DISPLAY_ISNTDS: u32 = 4u32;
6064 pub const WAB_DISPLAY_LDAPURL: u32 = 1u32;
6065 pub const WAB_ENABLE_PROFILES: u32 = 4194304u32;
6066 pub const WAB_IGNORE_PROFILES: u32 = 8388608u32;
6067 pub const WAB_LOCAL_CONTAINERS: u32 = 1048576u32;
6068 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6069 #[repr(C)]
6070 #[cfg(feature = "Win32_Foundation")]
6071 pub struct WAB_PARAM {
6072     pub cbSize: u32,
6073     pub hwnd: super::super::Foundation::HWND,
6074     pub szFileName: super::super::Foundation::PSTR,
6075     pub ulFlags: u32,
6076     pub guidPSExt: ::windows::runtime::GUID,
6077 }
6078 #[cfg(feature = "Win32_Foundation")]
6079 impl WAB_PARAM {}
6080 #[cfg(feature = "Win32_Foundation")]
6081 impl ::std::default::Default for WAB_PARAM {
default() -> Self6082     fn default() -> Self {
6083         unsafe { ::std::mem::zeroed() }
6084     }
6085 }
6086 #[cfg(feature = "Win32_Foundation")]
6087 impl ::std::fmt::Debug for WAB_PARAM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6088     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6089         fmt.debug_struct("WAB_PARAM").field("cbSize", &self.cbSize).field("hwnd", &self.hwnd).field("szFileName", &self.szFileName).field("ulFlags", &self.ulFlags).field("guidPSExt", &self.guidPSExt).finish()
6090     }
6091 }
6092 #[cfg(feature = "Win32_Foundation")]
6093 impl ::std::cmp::PartialEq for WAB_PARAM {
eq(&self, other: &Self) -> bool6094     fn eq(&self, other: &Self) -> bool {
6095         self.cbSize == other.cbSize && self.hwnd == other.hwnd && self.szFileName == other.szFileName && self.ulFlags == other.ulFlags && self.guidPSExt == other.guidPSExt
6096     }
6097 }
6098 #[cfg(feature = "Win32_Foundation")]
6099 impl ::std::cmp::Eq for WAB_PARAM {}
6100 #[cfg(feature = "Win32_Foundation")]
6101 unsafe impl ::windows::runtime::Abi for WAB_PARAM {
6102     type Abi = Self;
6103     type DefaultType = Self;
6104 }
6105 pub const WAB_PROFILE_CONTENTS: u32 = 2097152u32;
6106 pub const WAB_USE_OE_SENDMAIL: u32 = 1u32;
6107 pub const WAB_VCARD_FILE: u32 = 0u32;
6108 pub const WAB_VCARD_STREAM: u32 = 1u32;
6109 #[cfg(feature = "Win32_System_Com")]
6110 #[inline]
WrapCompressedRTFStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::Com::IStream>>(lpcompressedrtfstream: Param0, ulflags: u32) -> ::windows::runtime::Result<super::Com::IStream>6111 pub unsafe fn WrapCompressedRTFStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::Com::IStream>>(lpcompressedrtfstream: Param0, ulflags: u32) -> ::windows::runtime::Result<super::Com::IStream> {
6112     #[cfg(windows)]
6113     {
6114         #[link(name = "windows")]
6115         extern "system" {
6116             fn WrapCompressedRTFStream(lpcompressedrtfstream: ::windows::runtime::RawPtr, ulflags: u32, lpuncompressedrtfstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
6117         }
6118         let mut result__: <super::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6119         WrapCompressedRTFStream(lpcompressedrtfstream.into_param().abi(), ::std::mem::transmute(ulflags), &mut result__).from_abi::<super::Com::IStream>(result__)
6120     }
6121     #[cfg(not(windows))]
6122     unimplemented!("Unsupported target OS");
6123 }
6124 #[inline]
WrapStoreEntryID(ulflags: u32, lpszdllname: *const i8, cborigentry: u32, lporigentry: *const ENTRYID, lpcbwrappedentry: *mut u32, lppwrappedentry: *mut *mut ENTRYID) -> ::windows::runtime::Result<()>6125 pub unsafe fn WrapStoreEntryID(ulflags: u32, lpszdllname: *const i8, cborigentry: u32, lporigentry: *const ENTRYID, lpcbwrappedentry: *mut u32, lppwrappedentry: *mut *mut ENTRYID) -> ::windows::runtime::Result<()> {
6126     #[cfg(windows)]
6127     {
6128         #[link(name = "windows")]
6129         extern "system" {
6130             fn WrapStoreEntryID(ulflags: u32, lpszdllname: *const i8, cborigentry: u32, lporigentry: *const ENTRYID, lpcbwrappedentry: *mut u32, lppwrappedentry: *mut *mut ENTRYID) -> ::windows::runtime::HRESULT;
6131         }
6132         WrapStoreEntryID(::std::mem::transmute(ulflags), ::std::mem::transmute(lpszdllname), ::std::mem::transmute(cborigentry), ::std::mem::transmute(lporigentry), ::std::mem::transmute(lpcbwrappedentry), ::std::mem::transmute(lppwrappedentry)).ok()
6133     }
6134     #[cfg(not(windows))]
6135     unimplemented!("Unsupported target OS");
6136 }
6137 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6138 #[repr(C)]
6139 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6140 pub union _PV {
6141     pub i: i16,
6142     pub l: i32,
6143     pub ul: u32,
6144     pub flt: f32,
6145     pub dbl: f64,
6146     pub b: u16,
6147     pub cur: super::Com::CY,
6148     pub at: f64,
6149     pub ft: super::super::Foundation::FILETIME,
6150     pub lpszA: super::super::Foundation::PSTR,
6151     pub bin: SBinary,
6152     pub lpszW: super::super::Foundation::PWSTR,
6153     pub lpguid: *mut ::windows::runtime::GUID,
6154     pub li: i64,
6155     pub MVi: SShortArray,
6156     pub MVl: SLongArray,
6157     pub MVflt: SRealArray,
6158     pub MVdbl: SDoubleArray,
6159     pub MVcur: SCurrencyArray,
6160     pub MVat: SAppTimeArray,
6161     pub MVft: SDateTimeArray,
6162     pub MVbin: SBinaryArray,
6163     pub MVszA: SLPSTRArray,
6164     pub MVszW: SWStringArray,
6165     pub MVguid: SGuidArray,
6166     pub MVli: SLargeIntegerArray,
6167     pub err: i32,
6168     pub x: i32,
6169 }
6170 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6171 impl _PV {}
6172 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6173 impl ::std::default::Default for _PV {
default() -> Self6174     fn default() -> Self {
6175         unsafe { ::std::mem::zeroed() }
6176     }
6177 }
6178 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6179 impl ::std::cmp::PartialEq for _PV {
eq(&self, _other: &Self) -> bool6180     fn eq(&self, _other: &Self) -> bool {
6181         unimplemented!()
6182     }
6183 }
6184 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6185 impl ::std::cmp::Eq for _PV {}
6186 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
6187 unsafe impl ::windows::runtime::Abi for _PV {
6188     type Abi = Self;
6189     type DefaultType = Self;
6190 }
6191 #[repr(C)]
6192 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
6193 pub struct _WABACTIONITEM(pub u8);
6194 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6195 #[repr(C)]
6196 pub struct _flaglist {
6197     pub cFlags: u32,
6198     pub ulFlag: [u32; 1],
6199 }
6200 impl _flaglist {}
6201 impl ::std::default::Default for _flaglist {
default() -> Self6202     fn default() -> Self {
6203         unsafe { ::std::mem::zeroed() }
6204     }
6205 }
6206 impl ::std::fmt::Debug for _flaglist {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6207     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6208         fmt.debug_struct("_flaglist").field("cFlags", &self.cFlags).field("ulFlag", &self.ulFlag).finish()
6209     }
6210 }
6211 impl ::std::cmp::PartialEq for _flaglist {
eq(&self, other: &Self) -> bool6212     fn eq(&self, other: &Self) -> bool {
6213         self.cFlags == other.cFlags && self.ulFlag == other.ulFlag
6214     }
6215 }
6216 impl ::std::cmp::Eq for _flaglist {}
6217 unsafe impl ::windows::runtime::Abi for _flaglist {
6218     type Abi = Self;
6219     type DefaultType = Self;
6220 }
6221