1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 pub const BlockRange: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186599, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
3 pub const BlockRangeList: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186600, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
4 pub const BootOptions: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904974, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
5 pub const CATID_SMTP_DNSRESOLVERRECORDSINK: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3171631974, 36355, 4562, [148, 246, 0, 192, 79, 121, 241, 214]);
6 pub const CATID_SMTP_DSN: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(582309681, 62968, 19747, [189, 143, 135, 181, 35, 113, 167, 58]);
7 pub const CATID_SMTP_GET_AUX_DOMAIN_INFO_FLAGS: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2231318154, 64179, 17367, [188, 223, 105, 44, 91, 70, 230, 177]);
8 pub const CATID_SMTP_LOG: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2479924536, 11294, 19304, [167, 201, 215, 58, 138, 166, 238, 151]);
9 pub const CATID_SMTP_MAXMSGSIZE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3958462942, 42622, 4562, [148, 247, 0, 192, 79, 121, 241, 214]);
10 pub const CATID_SMTP_MSGTRACKLOG: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3336524458, 32176, 4562, [148, 244, 0, 192, 79, 121, 241, 214]);
11 pub const CATID_SMTP_ON_BEFORE_DATA: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4133653650, 3422, 4562, [170, 104, 0, 192, 79, 163, 91, 130]);
12 pub const CATID_SMTP_ON_INBOUND_COMMAND: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4133653645, 3422, 4562, [170, 104, 0, 192, 79, 163, 91, 130]);
13 pub const CATID_SMTP_ON_MESSAGE_START: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4133653648, 3422, 4562, [170, 104, 0, 192, 79, 163, 91, 130]);
14 pub const CATID_SMTP_ON_PER_RECIPIENT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4133653649, 3422, 4562, [170, 104, 0, 192, 79, 163, 91, 130]);
15 pub const CATID_SMTP_ON_SERVER_RESPONSE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4133653646, 3422, 4562, [170, 104, 0, 192, 79, 163, 91, 130]);
16 pub const CATID_SMTP_ON_SESSION_END: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4133653651, 3422, 4562, [170, 104, 0, 192, 79, 163, 91, 130]);
17 pub const CATID_SMTP_ON_SESSION_START: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4133653647, 3422, 4562, [170, 104, 0, 192, 79, 163, 91, 130]);
18 pub const CATID_SMTP_STORE_DRIVER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1494702160, 58675, 4561, [170, 103, 0, 192, 79, 163, 69, 246]);
19 pub const CATID_SMTP_TRANSPORT_CATEGORIZE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2516734627, 2618, 4562, [158, 0, 0, 192, 79, 163, 34, 186]);
20 pub const CATID_SMTP_TRANSPORT_POSTCATEGORIZE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1987155540, 1446, 4562, [157, 253, 0, 192, 79, 163, 34, 186]);
21 pub const CATID_SMTP_TRANSPORT_PRECATEGORIZE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2746022669, 33791, 4562, [158, 20, 0, 192, 79, 163, 34, 186]);
22 pub const CATID_SMTP_TRANSPORT_ROUTER: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(674509001, 6224, 4562, [158, 3, 0, 192, 79, 163, 34, 186]);
23 pub const CATID_SMTP_TRANSPORT_SUBMISSION: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4282165795, 185, 4562, [157, 251, 0, 192, 79, 163, 34, 186]);
24 pub const CLSID_SmtpCat: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2990290359, 37401, 4562, [158, 23, 0, 192, 79, 163, 34, 186]);
25 #[inline]
CloseIMsgSession(lpmsgsess: *mut _MSGSESS)26 pub unsafe fn CloseIMsgSession(lpmsgsess: *mut _MSGSESS) {
27     #[cfg(windows)]
28     {
29         #[link(name = "windows")]
30         extern "system" {
31             fn CloseIMsgSession(lpmsgsess: *mut _MSGSESS);
32         }
33         ::std::mem::transmute(CloseIMsgSession(::std::mem::transmute(lpmsgsess)))
34     }
35     #[cfg(not(windows))]
36     unimplemented!("Unsupported target OS");
37 }
38 #[repr(transparent)]
39 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
40 pub struct DDiscFormat2DataEvents(::windows::runtime::IUnknown);
41 impl DDiscFormat2DataEvents {
42     #[cfg(feature = "Win32_System_Ole_Automation")]
Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()>43     pub unsafe fn Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()> {
44         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), progress.into_param().abi()).ok()
45     }
46 }
47 unsafe impl ::windows::runtime::Interface for DDiscFormat2DataEvents {
48     type Vtable = DDiscFormat2DataEvents_abi;
49     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801532, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
50 }
51 impl ::std::convert::From<DDiscFormat2DataEvents> for ::windows::runtime::IUnknown {
from(value: DDiscFormat2DataEvents) -> Self52     fn from(value: DDiscFormat2DataEvents) -> Self {
53         unsafe { ::std::mem::transmute(value) }
54     }
55 }
56 impl ::std::convert::From<&DDiscFormat2DataEvents> for ::windows::runtime::IUnknown {
from(value: &DDiscFormat2DataEvents) -> Self57     fn from(value: &DDiscFormat2DataEvents) -> Self {
58         ::std::convert::From::from(::std::clone::Clone::clone(value))
59     }
60 }
61 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DDiscFormat2DataEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>62     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
63         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
64     }
65 }
66 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DDiscFormat2DataEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>67     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
68         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
69     }
70 }
71 #[cfg(feature = "Win32_System_Ole_Automation")]
72 impl ::std::convert::From<DDiscFormat2DataEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: DDiscFormat2DataEvents) -> Self73     fn from(value: DDiscFormat2DataEvents) -> Self {
74         unsafe { ::std::mem::transmute(value) }
75     }
76 }
77 #[cfg(feature = "Win32_System_Ole_Automation")]
78 impl ::std::convert::From<&DDiscFormat2DataEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &DDiscFormat2DataEvents) -> Self79     fn from(value: &DDiscFormat2DataEvents) -> Self {
80         ::std::convert::From::from(::std::clone::Clone::clone(value))
81     }
82 }
83 #[cfg(feature = "Win32_System_Ole_Automation")]
84 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DDiscFormat2DataEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>85     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
86         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
87     }
88 }
89 #[cfg(feature = "Win32_System_Ole_Automation")]
90 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DDiscFormat2DataEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>91     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
92         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
93     }
94 }
95 #[repr(C)]
96 #[doc(hidden)]
97 pub struct DDiscFormat2DataEvents_abi(
98     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
99     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
102     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
103     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
104     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
105     #[cfg(not(feature = "Win32_Foundation"))] usize,
106     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
107     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
108     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
109     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, progress: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
110     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
111 );
112 #[repr(transparent)]
113 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
114 pub struct DDiscFormat2EraseEvents(::windows::runtime::IUnknown);
115 impl DDiscFormat2EraseEvents {
116     #[cfg(feature = "Win32_System_Ole_Automation")]
Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, elapsedseconds: i32, estimatedtotalseconds: i32) -> ::windows::runtime::Result<()>117     pub unsafe fn Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, elapsedseconds: i32, estimatedtotalseconds: i32) -> ::windows::runtime::Result<()> {
118         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(elapsedseconds), ::std::mem::transmute(estimatedtotalseconds)).ok()
119     }
120 }
121 unsafe impl ::windows::runtime::Interface for DDiscFormat2EraseEvents {
122     type Vtable = DDiscFormat2EraseEvents_abi;
123     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801530, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
124 }
125 impl ::std::convert::From<DDiscFormat2EraseEvents> for ::windows::runtime::IUnknown {
from(value: DDiscFormat2EraseEvents) -> Self126     fn from(value: DDiscFormat2EraseEvents) -> Self {
127         unsafe { ::std::mem::transmute(value) }
128     }
129 }
130 impl ::std::convert::From<&DDiscFormat2EraseEvents> for ::windows::runtime::IUnknown {
from(value: &DDiscFormat2EraseEvents) -> Self131     fn from(value: &DDiscFormat2EraseEvents) -> Self {
132         ::std::convert::From::from(::std::clone::Clone::clone(value))
133     }
134 }
135 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DDiscFormat2EraseEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>136     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
137         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
138     }
139 }
140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DDiscFormat2EraseEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
142         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
143     }
144 }
145 #[cfg(feature = "Win32_System_Ole_Automation")]
146 impl ::std::convert::From<DDiscFormat2EraseEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: DDiscFormat2EraseEvents) -> Self147     fn from(value: DDiscFormat2EraseEvents) -> Self {
148         unsafe { ::std::mem::transmute(value) }
149     }
150 }
151 #[cfg(feature = "Win32_System_Ole_Automation")]
152 impl ::std::convert::From<&DDiscFormat2EraseEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &DDiscFormat2EraseEvents) -> Self153     fn from(value: &DDiscFormat2EraseEvents) -> Self {
154         ::std::convert::From::from(::std::clone::Clone::clone(value))
155     }
156 }
157 #[cfg(feature = "Win32_System_Ole_Automation")]
158 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DDiscFormat2EraseEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>159     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
160         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
161     }
162 }
163 #[cfg(feature = "Win32_System_Ole_Automation")]
164 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DDiscFormat2EraseEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>165     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
166         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
167     }
168 }
169 #[repr(C)]
170 #[doc(hidden)]
171 pub struct DDiscFormat2EraseEvents_abi(
172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
176     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
177     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
178     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
179     #[cfg(not(feature = "Win32_Foundation"))] usize,
180     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
181     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
182     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
183     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, elapsedseconds: i32, estimatedtotalseconds: i32) -> ::windows::runtime::HRESULT,
184     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
185 );
186 #[repr(transparent)]
187 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
188 pub struct DDiscFormat2RawCDEvents(::windows::runtime::IUnknown);
189 impl DDiscFormat2RawCDEvents {
190     #[cfg(feature = "Win32_System_Ole_Automation")]
Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()>191     pub unsafe fn Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()> {
192         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), progress.into_param().abi()).ok()
193     }
194 }
195 unsafe impl ::windows::runtime::Interface for DDiscFormat2RawCDEvents {
196     type Vtable = DDiscFormat2RawCDEvents_abi;
197     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801538, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
198 }
199 impl ::std::convert::From<DDiscFormat2RawCDEvents> for ::windows::runtime::IUnknown {
from(value: DDiscFormat2RawCDEvents) -> Self200     fn from(value: DDiscFormat2RawCDEvents) -> Self {
201         unsafe { ::std::mem::transmute(value) }
202     }
203 }
204 impl ::std::convert::From<&DDiscFormat2RawCDEvents> for ::windows::runtime::IUnknown {
from(value: &DDiscFormat2RawCDEvents) -> Self205     fn from(value: &DDiscFormat2RawCDEvents) -> Self {
206         ::std::convert::From::from(::std::clone::Clone::clone(value))
207     }
208 }
209 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DDiscFormat2RawCDEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>210     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
211         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
212     }
213 }
214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DDiscFormat2RawCDEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
216         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
217     }
218 }
219 #[cfg(feature = "Win32_System_Ole_Automation")]
220 impl ::std::convert::From<DDiscFormat2RawCDEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: DDiscFormat2RawCDEvents) -> Self221     fn from(value: DDiscFormat2RawCDEvents) -> Self {
222         unsafe { ::std::mem::transmute(value) }
223     }
224 }
225 #[cfg(feature = "Win32_System_Ole_Automation")]
226 impl ::std::convert::From<&DDiscFormat2RawCDEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &DDiscFormat2RawCDEvents) -> Self227     fn from(value: &DDiscFormat2RawCDEvents) -> Self {
228         ::std::convert::From::from(::std::clone::Clone::clone(value))
229     }
230 }
231 #[cfg(feature = "Win32_System_Ole_Automation")]
232 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DDiscFormat2RawCDEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>233     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
234         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
235     }
236 }
237 #[cfg(feature = "Win32_System_Ole_Automation")]
238 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DDiscFormat2RawCDEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>239     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
240         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
241     }
242 }
243 #[repr(C)]
244 #[doc(hidden)]
245 pub struct DDiscFormat2RawCDEvents_abi(
246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
250     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
251     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
252     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
253     #[cfg(not(feature = "Win32_Foundation"))] usize,
254     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
255     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
256     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
257     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, progress: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
258     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
259 );
260 #[repr(transparent)]
261 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
262 pub struct DDiscFormat2TrackAtOnceEvents(::windows::runtime::IUnknown);
263 impl DDiscFormat2TrackAtOnceEvents {
264     #[cfg(feature = "Win32_System_Ole_Automation")]
Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()>265     pub unsafe fn Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()> {
266         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), progress.into_param().abi()).ok()
267     }
268 }
269 unsafe impl ::windows::runtime::Interface for DDiscFormat2TrackAtOnceEvents {
270     type Vtable = DDiscFormat2TrackAtOnceEvents_abi;
271     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801535, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
272 }
273 impl ::std::convert::From<DDiscFormat2TrackAtOnceEvents> for ::windows::runtime::IUnknown {
from(value: DDiscFormat2TrackAtOnceEvents) -> Self274     fn from(value: DDiscFormat2TrackAtOnceEvents) -> Self {
275         unsafe { ::std::mem::transmute(value) }
276     }
277 }
278 impl ::std::convert::From<&DDiscFormat2TrackAtOnceEvents> for ::windows::runtime::IUnknown {
from(value: &DDiscFormat2TrackAtOnceEvents) -> Self279     fn from(value: &DDiscFormat2TrackAtOnceEvents) -> Self {
280         ::std::convert::From::from(::std::clone::Clone::clone(value))
281     }
282 }
283 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DDiscFormat2TrackAtOnceEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>284     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
285         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
286     }
287 }
288 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DDiscFormat2TrackAtOnceEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>289     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
290         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
291     }
292 }
293 #[cfg(feature = "Win32_System_Ole_Automation")]
294 impl ::std::convert::From<DDiscFormat2TrackAtOnceEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: DDiscFormat2TrackAtOnceEvents) -> Self295     fn from(value: DDiscFormat2TrackAtOnceEvents) -> Self {
296         unsafe { ::std::mem::transmute(value) }
297     }
298 }
299 #[cfg(feature = "Win32_System_Ole_Automation")]
300 impl ::std::convert::From<&DDiscFormat2TrackAtOnceEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &DDiscFormat2TrackAtOnceEvents) -> Self301     fn from(value: &DDiscFormat2TrackAtOnceEvents) -> Self {
302         ::std::convert::From::from(::std::clone::Clone::clone(value))
303     }
304 }
305 #[cfg(feature = "Win32_System_Ole_Automation")]
306 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DDiscFormat2TrackAtOnceEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>307     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
308         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
309     }
310 }
311 #[cfg(feature = "Win32_System_Ole_Automation")]
312 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DDiscFormat2TrackAtOnceEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>313     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
314         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
315     }
316 }
317 #[repr(C)]
318 #[doc(hidden)]
319 pub struct DDiscFormat2TrackAtOnceEvents_abi(
320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
324     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
325     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
326     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
327     #[cfg(not(feature = "Win32_Foundation"))] usize,
328     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
329     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
330     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
331     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, progress: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
332     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
333 );
334 #[repr(transparent)]
335 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
336 pub struct DDiscMaster2Events(::windows::runtime::IUnknown);
337 impl DDiscMaster2Events {
338     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
NotifyDeviceAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, uniqueid: Param1) -> ::windows::runtime::Result<()>339     pub unsafe fn NotifyDeviceAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, uniqueid: Param1) -> ::windows::runtime::Result<()> {
340         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), uniqueid.into_param().abi()).ok()
341     }
342     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
NotifyDeviceRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, uniqueid: Param1) -> ::windows::runtime::Result<()>343     pub unsafe fn NotifyDeviceRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, uniqueid: Param1) -> ::windows::runtime::Result<()> {
344         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), object.into_param().abi(), uniqueid.into_param().abi()).ok()
345     }
346 }
347 unsafe impl ::windows::runtime::Interface for DDiscMaster2Events {
348     type Vtable = DDiscMaster2Events_abi;
349     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801521, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
350 }
351 impl ::std::convert::From<DDiscMaster2Events> for ::windows::runtime::IUnknown {
from(value: DDiscMaster2Events) -> Self352     fn from(value: DDiscMaster2Events) -> Self {
353         unsafe { ::std::mem::transmute(value) }
354     }
355 }
356 impl ::std::convert::From<&DDiscMaster2Events> for ::windows::runtime::IUnknown {
from(value: &DDiscMaster2Events) -> Self357     fn from(value: &DDiscMaster2Events) -> Self {
358         ::std::convert::From::from(::std::clone::Clone::clone(value))
359     }
360 }
361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DDiscMaster2Events {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
363         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
364     }
365 }
366 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DDiscMaster2Events {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>367     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
368         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
369     }
370 }
371 #[cfg(feature = "Win32_System_Ole_Automation")]
372 impl ::std::convert::From<DDiscMaster2Events> for super::super::System::Ole::Automation::IDispatch {
from(value: DDiscMaster2Events) -> Self373     fn from(value: DDiscMaster2Events) -> Self {
374         unsafe { ::std::mem::transmute(value) }
375     }
376 }
377 #[cfg(feature = "Win32_System_Ole_Automation")]
378 impl ::std::convert::From<&DDiscMaster2Events> for super::super::System::Ole::Automation::IDispatch {
from(value: &DDiscMaster2Events) -> Self379     fn from(value: &DDiscMaster2Events) -> Self {
380         ::std::convert::From::from(::std::clone::Clone::clone(value))
381     }
382 }
383 #[cfg(feature = "Win32_System_Ole_Automation")]
384 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DDiscMaster2Events {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>385     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
386         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
387     }
388 }
389 #[cfg(feature = "Win32_System_Ole_Automation")]
390 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DDiscMaster2Events {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>391     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
392         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
393     }
394 }
395 #[repr(C)]
396 #[doc(hidden)]
397 pub struct DDiscMaster2Events_abi(
398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
402     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
403     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
404     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
405     #[cfg(not(feature = "Win32_Foundation"))] usize,
406     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
407     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
408     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
409     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, uniqueid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
410     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation")))] usize,
411     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, uniqueid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
412     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation")))] usize,
413 );
414 #[repr(transparent)]
415 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
416 pub struct DFileSystemImageEvents(::windows::runtime::IUnknown);
417 impl DFileSystemImageEvents {
418     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, currentfile: Param1, copiedsectors: i32, totalsectors: i32) -> ::windows::runtime::Result<()>419     pub unsafe fn Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, currentfile: Param1, copiedsectors: i32, totalsectors: i32) -> ::windows::runtime::Result<()> {
420         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), currentfile.into_param().abi(), ::std::mem::transmute(copiedsectors), ::std::mem::transmute(totalsectors)).ok()
421     }
422 }
423 unsafe impl ::windows::runtime::Interface for DFileSystemImageEvents {
424     type Vtable = DFileSystemImageEvents_abi;
425     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904991, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
426 }
427 impl ::std::convert::From<DFileSystemImageEvents> for ::windows::runtime::IUnknown {
from(value: DFileSystemImageEvents) -> Self428     fn from(value: DFileSystemImageEvents) -> Self {
429         unsafe { ::std::mem::transmute(value) }
430     }
431 }
432 impl ::std::convert::From<&DFileSystemImageEvents> for ::windows::runtime::IUnknown {
from(value: &DFileSystemImageEvents) -> Self433     fn from(value: &DFileSystemImageEvents) -> Self {
434         ::std::convert::From::from(::std::clone::Clone::clone(value))
435     }
436 }
437 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DFileSystemImageEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>438     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
439         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
440     }
441 }
442 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DFileSystemImageEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>443     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
444         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
445     }
446 }
447 #[cfg(feature = "Win32_System_Ole_Automation")]
448 impl ::std::convert::From<DFileSystemImageEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: DFileSystemImageEvents) -> Self449     fn from(value: DFileSystemImageEvents) -> Self {
450         unsafe { ::std::mem::transmute(value) }
451     }
452 }
453 #[cfg(feature = "Win32_System_Ole_Automation")]
454 impl ::std::convert::From<&DFileSystemImageEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &DFileSystemImageEvents) -> Self455     fn from(value: &DFileSystemImageEvents) -> Self {
456         ::std::convert::From::from(::std::clone::Clone::clone(value))
457     }
458 }
459 #[cfg(feature = "Win32_System_Ole_Automation")]
460 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DFileSystemImageEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>461     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
462         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
463     }
464 }
465 #[cfg(feature = "Win32_System_Ole_Automation")]
466 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DFileSystemImageEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>467     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
468         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
469     }
470 }
471 #[repr(C)]
472 #[doc(hidden)]
473 pub struct DFileSystemImageEvents_abi(
474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
478     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
479     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
480     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
481     #[cfg(not(feature = "Win32_Foundation"))] usize,
482     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
483     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
484     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
485     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, currentfile: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, copiedsectors: i32, totalsectors: i32) -> ::windows::runtime::HRESULT,
486     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation")))] usize,
487 );
488 #[repr(transparent)]
489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
490 pub struct DFileSystemImageImportEvents(::windows::runtime::IUnknown);
491 impl DFileSystemImageImportEvents {
492     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
UpdateImport<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, filesystem: FsiFileSystems, currentitem: Param2, importeddirectoryitems: i32, totaldirectoryitems: i32, importedfileitems: i32, totalfileitems: i32) -> ::windows::runtime::Result<()>493     pub unsafe fn UpdateImport<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, object: Param0, filesystem: FsiFileSystems, currentitem: Param2, importeddirectoryitems: i32, totaldirectoryitems: i32, importedfileitems: i32, totalfileitems: i32) -> ::windows::runtime::Result<()> {
494         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(filesystem), currentitem.into_param().abi(), ::std::mem::transmute(importeddirectoryitems), ::std::mem::transmute(totaldirectoryitems), ::std::mem::transmute(importedfileitems), ::std::mem::transmute(totalfileitems)).ok()
495     }
496 }
497 unsafe impl ::windows::runtime::Interface for DFileSystemImageImportEvents {
498     type Vtable = DFileSystemImageImportEvents_abi;
499     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3529257209, 16519, 17254, [158, 36, 229, 91, 226, 134, 66, 75]);
500 }
501 impl ::std::convert::From<DFileSystemImageImportEvents> for ::windows::runtime::IUnknown {
from(value: DFileSystemImageImportEvents) -> Self502     fn from(value: DFileSystemImageImportEvents) -> Self {
503         unsafe { ::std::mem::transmute(value) }
504     }
505 }
506 impl ::std::convert::From<&DFileSystemImageImportEvents> for ::windows::runtime::IUnknown {
from(value: &DFileSystemImageImportEvents) -> Self507     fn from(value: &DFileSystemImageImportEvents) -> Self {
508         ::std::convert::From::from(::std::clone::Clone::clone(value))
509     }
510 }
511 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DFileSystemImageImportEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>512     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
513         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
514     }
515 }
516 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DFileSystemImageImportEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>517     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
518         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
519     }
520 }
521 #[cfg(feature = "Win32_System_Ole_Automation")]
522 impl ::std::convert::From<DFileSystemImageImportEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: DFileSystemImageImportEvents) -> Self523     fn from(value: DFileSystemImageImportEvents) -> Self {
524         unsafe { ::std::mem::transmute(value) }
525     }
526 }
527 #[cfg(feature = "Win32_System_Ole_Automation")]
528 impl ::std::convert::From<&DFileSystemImageImportEvents> for super::super::System::Ole::Automation::IDispatch {
from(value: &DFileSystemImageImportEvents) -> Self529     fn from(value: &DFileSystemImageImportEvents) -> Self {
530         ::std::convert::From::from(::std::clone::Clone::clone(value))
531     }
532 }
533 #[cfg(feature = "Win32_System_Ole_Automation")]
534 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DFileSystemImageImportEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>535     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
536         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
537     }
538 }
539 #[cfg(feature = "Win32_System_Ole_Automation")]
540 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DFileSystemImageImportEvents {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>541     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
542         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
543     }
544 }
545 #[repr(C)]
546 #[doc(hidden)]
547 pub struct DFileSystemImageImportEvents_abi(
548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
552     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
553     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
554     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
555     #[cfg(not(feature = "Win32_Foundation"))] usize,
556     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
557     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
558     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
559     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, currentitem: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, importeddirectoryitems: i32, totaldirectoryitems: i32, importedfileitems: i32, totalfileitems: i32) -> ::windows::runtime::HRESULT,
560     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation")))] usize,
561 );
562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
563 #[repr(transparent)]
564 pub struct DISC_RECORDER_STATE_FLAGS(pub u32);
565 pub const RECORDER_BURNING: DISC_RECORDER_STATE_FLAGS = DISC_RECORDER_STATE_FLAGS(2u32);
566 pub const RECORDER_DOING_NOTHING: DISC_RECORDER_STATE_FLAGS = DISC_RECORDER_STATE_FLAGS(0u32);
567 pub const RECORDER_OPENED: DISC_RECORDER_STATE_FLAGS = DISC_RECORDER_STATE_FLAGS(1u32);
568 impl ::std::convert::From<u32> for DISC_RECORDER_STATE_FLAGS {
from(value: u32) -> Self569     fn from(value: u32) -> Self {
570         Self(value)
571     }
572 }
573 unsafe impl ::windows::runtime::Abi for DISC_RECORDER_STATE_FLAGS {
574     type Abi = Self;
575     type DefaultType = Self;
576 }
577 impl ::std::ops::BitOr for DISC_RECORDER_STATE_FLAGS {
578     type Output = Self;
bitor(self, rhs: Self) -> Self579     fn bitor(self, rhs: Self) -> Self {
580         Self(self.0 | rhs.0)
581     }
582 }
583 impl ::std::ops::BitAnd for DISC_RECORDER_STATE_FLAGS {
584     type Output = Self;
bitand(self, rhs: Self) -> Self585     fn bitand(self, rhs: Self) -> Self {
586         Self(self.0 & rhs.0)
587     }
588 }
589 impl ::std::ops::BitOrAssign for DISC_RECORDER_STATE_FLAGS {
bitor_assign(&mut self, rhs: Self)590     fn bitor_assign(&mut self, rhs: Self) {
591         self.0.bitor_assign(rhs.0)
592     }
593 }
594 impl ::std::ops::BitAndAssign for DISC_RECORDER_STATE_FLAGS {
bitand_assign(&mut self, rhs: Self)595     fn bitand_assign(&mut self, rhs: Self) {
596         self.0.bitand_assign(rhs.0)
597     }
598 }
599 impl ::std::ops::Not for DISC_RECORDER_STATE_FLAGS {
600     type Output = Self;
not(self) -> Self601     fn not(self) -> Self {
602         Self(self.0.not())
603     }
604 }
605 pub const DISPID_DDISCFORMAT2DATAEVENTS_UPDATE: u32 = 512u32;
606 pub const DISPID_DDISCFORMAT2RAWCDEVENTS_UPDATE: u32 = 512u32;
607 pub const DISPID_DDISCFORMAT2TAOEVENTS_UPDATE: u32 = 512u32;
608 pub const DISPID_DDISCMASTER2EVENTS_DEVICEADDED: u32 = 256u32;
609 pub const DISPID_DDISCMASTER2EVENTS_DEVICEREMOVED: u32 = 257u32;
610 pub const DISPID_DFILESYSTEMIMAGEEVENTS_UPDATE: u32 = 256u32;
611 pub const DISPID_DFILESYSTEMIMAGEIMPORTEVENTS_UPDATEIMPORT: u32 = 257u32;
612 pub const DISPID_DWRITEENGINE2EVENTS_UPDATE: u32 = 256u32;
613 pub const DISPID_IBLOCKRANGELIST_BLOCKRANGES: u32 = 256u32;
614 pub const DISPID_IBLOCKRANGE_ENDLBA: u32 = 257u32;
615 pub const DISPID_IBLOCKRANGE_STARTLBA: u32 = 256u32;
616 pub const DISPID_IDISCFORMAT2DATAEVENTARGS_CURRENTACTION: u32 = 771u32;
617 pub const DISPID_IDISCFORMAT2DATAEVENTARGS_ELAPSEDTIME: u32 = 768u32;
618 pub const DISPID_IDISCFORMAT2DATAEVENTARGS_ESTIMATEDREMAININGTIME: u32 = 769u32;
619 pub const DISPID_IDISCFORMAT2DATAEVENTARGS_ESTIMATEDTOTALTIME: u32 = 770u32;
620 pub const DISPID_IDISCFORMAT2DATA_BUFFERUNDERRUNFREEDISABLED: u32 = 257u32;
621 pub const DISPID_IDISCFORMAT2DATA_CANCELWRITE: u32 = 513u32;
622 pub const DISPID_IDISCFORMAT2DATA_CLIENTNAME: u32 = 272u32;
623 pub const DISPID_IDISCFORMAT2DATA_CURRENTMEDIASTATUS: u32 = 262u32;
624 pub const DISPID_IDISCFORMAT2DATA_CURRENTMEDIATYPE: u32 = 271u32;
625 pub const DISPID_IDISCFORMAT2DATA_CURRENTROTATIONTYPEISPURECAV: u32 = 276u32;
626 pub const DISPID_IDISCFORMAT2DATA_CURRENTWRITESPEED: u32 = 275u32;
627 pub const DISPID_IDISCFORMAT2DATA_DISABLEDVDCOMPATIBILITYMODE: u32 = 270u32;
628 pub const DISPID_IDISCFORMAT2DATA_FORCEMEDIATOBECLOSED: u32 = 269u32;
629 pub const DISPID_IDISCFORMAT2DATA_FORCEOVERWRITE: u32 = 279u32;
630 pub const DISPID_IDISCFORMAT2DATA_FREESECTORS: u32 = 265u32;
631 pub const DISPID_IDISCFORMAT2DATA_LASTSECTOROFPREVIOUSSESSION: u32 = 268u32;
632 pub const DISPID_IDISCFORMAT2DATA_MUTLISESSIONINTERFACES: u32 = 280u32;
633 pub const DISPID_IDISCFORMAT2DATA_NEXTWRITABLEADDRESS: u32 = 266u32;
634 pub const DISPID_IDISCFORMAT2DATA_POSTGAPALREADYINIMAGE: u32 = 260u32;
635 pub const DISPID_IDISCFORMAT2DATA_RECORDER: u32 = 256u32;
636 pub const DISPID_IDISCFORMAT2DATA_REQUESTEDROTATIONTYPEISPURECAV: u32 = 274u32;
637 pub const DISPID_IDISCFORMAT2DATA_REQUESTEDWRITESPEED: u32 = 273u32;
638 pub const DISPID_IDISCFORMAT2DATA_SETWRITESPEED: u32 = 514u32;
639 pub const DISPID_IDISCFORMAT2DATA_STARTSECTOROFPREVIOUSSESSION: u32 = 267u32;
640 pub const DISPID_IDISCFORMAT2DATA_SUPPORTEDWRITESPEEDDESCRIPTORS: u32 = 278u32;
641 pub const DISPID_IDISCFORMAT2DATA_SUPPORTEDWRITESPEEDS: u32 = 277u32;
642 pub const DISPID_IDISCFORMAT2DATA_TOTALSECTORS: u32 = 264u32;
643 pub const DISPID_IDISCFORMAT2DATA_WRITE: u32 = 512u32;
644 pub const DISPID_IDISCFORMAT2DATA_WRITEPROTECTSTATUS: u32 = 263u32;
645 pub const DISPID_IDISCFORMAT2ERASEEVENTS_UPDATE: u32 = 512u32;
646 pub const DISPID_IDISCFORMAT2ERASE_CLIENTNAME: u32 = 259u32;
647 pub const DISPID_IDISCFORMAT2ERASE_ERASEMEDIA: u32 = 513u32;
648 pub const DISPID_IDISCFORMAT2ERASE_FULLERASE: u32 = 257u32;
649 pub const DISPID_IDISCFORMAT2ERASE_MEDIATYPE: u32 = 258u32;
650 pub const DISPID_IDISCFORMAT2ERASE_RECORDER: u32 = 256u32;
651 pub const DISPID_IDISCFORMAT2RAWCDEVENTARGS_CURRENTACTION: u32 = 769u32;
652 pub const DISPID_IDISCFORMAT2RAWCDEVENTARGS_CURRENTTRACKNUMBER: u32 = 768u32;
653 pub const DISPID_IDISCFORMAT2RAWCDEVENTARGS_ELAPSEDTIME: u32 = 768u32;
654 pub const DISPID_IDISCFORMAT2RAWCDEVENTARGS_ESTIMATEDREMAININGTIME: u32 = 769u32;
655 pub const DISPID_IDISCFORMAT2RAWCDEVENTARGS_ESTIMATEDTOTALTIME: u32 = 770u32;
656 pub const DISPID_IDISCFORMAT2RAWCD_BUFFERUNDERRUNFREEDISABLED: u32 = 258u32;
657 pub const DISPID_IDISCFORMAT2RAWCD_CANCELWRITE: u32 = 515u32;
658 pub const DISPID_IDISCFORMAT2RAWCD_CLIENTNAME: u32 = 266u32;
659 pub const DISPID_IDISCFORMAT2RAWCD_CURRENTMEDIATYPE: u32 = 261u32;
660 pub const DISPID_IDISCFORMAT2RAWCD_CURRENTROTATIONTYPEISPURECAV: u32 = 270u32;
661 pub const DISPID_IDISCFORMAT2RAWCD_CURRENTWRITESPEED: u32 = 269u32;
662 pub const DISPID_IDISCFORMAT2RAWCD_LASTPOSSIBLESTARTOFLEADOUT: u32 = 260u32;
663 pub const DISPID_IDISCFORMAT2RAWCD_PREPAREMEDIA: u32 = 512u32;
664 pub const DISPID_IDISCFORMAT2RAWCD_RECORDER: u32 = 256u32;
665 pub const DISPID_IDISCFORMAT2RAWCD_RELEASEMEDIA: u32 = 516u32;
666 pub const DISPID_IDISCFORMAT2RAWCD_REQUESTEDDATASECTORTYPE: u32 = 265u32;
667 pub const DISPID_IDISCFORMAT2RAWCD_REQUESTEDROTATIONTYPEISPURECAV: u32 = 268u32;
668 pub const DISPID_IDISCFORMAT2RAWCD_REQUESTEDWRITESPEED: u32 = 267u32;
669 pub const DISPID_IDISCFORMAT2RAWCD_SETWRITESPEED: u32 = 517u32;
670 pub const DISPID_IDISCFORMAT2RAWCD_STARTOFNEXTSESSION: u32 = 259u32;
671 pub const DISPID_IDISCFORMAT2RAWCD_SUPPORTEDDATASECTORTYPES: u32 = 264u32;
672 pub const DISPID_IDISCFORMAT2RAWCD_SUPPORTEDWRITESPEEDDESCRIPTORS: u32 = 272u32;
673 pub const DISPID_IDISCFORMAT2RAWCD_SUPPORTEDWRITESPEEDS: u32 = 271u32;
674 pub const DISPID_IDISCFORMAT2RAWCD_WRITEMEDIA: u32 = 513u32;
675 pub const DISPID_IDISCFORMAT2RAWCD_WRITEMEDIAWITHVALIDATION: u32 = 514u32;
676 pub const DISPID_IDISCFORMAT2TAOEVENTARGS_CURRENTACTION: u32 = 769u32;
677 pub const DISPID_IDISCFORMAT2TAOEVENTARGS_CURRENTTRACKNUMBER: u32 = 768u32;
678 pub const DISPID_IDISCFORMAT2TAOEVENTARGS_ELAPSEDTIME: u32 = 770u32;
679 pub const DISPID_IDISCFORMAT2TAOEVENTARGS_ESTIMATEDREMAININGTIME: u32 = 771u32;
680 pub const DISPID_IDISCFORMAT2TAOEVENTARGS_ESTIMATEDTOTALTIME: u32 = 772u32;
681 pub const DISPID_IDISCFORMAT2TAO_ADDAUDIOTRACK: u32 = 513u32;
682 pub const DISPID_IDISCFORMAT2TAO_BUFFERUNDERRUNFREEDISABLED: u32 = 258u32;
683 pub const DISPID_IDISCFORMAT2TAO_CANCELADDTRACK: u32 = 514u32;
684 pub const DISPID_IDISCFORMAT2TAO_CLIENTNAME: u32 = 270u32;
685 pub const DISPID_IDISCFORMAT2TAO_CURRENTMEDIATYPE: u32 = 267u32;
686 pub const DISPID_IDISCFORMAT2TAO_CURRENTROTATIONTYPEISPURECAV: u32 = 274u32;
687 pub const DISPID_IDISCFORMAT2TAO_CURRENTWRITESPEED: u32 = 273u32;
688 pub const DISPID_IDISCFORMAT2TAO_DONOTFINALIZEMEDIA: u32 = 263u32;
689 pub const DISPID_IDISCFORMAT2TAO_EXPECTEDTABLEOFCONTENTS: u32 = 266u32;
690 pub const DISPID_IDISCFORMAT2TAO_FINISHMEDIA: u32 = 515u32;
691 pub const DISPID_IDISCFORMAT2TAO_FREESECTORSONMEDIA: u32 = 261u32;
692 pub const DISPID_IDISCFORMAT2TAO_NUMBEROFEXISTINGTRACKS: u32 = 259u32;
693 pub const DISPID_IDISCFORMAT2TAO_PREPAREMEDIA: u32 = 512u32;
694 pub const DISPID_IDISCFORMAT2TAO_RECORDER: u32 = 256u32;
695 pub const DISPID_IDISCFORMAT2TAO_REQUESTEDROTATIONTYPEISPURECAV: u32 = 272u32;
696 pub const DISPID_IDISCFORMAT2TAO_REQUESTEDWRITESPEED: u32 = 271u32;
697 pub const DISPID_IDISCFORMAT2TAO_SETWRITESPEED: u32 = 516u32;
698 pub const DISPID_IDISCFORMAT2TAO_SUPPORTEDWRITESPEEDDESCRIPTORS: u32 = 276u32;
699 pub const DISPID_IDISCFORMAT2TAO_SUPPORTEDWRITESPEEDS: u32 = 275u32;
700 pub const DISPID_IDISCFORMAT2TAO_TOTALSECTORSONMEDIA: u32 = 260u32;
701 pub const DISPID_IDISCFORMAT2TAO_USEDSECTORSONMEDIA: u32 = 262u32;
702 pub const DISPID_IDISCFORMAT2_MEDIAHEURISTICALLYBLANK: u32 = 1793u32;
703 pub const DISPID_IDISCFORMAT2_MEDIAPHYSICALLYBLANK: u32 = 1792u32;
704 pub const DISPID_IDISCFORMAT2_MEDIASUPPORTED: u32 = 2049u32;
705 pub const DISPID_IDISCFORMAT2_RECORDERSUPPORTED: u32 = 2048u32;
706 pub const DISPID_IDISCFORMAT2_SUPPORTEDMEDIATYPES: u32 = 1794u32;
707 pub const DISPID_IDISCRECORDER2_ACQUIREEXCLUSIVEACCESS: u32 = 258u32;
708 pub const DISPID_IDISCRECORDER2_ACTIVEDISCRECORDER: u32 = 0u32;
709 pub const DISPID_IDISCRECORDER2_CLOSETRAY: u32 = 257u32;
710 pub const DISPID_IDISCRECORDER2_CURRENTFEATUREPAGES: u32 = 521u32;
711 pub const DISPID_IDISCRECORDER2_CURRENTPROFILES: u32 = 523u32;
712 pub const DISPID_IDISCRECORDER2_DEVICECANLOADMEDIA: u32 = 518u32;
713 pub const DISPID_IDISCRECORDER2_DISABLEMCN: u32 = 260u32;
714 pub const DISPID_IDISCRECORDER2_EJECTMEDIA: u32 = 256u32;
715 pub const DISPID_IDISCRECORDER2_ENABLEMCN: u32 = 261u32;
716 pub const DISPID_IDISCRECORDER2_EXCLUSIVEACCESSOWNER: u32 = 525u32;
717 pub const DISPID_IDISCRECORDER2_INITIALIZEDISCRECORDER: u32 = 262u32;
718 pub const DISPID_IDISCRECORDER2_LEGACYDEVICENUMBER: u32 = 519u32;
719 pub const DISPID_IDISCRECORDER2_PRODUCTID: u32 = 514u32;
720 pub const DISPID_IDISCRECORDER2_PRODUCTREVISION: u32 = 515u32;
721 pub const DISPID_IDISCRECORDER2_RELEASEEXCLUSIVEACCESS: u32 = 259u32;
722 pub const DISPID_IDISCRECORDER2_SUPPORTEDFEATUREPAGES: u32 = 520u32;
723 pub const DISPID_IDISCRECORDER2_SUPPORTEDMODEPAGES: u32 = 524u32;
724 pub const DISPID_IDISCRECORDER2_SUPPORTEDPROFILES: u32 = 522u32;
725 pub const DISPID_IDISCRECORDER2_VENDORID: u32 = 513u32;
726 pub const DISPID_IDISCRECORDER2_VOLUMENAME: u32 = 516u32;
727 pub const DISPID_IDISCRECORDER2_VOLUMEPATHNAMES: u32 = 517u32;
728 pub const DISPID_IMULTISESSION_FIRSTDATASESSION: u32 = 512u32;
729 pub const DISPID_IMULTISESSION_FREESECTORS: u32 = 516u32;
730 pub const DISPID_IMULTISESSION_IMPORTRECORDER: u32 = 258u32;
731 pub const DISPID_IMULTISESSION_INUSE: u32 = 257u32;
732 pub const DISPID_IMULTISESSION_LASTSECTOROFPREVIOUSSESSION: u32 = 514u32;
733 pub const DISPID_IMULTISESSION_LASTWRITTENADDRESS: u32 = 518u32;
734 pub const DISPID_IMULTISESSION_NEXTWRITABLEADDRESS: u32 = 515u32;
735 pub const DISPID_IMULTISESSION_SECTORSONMEDIA: u32 = 519u32;
736 pub const DISPID_IMULTISESSION_STARTSECTOROFPREVIOUSSESSION: u32 = 513u32;
737 pub const DISPID_IMULTISESSION_SUPPORTEDONCURRENTMEDIA: u32 = 256u32;
738 pub const DISPID_IMULTISESSION_WRITEUNITSIZE: u32 = 517u32;
739 pub const DISPID_IRAWCDIMAGECREATOR_ADDSPECIALPREGAP: u32 = 514u32;
740 pub const DISPID_IRAWCDIMAGECREATOR_ADDSUBCODERWGENERATOR: u32 = 515u32;
741 pub const DISPID_IRAWCDIMAGECREATOR_ADDTRACK: u32 = 513u32;
742 pub const DISPID_IRAWCDIMAGECREATOR_CREATERESULTIMAGE: u32 = 512u32;
743 pub const DISPID_IRAWCDIMAGECREATOR_DISABLEGAPLESSAUDIO: u32 = 259u32;
744 pub const DISPID_IRAWCDIMAGECREATOR_EXPECTEDTABLEOFCONTENTS: u32 = 265u32;
745 pub const DISPID_IRAWCDIMAGECREATOR_MEDIACATALOGNUMBER: u32 = 260u32;
746 pub const DISPID_IRAWCDIMAGECREATOR_NUMBEROFEXISTINGTRACKS: u32 = 263u32;
747 pub const DISPID_IRAWCDIMAGECREATOR_RESULTINGIMAGETYPE: u32 = 256u32;
748 pub const DISPID_IRAWCDIMAGECREATOR_STARTINGTRACKNUMBER: u32 = 261u32;
749 pub const DISPID_IRAWCDIMAGECREATOR_STARTOFLEADOUT: u32 = 257u32;
750 pub const DISPID_IRAWCDIMAGECREATOR_STARTOFLEADOUTLIMIT: u32 = 258u32;
751 pub const DISPID_IRAWCDIMAGECREATOR_TRACKINFO: u32 = 262u32;
752 pub const DISPID_IRAWCDIMAGECREATOR_USEDSECTORSONDISC: u32 = 264u32;
753 pub const DISPID_IRAWCDTRACKINFO_AUDIOHASPREEMPHASIS: u32 = 262u32;
754 pub const DISPID_IRAWCDTRACKINFO_DIGITALAUDIOCOPYSETTING: u32 = 261u32;
755 pub const DISPID_IRAWCDTRACKINFO_ISRC: u32 = 260u32;
756 pub const DISPID_IRAWCDTRACKINFO_SECTORCOUNT: u32 = 257u32;
757 pub const DISPID_IRAWCDTRACKINFO_SECTORTYPE: u32 = 259u32;
758 pub const DISPID_IRAWCDTRACKINFO_STARTINGLBA: u32 = 256u32;
759 pub const DISPID_IRAWCDTRACKINFO_TRACKNUMBER: u32 = 258u32;
760 pub const DISPID_IWRITEENGINE2EVENTARGS_FREESYSTEMBUFFER: u32 = 264u32;
761 pub const DISPID_IWRITEENGINE2EVENTARGS_LASTREADLBA: u32 = 258u32;
762 pub const DISPID_IWRITEENGINE2EVENTARGS_LASTWRITTENLBA: u32 = 259u32;
763 pub const DISPID_IWRITEENGINE2EVENTARGS_SECTORCOUNT: u32 = 257u32;
764 pub const DISPID_IWRITEENGINE2EVENTARGS_STARTLBA: u32 = 256u32;
765 pub const DISPID_IWRITEENGINE2EVENTARGS_TOTALDEVICEBUFFER: u32 = 260u32;
766 pub const DISPID_IWRITEENGINE2EVENTARGS_TOTALSYSTEMBUFFER: u32 = 262u32;
767 pub const DISPID_IWRITEENGINE2EVENTARGS_USEDDEVICEBUFFER: u32 = 261u32;
768 pub const DISPID_IWRITEENGINE2EVENTARGS_USEDSYSTEMBUFFER: u32 = 263u32;
769 pub const DISPID_IWRITEENGINE2_BYTESPERSECTOR: u32 = 260u32;
770 pub const DISPID_IWRITEENGINE2_CANCELWRITE: u32 = 513u32;
771 pub const DISPID_IWRITEENGINE2_DISCRECORDER: u32 = 256u32;
772 pub const DISPID_IWRITEENGINE2_ENDINGSECTORSPERSECOND: u32 = 259u32;
773 pub const DISPID_IWRITEENGINE2_STARTINGSECTORSPERSECOND: u32 = 258u32;
774 pub const DISPID_IWRITEENGINE2_USESTREAMINGWRITE12: u32 = 257u32;
775 pub const DISPID_IWRITEENGINE2_WRITEINPROGRESS: u32 = 261u32;
776 pub const DISPID_IWRITEENGINE2_WRITESECTION: u32 = 512u32;
777 #[repr(transparent)]
778 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
779 pub struct DWriteEngine2Events(::windows::runtime::IUnknown);
780 impl DWriteEngine2Events {
781     #[cfg(feature = "Win32_System_Ole_Automation")]
Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()>782     pub unsafe fn Update<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch>>(&self, object: Param0, progress: Param1) -> ::windows::runtime::Result<()> {
783         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), object.into_param().abi(), progress.into_param().abi()).ok()
784     }
785 }
786 unsafe impl ::windows::runtime::Interface for DWriteEngine2Events {
787     type Vtable = DWriteEngine2Events_abi;
788     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801527, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
789 }
790 impl ::std::convert::From<DWriteEngine2Events> for ::windows::runtime::IUnknown {
from(value: DWriteEngine2Events) -> Self791     fn from(value: DWriteEngine2Events) -> Self {
792         unsafe { ::std::mem::transmute(value) }
793     }
794 }
795 impl ::std::convert::From<&DWriteEngine2Events> for ::windows::runtime::IUnknown {
from(value: &DWriteEngine2Events) -> Self796     fn from(value: &DWriteEngine2Events) -> Self {
797         ::std::convert::From::from(::std::clone::Clone::clone(value))
798     }
799 }
800 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DWriteEngine2Events {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>801     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
802         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
803     }
804 }
805 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DWriteEngine2Events {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>806     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
807         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
808     }
809 }
810 #[cfg(feature = "Win32_System_Ole_Automation")]
811 impl ::std::convert::From<DWriteEngine2Events> for super::super::System::Ole::Automation::IDispatch {
from(value: DWriteEngine2Events) -> Self812     fn from(value: DWriteEngine2Events) -> Self {
813         unsafe { ::std::mem::transmute(value) }
814     }
815 }
816 #[cfg(feature = "Win32_System_Ole_Automation")]
817 impl ::std::convert::From<&DWriteEngine2Events> for super::super::System::Ole::Automation::IDispatch {
from(value: &DWriteEngine2Events) -> Self818     fn from(value: &DWriteEngine2Events) -> Self {
819         ::std::convert::From::from(::std::clone::Clone::clone(value))
820     }
821 }
822 #[cfg(feature = "Win32_System_Ole_Automation")]
823 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for DWriteEngine2Events {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>824     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
825         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
826     }
827 }
828 #[cfg(feature = "Win32_System_Ole_Automation")]
829 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &DWriteEngine2Events {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>830     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
831         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
832     }
833 }
834 #[repr(C)]
835 #[doc(hidden)]
836 pub struct DWriteEngine2Events_abi(
837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
841     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
842     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
843     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
844     #[cfg(not(feature = "Win32_Foundation"))] usize,
845     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
846     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
847     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
848     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, progress: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
849     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
850 );
851 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
852 #[repr(transparent)]
853 pub struct EmulationType(pub i32);
854 pub const EmulationNone: EmulationType = EmulationType(0i32);
855 pub const Emulation12MFloppy: EmulationType = EmulationType(1i32);
856 pub const Emulation144MFloppy: EmulationType = EmulationType(2i32);
857 pub const Emulation288MFloppy: EmulationType = EmulationType(3i32);
858 pub const EmulationHardDisk: EmulationType = EmulationType(4i32);
859 impl ::std::convert::From<i32> for EmulationType {
from(value: i32) -> Self860     fn from(value: i32) -> Self {
861         Self(value)
862     }
863 }
864 unsafe impl ::windows::runtime::Abi for EmulationType {
865     type Abi = Self;
866     type DefaultType = Self;
867 }
868 pub const EnumFsiItems: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904966, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
869 pub const EnumProgressItems: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904970, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
870 pub const FileSystemImageResult: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904972, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
871 pub const FsiDirectoryItem: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904968, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
872 pub const FsiFileItem: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904967, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
873 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
874 #[repr(transparent)]
875 pub struct FsiFileSystems(pub i32);
876 pub const FsiFileSystemNone: FsiFileSystems = FsiFileSystems(0i32);
877 pub const FsiFileSystemISO9660: FsiFileSystems = FsiFileSystems(1i32);
878 pub const FsiFileSystemJoliet: FsiFileSystems = FsiFileSystems(2i32);
879 pub const FsiFileSystemUDF: FsiFileSystems = FsiFileSystems(4i32);
880 pub const FsiFileSystemUnknown: FsiFileSystems = FsiFileSystems(1073741824i32);
881 impl ::std::convert::From<i32> for FsiFileSystems {
from(value: i32) -> Self882     fn from(value: i32) -> Self {
883         Self(value)
884     }
885 }
886 unsafe impl ::windows::runtime::Abi for FsiFileSystems {
887     type Abi = Self;
888     type DefaultType = Self;
889 }
890 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
891 #[repr(transparent)]
892 pub struct FsiItemType(pub i32);
893 pub const FsiItemNotFound: FsiItemType = FsiItemType(0i32);
894 pub const FsiItemDirectory: FsiItemType = FsiItemType(1i32);
895 pub const FsiItemFile: FsiItemType = FsiItemType(2i32);
896 impl ::std::convert::From<i32> for FsiItemType {
from(value: i32) -> Self897     fn from(value: i32) -> Self {
898         Self(value)
899     }
900 }
901 unsafe impl ::windows::runtime::Abi for FsiItemType {
902     type Abi = Self;
903     type DefaultType = Self;
904 }
905 pub const FsiNamedStreams: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3333880045, 27929, 17588, [181, 57, 177, 89, 183, 147, 163, 45]);
906 pub const FsiStream: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904973, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
907 pub const GUID_SMTPSVC_SOURCE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(456918630, 58480, 4561, [170, 103, 0, 192, 79, 163, 69, 246]);
908 pub const GUID_SMTP_SOURCE_TYPE: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4217750748, 58472, 4561, [170, 103, 0, 192, 79, 163, 69, 246]);
909 #[cfg(feature = "Win32_System_AddressBook")]
910 #[inline]
GetAttribIMsgOnIStg(lpobject: *mut ::std::ffi::c_void, lpproptagarray: *mut super::super::System::AddressBook::SPropTagArray, lpppropattrarray: *mut *mut SPropAttrArray) -> ::windows::runtime::Result<()>911 pub unsafe fn GetAttribIMsgOnIStg(lpobject: *mut ::std::ffi::c_void, lpproptagarray: *mut super::super::System::AddressBook::SPropTagArray, lpppropattrarray: *mut *mut SPropAttrArray) -> ::windows::runtime::Result<()> {
912     #[cfg(windows)]
913     {
914         #[link(name = "windows")]
915         extern "system" {
916             fn GetAttribIMsgOnIStg(lpobject: *mut ::std::ffi::c_void, lpproptagarray: *mut super::super::System::AddressBook::SPropTagArray, lpppropattrarray: *mut *mut SPropAttrArray) -> ::windows::runtime::HRESULT;
917         }
918         GetAttribIMsgOnIStg(::std::mem::transmute(lpobject), ::std::mem::transmute(lpproptagarray), ::std::mem::transmute(lpppropattrarray)).ok()
919     }
920     #[cfg(not(windows))]
921     unimplemented!("Unsupported target OS");
922 }
923 #[repr(transparent)]
924 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
925 pub struct IBlockRange(::windows::runtime::IUnknown);
926 impl IBlockRange {
StartLba(&self) -> ::windows::runtime::Result<i32>927     pub unsafe fn StartLba(&self) -> ::windows::runtime::Result<i32> {
928         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
929         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
930     }
EndLba(&self) -> ::windows::runtime::Result<i32>931     pub unsafe fn EndLba(&self) -> ::windows::runtime::Result<i32> {
932         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
933         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
934     }
935 }
936 unsafe impl ::windows::runtime::Interface for IBlockRange {
937     type Vtable = IBlockRange_abi;
938     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186597, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
939 }
940 impl ::std::convert::From<IBlockRange> for ::windows::runtime::IUnknown {
from(value: IBlockRange) -> Self941     fn from(value: IBlockRange) -> Self {
942         unsafe { ::std::mem::transmute(value) }
943     }
944 }
945 impl ::std::convert::From<&IBlockRange> for ::windows::runtime::IUnknown {
from(value: &IBlockRange) -> Self946     fn from(value: &IBlockRange) -> Self {
947         ::std::convert::From::from(::std::clone::Clone::clone(value))
948     }
949 }
950 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBlockRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>951     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
952         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
953     }
954 }
955 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBlockRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>956     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
957         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
958     }
959 }
960 #[cfg(feature = "Win32_System_Ole_Automation")]
961 impl ::std::convert::From<IBlockRange> for super::super::System::Ole::Automation::IDispatch {
from(value: IBlockRange) -> Self962     fn from(value: IBlockRange) -> Self {
963         unsafe { ::std::mem::transmute(value) }
964     }
965 }
966 #[cfg(feature = "Win32_System_Ole_Automation")]
967 impl ::std::convert::From<&IBlockRange> for super::super::System::Ole::Automation::IDispatch {
from(value: &IBlockRange) -> Self968     fn from(value: &IBlockRange) -> Self {
969         ::std::convert::From::from(::std::clone::Clone::clone(value))
970     }
971 }
972 #[cfg(feature = "Win32_System_Ole_Automation")]
973 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IBlockRange {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>974     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
975         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
976     }
977 }
978 #[cfg(feature = "Win32_System_Ole_Automation")]
979 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IBlockRange {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>980     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
981         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
982     }
983 }
984 #[repr(C)]
985 #[doc(hidden)]
986 pub struct IBlockRange_abi(
987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
991     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
992     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
993     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
994     #[cfg(not(feature = "Win32_Foundation"))] usize,
995     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
996     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
997     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1000 );
1001 #[repr(transparent)]
1002 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1003 pub struct IBlockRangeList(::windows::runtime::IUnknown);
1004 impl IBlockRangeList {
1005     #[cfg(feature = "Win32_System_Com")]
BlockRanges(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1006     pub unsafe fn BlockRanges(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1007         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1008         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1009     }
1010 }
1011 unsafe impl ::windows::runtime::Interface for IBlockRangeList {
1012     type Vtable = IBlockRangeList_abi;
1013     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186598, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
1014 }
1015 impl ::std::convert::From<IBlockRangeList> for ::windows::runtime::IUnknown {
from(value: IBlockRangeList) -> Self1016     fn from(value: IBlockRangeList) -> Self {
1017         unsafe { ::std::mem::transmute(value) }
1018     }
1019 }
1020 impl ::std::convert::From<&IBlockRangeList> for ::windows::runtime::IUnknown {
from(value: &IBlockRangeList) -> Self1021     fn from(value: &IBlockRangeList) -> Self {
1022         ::std::convert::From::from(::std::clone::Clone::clone(value))
1023     }
1024 }
1025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBlockRangeList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1027         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1028     }
1029 }
1030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBlockRangeList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1031     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1032         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1033     }
1034 }
1035 #[cfg(feature = "Win32_System_Ole_Automation")]
1036 impl ::std::convert::From<IBlockRangeList> for super::super::System::Ole::Automation::IDispatch {
from(value: IBlockRangeList) -> Self1037     fn from(value: IBlockRangeList) -> Self {
1038         unsafe { ::std::mem::transmute(value) }
1039     }
1040 }
1041 #[cfg(feature = "Win32_System_Ole_Automation")]
1042 impl ::std::convert::From<&IBlockRangeList> for super::super::System::Ole::Automation::IDispatch {
from(value: &IBlockRangeList) -> Self1043     fn from(value: &IBlockRangeList) -> Self {
1044         ::std::convert::From::from(::std::clone::Clone::clone(value))
1045     }
1046 }
1047 #[cfg(feature = "Win32_System_Ole_Automation")]
1048 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IBlockRangeList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1049     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1050         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1051     }
1052 }
1053 #[cfg(feature = "Win32_System_Ole_Automation")]
1054 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IBlockRangeList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1055     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1056         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1057     }
1058 }
1059 #[repr(C)]
1060 #[doc(hidden)]
1061 pub struct IBlockRangeList_abi(
1062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1066     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1067     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1068     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1069     #[cfg(not(feature = "Win32_Foundation"))] usize,
1070     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1071     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1072     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1073     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1074     #[cfg(not(feature = "Win32_System_Com"))] usize,
1075 );
1076 #[repr(transparent)]
1077 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1078 pub struct IBootOptions(::windows::runtime::IUnknown);
1079 impl IBootOptions {
1080     #[cfg(feature = "Win32_System_Com")]
BootImage(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>1081     pub unsafe fn BootImage(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
1082         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1083         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
1084     }
1085     #[cfg(feature = "Win32_Foundation")]
Manufacturer(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1086     pub unsafe fn Manufacturer(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1087         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1088         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1089     }
1090     #[cfg(feature = "Win32_Foundation")]
SetManufacturer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()>1091     pub unsafe fn SetManufacturer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
1092         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
1093     }
PlatformId(&self) -> ::windows::runtime::Result<PlatformId>1094     pub unsafe fn PlatformId(&self) -> ::windows::runtime::Result<PlatformId> {
1095         let mut result__: <PlatformId as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1096         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<PlatformId>(result__)
1097     }
SetPlatformId(&self, newval: PlatformId) -> ::windows::runtime::Result<()>1098     pub unsafe fn SetPlatformId(&self, newval: PlatformId) -> ::windows::runtime::Result<()> {
1099         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
1100     }
Emulation(&self) -> ::windows::runtime::Result<EmulationType>1101     pub unsafe fn Emulation(&self) -> ::windows::runtime::Result<EmulationType> {
1102         let mut result__: <EmulationType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1103         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<EmulationType>(result__)
1104     }
SetEmulation(&self, newval: EmulationType) -> ::windows::runtime::Result<()>1105     pub unsafe fn SetEmulation(&self, newval: EmulationType) -> ::windows::runtime::Result<()> {
1106         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
1107     }
ImageSize(&self) -> ::windows::runtime::Result<u32>1108     pub unsafe fn ImageSize(&self) -> ::windows::runtime::Result<u32> {
1109         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1110         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1111     }
1112     #[cfg(feature = "Win32_System_Com")]
AssignBootImage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, newval: Param0) -> ::windows::runtime::Result<()>1113     pub unsafe fn AssignBootImage<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
1114         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
1115     }
1116 }
1117 unsafe impl ::windows::runtime::Interface for IBootOptions {
1118     type Vtable = IBootOptions_abi;
1119     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904980, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
1120 }
1121 impl ::std::convert::From<IBootOptions> for ::windows::runtime::IUnknown {
from(value: IBootOptions) -> Self1122     fn from(value: IBootOptions) -> Self {
1123         unsafe { ::std::mem::transmute(value) }
1124     }
1125 }
1126 impl ::std::convert::From<&IBootOptions> for ::windows::runtime::IUnknown {
from(value: &IBootOptions) -> Self1127     fn from(value: &IBootOptions) -> Self {
1128         ::std::convert::From::from(::std::clone::Clone::clone(value))
1129     }
1130 }
1131 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBootOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1132     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1133         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1134     }
1135 }
1136 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBootOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1137     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1138         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1139     }
1140 }
1141 #[cfg(feature = "Win32_System_Ole_Automation")]
1142 impl ::std::convert::From<IBootOptions> for super::super::System::Ole::Automation::IDispatch {
from(value: IBootOptions) -> Self1143     fn from(value: IBootOptions) -> Self {
1144         unsafe { ::std::mem::transmute(value) }
1145     }
1146 }
1147 #[cfg(feature = "Win32_System_Ole_Automation")]
1148 impl ::std::convert::From<&IBootOptions> for super::super::System::Ole::Automation::IDispatch {
from(value: &IBootOptions) -> Self1149     fn from(value: &IBootOptions) -> Self {
1150         ::std::convert::From::from(::std::clone::Clone::clone(value))
1151     }
1152 }
1153 #[cfg(feature = "Win32_System_Ole_Automation")]
1154 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IBootOptions {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1155     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1156         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1157     }
1158 }
1159 #[cfg(feature = "Win32_System_Ole_Automation")]
1160 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IBootOptions {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1161     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1162         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1163     }
1164 }
1165 #[repr(C)]
1166 #[doc(hidden)]
1167 pub struct IBootOptions_abi(
1168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1172     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1173     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1174     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1175     #[cfg(not(feature = "Win32_Foundation"))] usize,
1176     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1177     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1178     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1179     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1180     #[cfg(not(feature = "Win32_System_Com"))] usize,
1181     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1182     #[cfg(not(feature = "Win32_Foundation"))] usize,
1183     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1184     #[cfg(not(feature = "Win32_Foundation"))] usize,
1185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut PlatformId) -> ::windows::runtime::HRESULT,
1186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: PlatformId) -> ::windows::runtime::HRESULT,
1187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut EmulationType) -> ::windows::runtime::HRESULT,
1188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: EmulationType) -> ::windows::runtime::HRESULT,
1189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
1190     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1191     #[cfg(not(feature = "Win32_System_Com"))] usize,
1192 );
1193 #[repr(transparent)]
1194 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1195 pub struct IBurnVerification(::windows::runtime::IUnknown);
1196 impl IBurnVerification {
SetBurnVerificationLevel(&self, value: IMAPI_BURN_VERIFICATION_LEVEL) -> ::windows::runtime::Result<()>1197     pub unsafe fn SetBurnVerificationLevel(&self, value: IMAPI_BURN_VERIFICATION_LEVEL) -> ::windows::runtime::Result<()> {
1198         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1199     }
BurnVerificationLevel(&self) -> ::windows::runtime::Result<IMAPI_BURN_VERIFICATION_LEVEL>1200     pub unsafe fn BurnVerificationLevel(&self) -> ::windows::runtime::Result<IMAPI_BURN_VERIFICATION_LEVEL> {
1201         let mut result__: <IMAPI_BURN_VERIFICATION_LEVEL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1202         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_BURN_VERIFICATION_LEVEL>(result__)
1203     }
1204 }
1205 unsafe impl ::windows::runtime::Interface for IBurnVerification {
1206     type Vtable = IBurnVerification_abi;
1207     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3539982388, 38283, 17005, [132, 112, 42, 19, 135, 156, 106, 145]);
1208 }
1209 impl ::std::convert::From<IBurnVerification> for ::windows::runtime::IUnknown {
from(value: IBurnVerification) -> Self1210     fn from(value: IBurnVerification) -> Self {
1211         unsafe { ::std::mem::transmute(value) }
1212     }
1213 }
1214 impl ::std::convert::From<&IBurnVerification> for ::windows::runtime::IUnknown {
from(value: &IBurnVerification) -> Self1215     fn from(value: &IBurnVerification) -> Self {
1216         ::std::convert::From::from(::std::clone::Clone::clone(value))
1217     }
1218 }
1219 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBurnVerification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1220     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1221         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1222     }
1223 }
1224 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBurnVerification {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1225     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1226         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1227     }
1228 }
1229 #[repr(C)]
1230 #[doc(hidden)]
1231 pub struct IBurnVerification_abi(
1232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: IMAPI_BURN_VERIFICATION_LEVEL) -> ::windows::runtime::HRESULT,
1236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_BURN_VERIFICATION_LEVEL) -> ::windows::runtime::HRESULT,
1237 );
1238 #[repr(transparent)]
1239 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1240 pub struct IDiscFormat2(::windows::runtime::IUnknown);
1241 impl IDiscFormat2 {
IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1242     pub unsafe fn IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1243         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1244         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1245     }
IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1246     pub unsafe fn IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1247         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1248         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1249     }
MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16>1250     pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1251         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1252         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1253     }
MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16>1254     pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1255         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1256         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1257     }
1258     #[cfg(feature = "Win32_System_Com")]
SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1259     pub unsafe fn SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1260         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1261         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1262     }
1263 }
1264 unsafe impl ::windows::runtime::Interface for IDiscFormat2 {
1265     type Vtable = IDiscFormat2_abi;
1266     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801554, 36708, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
1267 }
1268 impl ::std::convert::From<IDiscFormat2> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2) -> Self1269     fn from(value: IDiscFormat2) -> Self {
1270         unsafe { ::std::mem::transmute(value) }
1271     }
1272 }
1273 impl ::std::convert::From<&IDiscFormat2> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2) -> Self1274     fn from(value: &IDiscFormat2) -> Self {
1275         ::std::convert::From::from(::std::clone::Clone::clone(value))
1276     }
1277 }
1278 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1279     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1280         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1281     }
1282 }
1283 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1284     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1285         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1286     }
1287 }
1288 #[cfg(feature = "Win32_System_Ole_Automation")]
1289 impl ::std::convert::From<IDiscFormat2> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2) -> Self1290     fn from(value: IDiscFormat2) -> Self {
1291         unsafe { ::std::mem::transmute(value) }
1292     }
1293 }
1294 #[cfg(feature = "Win32_System_Ole_Automation")]
1295 impl ::std::convert::From<&IDiscFormat2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2) -> Self1296     fn from(value: &IDiscFormat2) -> Self {
1297         ::std::convert::From::from(::std::clone::Clone::clone(value))
1298     }
1299 }
1300 #[cfg(feature = "Win32_System_Ole_Automation")]
1301 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1302     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1303         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1304     }
1305 }
1306 #[cfg(feature = "Win32_System_Ole_Automation")]
1307 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1308     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1309         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1310     }
1311 }
1312 #[repr(C)]
1313 #[doc(hidden)]
1314 pub struct IDiscFormat2_abi(
1315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1319     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1320     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1321     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1322     #[cfg(not(feature = "Win32_Foundation"))] usize,
1323     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1324     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1325     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1330     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1331     #[cfg(not(feature = "Win32_System_Com"))] usize,
1332 );
1333 #[repr(transparent)]
1334 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1335 pub struct IDiscFormat2Data(::windows::runtime::IUnknown);
1336 impl IDiscFormat2Data {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>1337     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1338         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1339         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1340     }
1341     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>1342     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1343         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1344         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1345     }
1346     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>1347     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1348         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1349     }
1350     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>1351     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1352         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1353     }
IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1354     pub unsafe fn IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1355         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1356         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1357     }
IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1358     pub unsafe fn IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1359         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1360         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1361     }
MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16>1362     pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1363         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1364         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1365     }
MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16>1366     pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1367         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1368         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1369     }
1370     #[cfg(feature = "Win32_System_Com")]
SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1371     pub unsafe fn SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1372         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1373         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1374     }
SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()>1375     pub unsafe fn SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1376         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
1377     }
Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>1378     pub unsafe fn Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
1379         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1380         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
1381     }
SetBufferUnderrunFreeDisabled(&self, value: i16) -> ::windows::runtime::Result<()>1382     pub unsafe fn SetBufferUnderrunFreeDisabled(&self, value: i16) -> ::windows::runtime::Result<()> {
1383         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1384     }
BufferUnderrunFreeDisabled(&self) -> ::windows::runtime::Result<i16>1385     pub unsafe fn BufferUnderrunFreeDisabled(&self) -> ::windows::runtime::Result<i16> {
1386         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1387         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1388     }
SetPostgapAlreadyInImage(&self, value: i16) -> ::windows::runtime::Result<()>1389     pub unsafe fn SetPostgapAlreadyInImage(&self, value: i16) -> ::windows::runtime::Result<()> {
1390         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1391     }
PostgapAlreadyInImage(&self) -> ::windows::runtime::Result<i16>1392     pub unsafe fn PostgapAlreadyInImage(&self) -> ::windows::runtime::Result<i16> {
1393         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1394         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1395     }
CurrentMediaStatus(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_DATA_MEDIA_STATE>1396     pub unsafe fn CurrentMediaStatus(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_DATA_MEDIA_STATE> {
1397         let mut result__: <IMAPI_FORMAT2_DATA_MEDIA_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1398         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_FORMAT2_DATA_MEDIA_STATE>(result__)
1399     }
WriteProtectStatus(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_WRITE_PROTECT_STATE>1400     pub unsafe fn WriteProtectStatus(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_WRITE_PROTECT_STATE> {
1401         let mut result__: <IMAPI_MEDIA_WRITE_PROTECT_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1402         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_MEDIA_WRITE_PROTECT_STATE>(result__)
1403     }
TotalSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>1404     pub unsafe fn TotalSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
1405         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1406         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1407     }
FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>1408     pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
1409         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1410         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1411     }
NextWritableAddress(&self) -> ::windows::runtime::Result<i32>1412     pub unsafe fn NextWritableAddress(&self) -> ::windows::runtime::Result<i32> {
1413         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1414         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1415     }
StartAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32>1416     pub unsafe fn StartAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32> {
1417         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1418         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1419     }
LastWrittenAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32>1420     pub unsafe fn LastWrittenAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32> {
1421         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1422         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1423     }
SetForceMediaToBeClosed(&self, value: i16) -> ::windows::runtime::Result<()>1424     pub unsafe fn SetForceMediaToBeClosed(&self, value: i16) -> ::windows::runtime::Result<()> {
1425         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1426     }
ForceMediaToBeClosed(&self) -> ::windows::runtime::Result<i16>1427     pub unsafe fn ForceMediaToBeClosed(&self) -> ::windows::runtime::Result<i16> {
1428         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1429         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1430     }
SetDisableConsumerDvdCompatibilityMode(&self, value: i16) -> ::windows::runtime::Result<()>1431     pub unsafe fn SetDisableConsumerDvdCompatibilityMode(&self, value: i16) -> ::windows::runtime::Result<()> {
1432         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1433     }
DisableConsumerDvdCompatibilityMode(&self) -> ::windows::runtime::Result<i16>1434     pub unsafe fn DisableConsumerDvdCompatibilityMode(&self) -> ::windows::runtime::Result<i16> {
1435         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1436         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1437     }
CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE>1438     pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE> {
1439         let mut result__: <IMAPI_MEDIA_PHYSICAL_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1440         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_MEDIA_PHYSICAL_TYPE>(result__)
1441     }
1442     #[cfg(feature = "Win32_Foundation")]
SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()>1443     pub unsafe fn SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1444         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
1445     }
1446     #[cfg(feature = "Win32_Foundation")]
ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1447     pub unsafe fn ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1448         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1449         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1450     }
RequestedWriteSpeed(&self) -> ::windows::runtime::Result<i32>1451     pub unsafe fn RequestedWriteSpeed(&self) -> ::windows::runtime::Result<i32> {
1452         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1453         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1454     }
RequestedRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16>1455     pub unsafe fn RequestedRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16> {
1456         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1457         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1458     }
CurrentWriteSpeed(&self) -> ::windows::runtime::Result<i32>1459     pub unsafe fn CurrentWriteSpeed(&self) -> ::windows::runtime::Result<i32> {
1460         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1461         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1462     }
CurrentRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16>1463     pub unsafe fn CurrentRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16> {
1464         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1465         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1466     }
1467     #[cfg(feature = "Win32_System_Com")]
SupportedWriteSpeeds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1468     pub unsafe fn SupportedWriteSpeeds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1469         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1470         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1471     }
1472     #[cfg(feature = "Win32_System_Com")]
SupportedWriteSpeedDescriptors(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1473     pub unsafe fn SupportedWriteSpeedDescriptors(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1474         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1475         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1476     }
SetForceOverwrite(&self, value: i16) -> ::windows::runtime::Result<()>1477     pub unsafe fn SetForceOverwrite(&self, value: i16) -> ::windows::runtime::Result<()> {
1478         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1479     }
ForceOverwrite(&self) -> ::windows::runtime::Result<i16>1480     pub unsafe fn ForceOverwrite(&self) -> ::windows::runtime::Result<i16> {
1481         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1482         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1483     }
1484     #[cfg(feature = "Win32_System_Com")]
MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1485     pub unsafe fn MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1486         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1487         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1488     }
1489     #[cfg(feature = "Win32_System_Com")]
Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()>1490     pub unsafe fn Write<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()> {
1491         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), data.into_param().abi()).ok()
1492     }
CancelWrite(&self) -> ::windows::runtime::Result<()>1493     pub unsafe fn CancelWrite(&self) -> ::windows::runtime::Result<()> {
1494         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self)).ok()
1495     }
SetWriteSpeed(&self, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::Result<()>1496     pub unsafe fn SetWriteSpeed(&self, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::Result<()> {
1497         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestedsectorspersecond), ::std::mem::transmute(rotationtypeispurecav)).ok()
1498     }
1499 }
1500 unsafe impl ::windows::runtime::Interface for IDiscFormat2Data {
1501     type Vtable = IDiscFormat2Data_abi;
1502     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801555, 40804, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
1503 }
1504 impl ::std::convert::From<IDiscFormat2Data> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2Data) -> Self1505     fn from(value: IDiscFormat2Data) -> Self {
1506         unsafe { ::std::mem::transmute(value) }
1507     }
1508 }
1509 impl ::std::convert::From<&IDiscFormat2Data> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2Data) -> Self1510     fn from(value: &IDiscFormat2Data) -> Self {
1511         ::std::convert::From::from(::std::clone::Clone::clone(value))
1512     }
1513 }
1514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2Data {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1516         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1517     }
1518 }
1519 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2Data {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1520     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1521         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1522     }
1523 }
1524 impl ::std::convert::From<IDiscFormat2Data> for IDiscFormat2 {
from(value: IDiscFormat2Data) -> Self1525     fn from(value: IDiscFormat2Data) -> Self {
1526         unsafe { ::std::mem::transmute(value) }
1527     }
1528 }
1529 impl ::std::convert::From<&IDiscFormat2Data> for IDiscFormat2 {
from(value: &IDiscFormat2Data) -> Self1530     fn from(value: &IDiscFormat2Data) -> Self {
1531         ::std::convert::From::from(::std::clone::Clone::clone(value))
1532     }
1533 }
1534 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for IDiscFormat2Data {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>1535     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
1536         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(self))
1537     }
1538 }
1539 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for &IDiscFormat2Data {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>1540     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
1541         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(::std::clone::Clone::clone(self)))
1542     }
1543 }
1544 #[cfg(feature = "Win32_System_Ole_Automation")]
1545 impl ::std::convert::From<IDiscFormat2Data> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2Data) -> Self1546     fn from(value: IDiscFormat2Data) -> Self {
1547         unsafe { ::std::mem::transmute(value) }
1548     }
1549 }
1550 #[cfg(feature = "Win32_System_Ole_Automation")]
1551 impl ::std::convert::From<&IDiscFormat2Data> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2Data) -> Self1552     fn from(value: &IDiscFormat2Data) -> Self {
1553         ::std::convert::From::from(::std::clone::Clone::clone(value))
1554     }
1555 }
1556 #[cfg(feature = "Win32_System_Ole_Automation")]
1557 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2Data {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1558     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1559         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1560     }
1561 }
1562 #[cfg(feature = "Win32_System_Ole_Automation")]
1563 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2Data {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1564     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1565         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1566     }
1567 }
1568 #[repr(C)]
1569 #[doc(hidden)]
1570 pub struct IDiscFormat2Data_abi(
1571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1575     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1576     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1577     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1578     #[cfg(not(feature = "Win32_Foundation"))] usize,
1579     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1580     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1581     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1586     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1587     #[cfg(not(feature = "Win32_System_Com"))] usize,
1588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
1591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
1593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_FORMAT2_DATA_MEDIA_STATE) -> ::windows::runtime::HRESULT,
1595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_MEDIA_WRITE_PROTECT_STATE) -> ::windows::runtime::HRESULT,
1596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
1602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
1604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
1606     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1607     #[cfg(not(feature = "Win32_Foundation"))] usize,
1608     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1609     #[cfg(not(feature = "Win32_Foundation"))] usize,
1610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1614     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedspeeds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1615     #[cfg(not(feature = "Win32_System_Com"))] usize,
1616     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedspeeddescriptors: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1617     #[cfg(not(feature = "Win32_System_Com"))] usize,
1618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
1619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1620     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1621     #[cfg(not(feature = "Win32_System_Com"))] usize,
1622     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1623     #[cfg(not(feature = "Win32_System_Com"))] usize,
1624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::HRESULT,
1626 );
1627 #[repr(transparent)]
1628 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1629 pub struct IDiscFormat2DataEventArgs(::windows::runtime::IUnknown);
1630 impl IDiscFormat2DataEventArgs {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>1631     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1632         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1633         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1634     }
1635     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>1636     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1637         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1638         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1639     }
1640     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>1641     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1642         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1643     }
1644     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>1645     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1646         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1647     }
StartLba(&self) -> ::windows::runtime::Result<i32>1648     pub unsafe fn StartLba(&self) -> ::windows::runtime::Result<i32> {
1649         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1650         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1651     }
SectorCount(&self) -> ::windows::runtime::Result<i32>1652     pub unsafe fn SectorCount(&self) -> ::windows::runtime::Result<i32> {
1653         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1654         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1655     }
LastReadLba(&self) -> ::windows::runtime::Result<i32>1656     pub unsafe fn LastReadLba(&self) -> ::windows::runtime::Result<i32> {
1657         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1658         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1659     }
LastWrittenLba(&self) -> ::windows::runtime::Result<i32>1660     pub unsafe fn LastWrittenLba(&self) -> ::windows::runtime::Result<i32> {
1661         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1662         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1663     }
TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32>1664     pub unsafe fn TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
1665         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1666         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1667     }
UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32>1668     pub unsafe fn UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
1669         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1670         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1671     }
FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32>1672     pub unsafe fn FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
1673         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1674         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1675     }
ElapsedTime(&self) -> ::windows::runtime::Result<i32>1676     pub unsafe fn ElapsedTime(&self) -> ::windows::runtime::Result<i32> {
1677         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1678         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1679     }
RemainingTime(&self) -> ::windows::runtime::Result<i32>1680     pub unsafe fn RemainingTime(&self) -> ::windows::runtime::Result<i32> {
1681         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1682         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1683     }
TotalTime(&self) -> ::windows::runtime::Result<i32>1684     pub unsafe fn TotalTime(&self) -> ::windows::runtime::Result<i32> {
1685         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1686         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1687     }
CurrentAction(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_DATA_WRITE_ACTION>1688     pub unsafe fn CurrentAction(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_DATA_WRITE_ACTION> {
1689         let mut result__: <IMAPI_FORMAT2_DATA_WRITE_ACTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1690         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_FORMAT2_DATA_WRITE_ACTION>(result__)
1691     }
1692 }
1693 unsafe impl ::windows::runtime::Interface for IDiscFormat2DataEventArgs {
1694     type Vtable = IDiscFormat2DataEventArgs_abi;
1695     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801533, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
1696 }
1697 impl ::std::convert::From<IDiscFormat2DataEventArgs> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2DataEventArgs) -> Self1698     fn from(value: IDiscFormat2DataEventArgs) -> Self {
1699         unsafe { ::std::mem::transmute(value) }
1700     }
1701 }
1702 impl ::std::convert::From<&IDiscFormat2DataEventArgs> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2DataEventArgs) -> Self1703     fn from(value: &IDiscFormat2DataEventArgs) -> Self {
1704         ::std::convert::From::from(::std::clone::Clone::clone(value))
1705     }
1706 }
1707 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2DataEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1708     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1709         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1710     }
1711 }
1712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2DataEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1714         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1715     }
1716 }
1717 impl ::std::convert::From<IDiscFormat2DataEventArgs> for IWriteEngine2EventArgs {
from(value: IDiscFormat2DataEventArgs) -> Self1718     fn from(value: IDiscFormat2DataEventArgs) -> Self {
1719         unsafe { ::std::mem::transmute(value) }
1720     }
1721 }
1722 impl ::std::convert::From<&IDiscFormat2DataEventArgs> for IWriteEngine2EventArgs {
from(value: &IDiscFormat2DataEventArgs) -> Self1723     fn from(value: &IDiscFormat2DataEventArgs) -> Self {
1724         ::std::convert::From::from(::std::clone::Clone::clone(value))
1725     }
1726 }
1727 impl<'a> ::windows::runtime::IntoParam<'a, IWriteEngine2EventArgs> for IDiscFormat2DataEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs>1728     fn into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs> {
1729         ::windows::runtime::Param::Owned(::std::convert::Into::<IWriteEngine2EventArgs>::into(self))
1730     }
1731 }
1732 impl<'a> ::windows::runtime::IntoParam<'a, IWriteEngine2EventArgs> for &IDiscFormat2DataEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs>1733     fn into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs> {
1734         ::windows::runtime::Param::Owned(::std::convert::Into::<IWriteEngine2EventArgs>::into(::std::clone::Clone::clone(self)))
1735     }
1736 }
1737 #[cfg(feature = "Win32_System_Ole_Automation")]
1738 impl ::std::convert::From<IDiscFormat2DataEventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2DataEventArgs) -> Self1739     fn from(value: IDiscFormat2DataEventArgs) -> Self {
1740         unsafe { ::std::mem::transmute(value) }
1741     }
1742 }
1743 #[cfg(feature = "Win32_System_Ole_Automation")]
1744 impl ::std::convert::From<&IDiscFormat2DataEventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2DataEventArgs) -> Self1745     fn from(value: &IDiscFormat2DataEventArgs) -> Self {
1746         ::std::convert::From::from(::std::clone::Clone::clone(value))
1747     }
1748 }
1749 #[cfg(feature = "Win32_System_Ole_Automation")]
1750 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2DataEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1751     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1752         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1753     }
1754 }
1755 #[cfg(feature = "Win32_System_Ole_Automation")]
1756 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2DataEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1757     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1758         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1759     }
1760 }
1761 #[repr(C)]
1762 #[doc(hidden)]
1763 pub struct IDiscFormat2DataEventArgs_abi(
1764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1768     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1769     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1770     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1771     #[cfg(not(feature = "Win32_Foundation"))] usize,
1772     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1773     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1774     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_FORMAT2_DATA_WRITE_ACTION) -> ::windows::runtime::HRESULT,
1786 );
1787 #[repr(transparent)]
1788 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1789 pub struct IDiscFormat2Erase(::windows::runtime::IUnknown);
1790 impl IDiscFormat2Erase {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>1791     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1792         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1793         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1794     }
1795     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>1796     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1797         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1798         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1799     }
1800     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>1801     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1802         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1803     }
1804     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>1805     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1806         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1807     }
IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1808     pub unsafe fn IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1809         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1810         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1811     }
IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1812     pub unsafe fn IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1813         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1814         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1815     }
MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16>1816     pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1817         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1818         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1819     }
MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16>1820     pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1821         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1822         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1823     }
1824     #[cfg(feature = "Win32_System_Com")]
SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1825     pub unsafe fn SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1826         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1827         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
1828     }
SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()>1829     pub unsafe fn SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1830         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
1831     }
Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>1832     pub unsafe fn Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
1833         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1834         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
1835     }
SetFullErase(&self, value: i16) -> ::windows::runtime::Result<()>1836     pub unsafe fn SetFullErase(&self, value: i16) -> ::windows::runtime::Result<()> {
1837         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1838     }
FullErase(&self) -> ::windows::runtime::Result<i16>1839     pub unsafe fn FullErase(&self) -> ::windows::runtime::Result<i16> {
1840         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1841         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1842     }
CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE>1843     pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE> {
1844         let mut result__: <IMAPI_MEDIA_PHYSICAL_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1845         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_MEDIA_PHYSICAL_TYPE>(result__)
1846     }
1847     #[cfg(feature = "Win32_Foundation")]
SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()>1848     pub unsafe fn SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1849         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
1850     }
1851     #[cfg(feature = "Win32_Foundation")]
ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>1852     pub unsafe fn ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
1853         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1854         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
1855     }
EraseMedia(&self) -> ::windows::runtime::Result<()>1856     pub unsafe fn EraseMedia(&self) -> ::windows::runtime::Result<()> {
1857         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self)).ok()
1858     }
1859 }
1860 unsafe impl ::windows::runtime::Interface for IDiscFormat2Erase {
1861     type Vtable = IDiscFormat2Erase_abi;
1862     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801558, 36708, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
1863 }
1864 impl ::std::convert::From<IDiscFormat2Erase> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2Erase) -> Self1865     fn from(value: IDiscFormat2Erase) -> Self {
1866         unsafe { ::std::mem::transmute(value) }
1867     }
1868 }
1869 impl ::std::convert::From<&IDiscFormat2Erase> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2Erase) -> Self1870     fn from(value: &IDiscFormat2Erase) -> Self {
1871         ::std::convert::From::from(::std::clone::Clone::clone(value))
1872     }
1873 }
1874 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2Erase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1875     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1876         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1877     }
1878 }
1879 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2Erase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1880     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1881         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1882     }
1883 }
1884 impl ::std::convert::From<IDiscFormat2Erase> for IDiscFormat2 {
from(value: IDiscFormat2Erase) -> Self1885     fn from(value: IDiscFormat2Erase) -> Self {
1886         unsafe { ::std::mem::transmute(value) }
1887     }
1888 }
1889 impl ::std::convert::From<&IDiscFormat2Erase> for IDiscFormat2 {
from(value: &IDiscFormat2Erase) -> Self1890     fn from(value: &IDiscFormat2Erase) -> Self {
1891         ::std::convert::From::from(::std::clone::Clone::clone(value))
1892     }
1893 }
1894 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for IDiscFormat2Erase {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>1895     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
1896         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(self))
1897     }
1898 }
1899 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for &IDiscFormat2Erase {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>1900     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
1901         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(::std::clone::Clone::clone(self)))
1902     }
1903 }
1904 #[cfg(feature = "Win32_System_Ole_Automation")]
1905 impl ::std::convert::From<IDiscFormat2Erase> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2Erase) -> Self1906     fn from(value: IDiscFormat2Erase) -> Self {
1907         unsafe { ::std::mem::transmute(value) }
1908     }
1909 }
1910 #[cfg(feature = "Win32_System_Ole_Automation")]
1911 impl ::std::convert::From<&IDiscFormat2Erase> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2Erase) -> Self1912     fn from(value: &IDiscFormat2Erase) -> Self {
1913         ::std::convert::From::from(::std::clone::Clone::clone(value))
1914     }
1915 }
1916 #[cfg(feature = "Win32_System_Ole_Automation")]
1917 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2Erase {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1918     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1919         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1920     }
1921 }
1922 #[cfg(feature = "Win32_System_Ole_Automation")]
1923 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2Erase {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1924     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1925         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1926     }
1927 }
1928 #[repr(C)]
1929 #[doc(hidden)]
1930 pub struct IDiscFormat2Erase_abi(
1931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1935     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1936     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1937     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
1938     #[cfg(not(feature = "Win32_Foundation"))] usize,
1939     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1940     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
1941     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1946     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
1947     #[cfg(not(feature = "Win32_System_Com"))] usize,
1948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
1951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
1952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
1953     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1954     #[cfg(not(feature = "Win32_Foundation"))] usize,
1955     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
1956     #[cfg(not(feature = "Win32_Foundation"))] usize,
1957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1958 );
1959 #[repr(transparent)]
1960 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1961 pub struct IDiscFormat2RawCD(::windows::runtime::IUnknown);
1962 impl IDiscFormat2RawCD {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>1963     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
1964         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1965         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1966     }
1967     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>1968     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
1969         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1970         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
1971     }
1972     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>1973     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
1974         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
1975     }
1976     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>1977     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
1978         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
1979     }
IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1980     pub unsafe fn IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1981         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1982         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1983     }
IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>1984     pub unsafe fn IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
1985         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1986         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
1987     }
MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16>1988     pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1989         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1990         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1991     }
MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16>1992     pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16> {
1993         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1994         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
1995     }
1996     #[cfg(feature = "Win32_System_Com")]
SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>1997     pub unsafe fn SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
1998         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1999         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2000     }
PrepareMedia(&self) -> ::windows::runtime::Result<()>2001     pub unsafe fn PrepareMedia(&self) -> ::windows::runtime::Result<()> {
2002         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
2003     }
2004     #[cfg(feature = "Win32_System_Com")]
WriteMedia<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()>2005     pub unsafe fn WriteMedia<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()> {
2006         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), data.into_param().abi()).ok()
2007     }
2008     #[cfg(feature = "Win32_System_Com")]
WriteMedia2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0, streamleadinsectors: i32) -> ::windows::runtime::Result<()>2009     pub unsafe fn WriteMedia2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0, streamleadinsectors: i32) -> ::windows::runtime::Result<()> {
2010         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), data.into_param().abi(), ::std::mem::transmute(streamleadinsectors)).ok()
2011     }
CancelWrite(&self) -> ::windows::runtime::Result<()>2012     pub unsafe fn CancelWrite(&self) -> ::windows::runtime::Result<()> {
2013         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
2014     }
ReleaseMedia(&self) -> ::windows::runtime::Result<()>2015     pub unsafe fn ReleaseMedia(&self) -> ::windows::runtime::Result<()> {
2016         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
2017     }
SetWriteSpeed(&self, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::Result<()>2018     pub unsafe fn SetWriteSpeed(&self, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::Result<()> {
2019         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestedsectorspersecond), ::std::mem::transmute(rotationtypeispurecav)).ok()
2020     }
SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()>2021     pub unsafe fn SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2022         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
2023     }
Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>2024     pub unsafe fn Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
2025         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2026         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
2027     }
SetBufferUnderrunFreeDisabled(&self, value: i16) -> ::windows::runtime::Result<()>2028     pub unsafe fn SetBufferUnderrunFreeDisabled(&self, value: i16) -> ::windows::runtime::Result<()> {
2029         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
2030     }
BufferUnderrunFreeDisabled(&self) -> ::windows::runtime::Result<i16>2031     pub unsafe fn BufferUnderrunFreeDisabled(&self) -> ::windows::runtime::Result<i16> {
2032         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2033         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2034     }
StartOfNextSession(&self) -> ::windows::runtime::Result<i32>2035     pub unsafe fn StartOfNextSession(&self) -> ::windows::runtime::Result<i32> {
2036         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2037         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2038     }
LastPossibleStartOfLeadout(&self) -> ::windows::runtime::Result<i32>2039     pub unsafe fn LastPossibleStartOfLeadout(&self) -> ::windows::runtime::Result<i32> {
2040         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2041         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2042     }
CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE>2043     pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE> {
2044         let mut result__: <IMAPI_MEDIA_PHYSICAL_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2045         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_MEDIA_PHYSICAL_TYPE>(result__)
2046     }
2047     #[cfg(feature = "Win32_System_Com")]
SupportedSectorTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>2048     pub unsafe fn SupportedSectorTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2049         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2050         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2051     }
SetRequestedSectorType(&self, value: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::Result<()>2052     pub unsafe fn SetRequestedSectorType(&self, value: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::Result<()> {
2053         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
2054     }
RequestedSectorType(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE>2055     pub unsafe fn RequestedSectorType(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE> {
2056         let mut result__: <IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2057         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE>(result__)
2058     }
2059     #[cfg(feature = "Win32_Foundation")]
SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()>2060     pub unsafe fn SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2061         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
2062     }
2063     #[cfg(feature = "Win32_Foundation")]
ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>2064     pub unsafe fn ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2065         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2066         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2067     }
RequestedWriteSpeed(&self) -> ::windows::runtime::Result<i32>2068     pub unsafe fn RequestedWriteSpeed(&self) -> ::windows::runtime::Result<i32> {
2069         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2070         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2071     }
RequestedRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16>2072     pub unsafe fn RequestedRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16> {
2073         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2074         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2075     }
CurrentWriteSpeed(&self) -> ::windows::runtime::Result<i32>2076     pub unsafe fn CurrentWriteSpeed(&self) -> ::windows::runtime::Result<i32> {
2077         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2078         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2079     }
CurrentRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16>2080     pub unsafe fn CurrentRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16> {
2081         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2082         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2083     }
2084     #[cfg(feature = "Win32_System_Com")]
SupportedWriteSpeeds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>2085     pub unsafe fn SupportedWriteSpeeds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2086         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2087         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2088     }
2089     #[cfg(feature = "Win32_System_Com")]
SupportedWriteSpeedDescriptors(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>2090     pub unsafe fn SupportedWriteSpeedDescriptors(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2091         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2092         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2093     }
2094 }
2095 unsafe impl ::windows::runtime::Interface for IDiscFormat2RawCD {
2096     type Vtable = IDiscFormat2RawCD_abi;
2097     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801557, 36708, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
2098 }
2099 impl ::std::convert::From<IDiscFormat2RawCD> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2RawCD) -> Self2100     fn from(value: IDiscFormat2RawCD) -> Self {
2101         unsafe { ::std::mem::transmute(value) }
2102     }
2103 }
2104 impl ::std::convert::From<&IDiscFormat2RawCD> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2RawCD) -> Self2105     fn from(value: &IDiscFormat2RawCD) -> Self {
2106         ::std::convert::From::from(::std::clone::Clone::clone(value))
2107     }
2108 }
2109 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2RawCD {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2110     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2111         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2112     }
2113 }
2114 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2RawCD {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2115     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2116         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2117     }
2118 }
2119 impl ::std::convert::From<IDiscFormat2RawCD> for IDiscFormat2 {
from(value: IDiscFormat2RawCD) -> Self2120     fn from(value: IDiscFormat2RawCD) -> Self {
2121         unsafe { ::std::mem::transmute(value) }
2122     }
2123 }
2124 impl ::std::convert::From<&IDiscFormat2RawCD> for IDiscFormat2 {
from(value: &IDiscFormat2RawCD) -> Self2125     fn from(value: &IDiscFormat2RawCD) -> Self {
2126         ::std::convert::From::from(::std::clone::Clone::clone(value))
2127     }
2128 }
2129 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for IDiscFormat2RawCD {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>2130     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
2131         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(self))
2132     }
2133 }
2134 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for &IDiscFormat2RawCD {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>2135     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
2136         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(::std::clone::Clone::clone(self)))
2137     }
2138 }
2139 #[cfg(feature = "Win32_System_Ole_Automation")]
2140 impl ::std::convert::From<IDiscFormat2RawCD> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2RawCD) -> Self2141     fn from(value: IDiscFormat2RawCD) -> Self {
2142         unsafe { ::std::mem::transmute(value) }
2143     }
2144 }
2145 #[cfg(feature = "Win32_System_Ole_Automation")]
2146 impl ::std::convert::From<&IDiscFormat2RawCD> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2RawCD) -> Self2147     fn from(value: &IDiscFormat2RawCD) -> Self {
2148         ::std::convert::From::from(::std::clone::Clone::clone(value))
2149     }
2150 }
2151 #[cfg(feature = "Win32_System_Ole_Automation")]
2152 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2RawCD {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2153     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2154         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2155     }
2156 }
2157 #[cfg(feature = "Win32_System_Ole_Automation")]
2158 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2RawCD {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2159     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2160         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2161     }
2162 }
2163 #[repr(C)]
2164 #[doc(hidden)]
2165 pub struct IDiscFormat2RawCD_abi(
2166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2170     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2171     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2172     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2173     #[cfg(not(feature = "Win32_Foundation"))] usize,
2174     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2175     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2176     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2181     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2182     #[cfg(not(feature = "Win32_System_Com"))] usize,
2183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2184     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2185     #[cfg(not(feature = "Win32_System_Com"))] usize,
2186     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr, streamleadinsectors: i32) -> ::windows::runtime::HRESULT,
2187     #[cfg(not(feature = "Win32_System_Com"))] usize,
2188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::HRESULT,
2191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
2194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
2198     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2199     #[cfg(not(feature = "Win32_System_Com"))] usize,
2200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::HRESULT,
2201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::HRESULT,
2202     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2203     #[cfg(not(feature = "Win32_Foundation"))] usize,
2204     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2205     #[cfg(not(feature = "Win32_Foundation"))] usize,
2206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2210     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedspeeds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2211     #[cfg(not(feature = "Win32_System_Com"))] usize,
2212     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedspeeddescriptors: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2213     #[cfg(not(feature = "Win32_System_Com"))] usize,
2214 );
2215 #[repr(transparent)]
2216 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2217 pub struct IDiscFormat2RawCDEventArgs(::windows::runtime::IUnknown);
2218 impl IDiscFormat2RawCDEventArgs {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>2219     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
2220         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2221         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2222     }
2223     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>2224     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
2225         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2226         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
2227     }
2228     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>2229     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
2230         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
2231     }
2232     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>2233     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
2234         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
2235     }
StartLba(&self) -> ::windows::runtime::Result<i32>2236     pub unsafe fn StartLba(&self) -> ::windows::runtime::Result<i32> {
2237         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2238         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2239     }
SectorCount(&self) -> ::windows::runtime::Result<i32>2240     pub unsafe fn SectorCount(&self) -> ::windows::runtime::Result<i32> {
2241         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2242         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2243     }
LastReadLba(&self) -> ::windows::runtime::Result<i32>2244     pub unsafe fn LastReadLba(&self) -> ::windows::runtime::Result<i32> {
2245         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2246         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2247     }
LastWrittenLba(&self) -> ::windows::runtime::Result<i32>2248     pub unsafe fn LastWrittenLba(&self) -> ::windows::runtime::Result<i32> {
2249         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2250         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2251     }
TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32>2252     pub unsafe fn TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
2253         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2254         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2255     }
UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32>2256     pub unsafe fn UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
2257         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2258         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2259     }
FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32>2260     pub unsafe fn FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
2261         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2262         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2263     }
CurrentAction(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_RAW_CD_WRITE_ACTION>2264     pub unsafe fn CurrentAction(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_RAW_CD_WRITE_ACTION> {
2265         let mut result__: <IMAPI_FORMAT2_RAW_CD_WRITE_ACTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2266         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_FORMAT2_RAW_CD_WRITE_ACTION>(result__)
2267     }
ElapsedTime(&self) -> ::windows::runtime::Result<i32>2268     pub unsafe fn ElapsedTime(&self) -> ::windows::runtime::Result<i32> {
2269         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2270         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2271     }
RemainingTime(&self) -> ::windows::runtime::Result<i32>2272     pub unsafe fn RemainingTime(&self) -> ::windows::runtime::Result<i32> {
2273         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2274         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2275     }
2276 }
2277 unsafe impl ::windows::runtime::Interface for IDiscFormat2RawCDEventArgs {
2278     type Vtable = IDiscFormat2RawCDEventArgs_abi;
2279     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801539, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
2280 }
2281 impl ::std::convert::From<IDiscFormat2RawCDEventArgs> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2RawCDEventArgs) -> Self2282     fn from(value: IDiscFormat2RawCDEventArgs) -> Self {
2283         unsafe { ::std::mem::transmute(value) }
2284     }
2285 }
2286 impl ::std::convert::From<&IDiscFormat2RawCDEventArgs> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2RawCDEventArgs) -> Self2287     fn from(value: &IDiscFormat2RawCDEventArgs) -> Self {
2288         ::std::convert::From::from(::std::clone::Clone::clone(value))
2289     }
2290 }
2291 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2RawCDEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2292     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2293         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2294     }
2295 }
2296 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2RawCDEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2297     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2298         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2299     }
2300 }
2301 impl ::std::convert::From<IDiscFormat2RawCDEventArgs> for IWriteEngine2EventArgs {
from(value: IDiscFormat2RawCDEventArgs) -> Self2302     fn from(value: IDiscFormat2RawCDEventArgs) -> Self {
2303         unsafe { ::std::mem::transmute(value) }
2304     }
2305 }
2306 impl ::std::convert::From<&IDiscFormat2RawCDEventArgs> for IWriteEngine2EventArgs {
from(value: &IDiscFormat2RawCDEventArgs) -> Self2307     fn from(value: &IDiscFormat2RawCDEventArgs) -> Self {
2308         ::std::convert::From::from(::std::clone::Clone::clone(value))
2309     }
2310 }
2311 impl<'a> ::windows::runtime::IntoParam<'a, IWriteEngine2EventArgs> for IDiscFormat2RawCDEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs>2312     fn into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs> {
2313         ::windows::runtime::Param::Owned(::std::convert::Into::<IWriteEngine2EventArgs>::into(self))
2314     }
2315 }
2316 impl<'a> ::windows::runtime::IntoParam<'a, IWriteEngine2EventArgs> for &IDiscFormat2RawCDEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs>2317     fn into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs> {
2318         ::windows::runtime::Param::Owned(::std::convert::Into::<IWriteEngine2EventArgs>::into(::std::clone::Clone::clone(self)))
2319     }
2320 }
2321 #[cfg(feature = "Win32_System_Ole_Automation")]
2322 impl ::std::convert::From<IDiscFormat2RawCDEventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2RawCDEventArgs) -> Self2323     fn from(value: IDiscFormat2RawCDEventArgs) -> Self {
2324         unsafe { ::std::mem::transmute(value) }
2325     }
2326 }
2327 #[cfg(feature = "Win32_System_Ole_Automation")]
2328 impl ::std::convert::From<&IDiscFormat2RawCDEventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2RawCDEventArgs) -> Self2329     fn from(value: &IDiscFormat2RawCDEventArgs) -> Self {
2330         ::std::convert::From::from(::std::clone::Clone::clone(value))
2331     }
2332 }
2333 #[cfg(feature = "Win32_System_Ole_Automation")]
2334 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2RawCDEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2335     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2336         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2337     }
2338 }
2339 #[cfg(feature = "Win32_System_Ole_Automation")]
2340 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2RawCDEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2341     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2342         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2343     }
2344 }
2345 #[repr(C)]
2346 #[doc(hidden)]
2347 pub struct IDiscFormat2RawCDEventArgs_abi(
2348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2352     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2353     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2354     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2355     #[cfg(not(feature = "Win32_Foundation"))] usize,
2356     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2357     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2358     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_FORMAT2_RAW_CD_WRITE_ACTION) -> ::windows::runtime::HRESULT,
2367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2369 );
2370 #[repr(transparent)]
2371 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2372 pub struct IDiscFormat2TrackAtOnce(::windows::runtime::IUnknown);
2373 impl IDiscFormat2TrackAtOnce {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>2374     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
2375         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2376         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2377     }
2378     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>2379     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
2380         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2381         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
2382     }
2383     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>2384     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
2385         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
2386     }
2387     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>2388     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
2389         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
2390     }
IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>2391     pub unsafe fn IsRecorderSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
2392         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2393         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
2394     }
IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16>2395     pub unsafe fn IsCurrentMediaSupported<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, recorder: Param0) -> ::windows::runtime::Result<i16> {
2396         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2397         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), recorder.into_param().abi(), &mut result__).from_abi::<i16>(result__)
2398     }
MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16>2399     pub unsafe fn MediaPhysicallyBlank(&self) -> ::windows::runtime::Result<i16> {
2400         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2401         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2402     }
MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16>2403     pub unsafe fn MediaHeuristicallyBlank(&self) -> ::windows::runtime::Result<i16> {
2404         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2405         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2406     }
2407     #[cfg(feature = "Win32_System_Com")]
SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>2408     pub unsafe fn SupportedMediaTypes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2409         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2410         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2411     }
PrepareMedia(&self) -> ::windows::runtime::Result<()>2412     pub unsafe fn PrepareMedia(&self) -> ::windows::runtime::Result<()> {
2413         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
2414     }
2415     #[cfg(feature = "Win32_System_Com")]
AddAudioTrack<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()>2416     pub unsafe fn AddAudioTrack<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()> {
2417         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), data.into_param().abi()).ok()
2418     }
CancelAddTrack(&self) -> ::windows::runtime::Result<()>2419     pub unsafe fn CancelAddTrack(&self) -> ::windows::runtime::Result<()> {
2420         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)).ok()
2421     }
ReleaseMedia(&self) -> ::windows::runtime::Result<()>2422     pub unsafe fn ReleaseMedia(&self) -> ::windows::runtime::Result<()> {
2423         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
2424     }
SetWriteSpeed(&self, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::Result<()>2425     pub unsafe fn SetWriteSpeed(&self, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::Result<()> {
2426         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestedsectorspersecond), ::std::mem::transmute(rotationtypeispurecav)).ok()
2427     }
SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()>2428     pub unsafe fn SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2429         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
2430     }
Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>2431     pub unsafe fn Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
2432         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2433         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
2434     }
SetBufferUnderrunFreeDisabled(&self, value: i16) -> ::windows::runtime::Result<()>2435     pub unsafe fn SetBufferUnderrunFreeDisabled(&self, value: i16) -> ::windows::runtime::Result<()> {
2436         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
2437     }
BufferUnderrunFreeDisabled(&self) -> ::windows::runtime::Result<i16>2438     pub unsafe fn BufferUnderrunFreeDisabled(&self) -> ::windows::runtime::Result<i16> {
2439         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2440         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2441     }
NumberOfExistingTracks(&self) -> ::windows::runtime::Result<i32>2442     pub unsafe fn NumberOfExistingTracks(&self) -> ::windows::runtime::Result<i32> {
2443         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2444         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2445     }
TotalSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>2446     pub unsafe fn TotalSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
2447         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2448         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2449     }
FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>2450     pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
2451         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2452         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2453     }
UsedSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>2454     pub unsafe fn UsedSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
2455         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2456         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2457     }
SetDoNotFinalizeMedia(&self, value: i16) -> ::windows::runtime::Result<()>2458     pub unsafe fn SetDoNotFinalizeMedia(&self, value: i16) -> ::windows::runtime::Result<()> {
2459         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
2460     }
DoNotFinalizeMedia(&self) -> ::windows::runtime::Result<i16>2461     pub unsafe fn DoNotFinalizeMedia(&self) -> ::windows::runtime::Result<i16> {
2462         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2463         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2464     }
2465     #[cfg(feature = "Win32_System_Com")]
ExpectedTableOfContents(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>2466     pub unsafe fn ExpectedTableOfContents(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2467         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2468         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2469     }
CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE>2470     pub unsafe fn CurrentPhysicalMediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE> {
2471         let mut result__: <IMAPI_MEDIA_PHYSICAL_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2472         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_MEDIA_PHYSICAL_TYPE>(result__)
2473     }
2474     #[cfg(feature = "Win32_Foundation")]
SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()>2475     pub unsafe fn SetClientName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2476         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
2477     }
2478     #[cfg(feature = "Win32_Foundation")]
ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>2479     pub unsafe fn ClientName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2480         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2481         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2482     }
RequestedWriteSpeed(&self) -> ::windows::runtime::Result<i32>2483     pub unsafe fn RequestedWriteSpeed(&self) -> ::windows::runtime::Result<i32> {
2484         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2485         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2486     }
RequestedRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16>2487     pub unsafe fn RequestedRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16> {
2488         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2489         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2490     }
CurrentWriteSpeed(&self) -> ::windows::runtime::Result<i32>2491     pub unsafe fn CurrentWriteSpeed(&self) -> ::windows::runtime::Result<i32> {
2492         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2493         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2494     }
CurrentRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16>2495     pub unsafe fn CurrentRotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16> {
2496         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2497         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2498     }
2499     #[cfg(feature = "Win32_System_Com")]
SupportedWriteSpeeds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>2500     pub unsafe fn SupportedWriteSpeeds(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2501         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2502         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2503     }
2504     #[cfg(feature = "Win32_System_Com")]
SupportedWriteSpeedDescriptors(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>2505     pub unsafe fn SupportedWriteSpeedDescriptors(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
2506         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2507         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
2508     }
2509 }
2510 unsafe impl ::windows::runtime::Interface for IDiscFormat2TrackAtOnce {
2511     type Vtable = IDiscFormat2TrackAtOnce_abi;
2512     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801556, 36708, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
2513 }
2514 impl ::std::convert::From<IDiscFormat2TrackAtOnce> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2TrackAtOnce) -> Self2515     fn from(value: IDiscFormat2TrackAtOnce) -> Self {
2516         unsafe { ::std::mem::transmute(value) }
2517     }
2518 }
2519 impl ::std::convert::From<&IDiscFormat2TrackAtOnce> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2TrackAtOnce) -> Self2520     fn from(value: &IDiscFormat2TrackAtOnce) -> Self {
2521         ::std::convert::From::from(::std::clone::Clone::clone(value))
2522     }
2523 }
2524 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2TrackAtOnce {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2525     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2526         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2527     }
2528 }
2529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2TrackAtOnce {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2530     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2531         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2532     }
2533 }
2534 impl ::std::convert::From<IDiscFormat2TrackAtOnce> for IDiscFormat2 {
from(value: IDiscFormat2TrackAtOnce) -> Self2535     fn from(value: IDiscFormat2TrackAtOnce) -> Self {
2536         unsafe { ::std::mem::transmute(value) }
2537     }
2538 }
2539 impl ::std::convert::From<&IDiscFormat2TrackAtOnce> for IDiscFormat2 {
from(value: &IDiscFormat2TrackAtOnce) -> Self2540     fn from(value: &IDiscFormat2TrackAtOnce) -> Self {
2541         ::std::convert::From::from(::std::clone::Clone::clone(value))
2542     }
2543 }
2544 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for IDiscFormat2TrackAtOnce {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>2545     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
2546         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(self))
2547     }
2548 }
2549 impl<'a> ::windows::runtime::IntoParam<'a, IDiscFormat2> for &IDiscFormat2TrackAtOnce {
into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2>2550     fn into_param(self) -> ::windows::runtime::Param<'a, IDiscFormat2> {
2551         ::windows::runtime::Param::Owned(::std::convert::Into::<IDiscFormat2>::into(::std::clone::Clone::clone(self)))
2552     }
2553 }
2554 #[cfg(feature = "Win32_System_Ole_Automation")]
2555 impl ::std::convert::From<IDiscFormat2TrackAtOnce> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2TrackAtOnce) -> Self2556     fn from(value: IDiscFormat2TrackAtOnce) -> Self {
2557         unsafe { ::std::mem::transmute(value) }
2558     }
2559 }
2560 #[cfg(feature = "Win32_System_Ole_Automation")]
2561 impl ::std::convert::From<&IDiscFormat2TrackAtOnce> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2TrackAtOnce) -> Self2562     fn from(value: &IDiscFormat2TrackAtOnce) -> Self {
2563         ::std::convert::From::from(::std::clone::Clone::clone(value))
2564     }
2565 }
2566 #[cfg(feature = "Win32_System_Ole_Automation")]
2567 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2TrackAtOnce {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2568     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2569         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2570     }
2571 }
2572 #[cfg(feature = "Win32_System_Ole_Automation")]
2573 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2TrackAtOnce {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2574     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2575         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2576     }
2577 }
2578 #[repr(C)]
2579 #[doc(hidden)]
2580 pub struct IDiscFormat2TrackAtOnce_abi(
2581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2585     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2586     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2587     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2588     #[cfg(not(feature = "Win32_Foundation"))] usize,
2589     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2590     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2591     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorder: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2596     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2597     #[cfg(not(feature = "Win32_System_Com"))] usize,
2598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2599     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2600     #[cfg(not(feature = "Win32_System_Com"))] usize,
2601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestedsectorspersecond: i32, rotationtypeispurecav: i16) -> ::windows::runtime::HRESULT,
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
2607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
2613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2614     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2615     #[cfg(not(feature = "Win32_System_Com"))] usize,
2616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
2617     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2618     #[cfg(not(feature = "Win32_Foundation"))] usize,
2619     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2620     #[cfg(not(feature = "Win32_Foundation"))] usize,
2621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2625     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedspeeds: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2626     #[cfg(not(feature = "Win32_System_Com"))] usize,
2627     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, supportedspeeddescriptors: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
2628     #[cfg(not(feature = "Win32_System_Com"))] usize,
2629 );
2630 #[repr(transparent)]
2631 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2632 pub struct IDiscFormat2TrackAtOnceEventArgs(::windows::runtime::IUnknown);
2633 impl IDiscFormat2TrackAtOnceEventArgs {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>2634     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
2635         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2636         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2637     }
2638     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>2639     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
2640         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2641         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
2642     }
2643     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>2644     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
2645         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
2646     }
2647     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>2648     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
2649         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
2650     }
StartLba(&self) -> ::windows::runtime::Result<i32>2651     pub unsafe fn StartLba(&self) -> ::windows::runtime::Result<i32> {
2652         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2653         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2654     }
SectorCount(&self) -> ::windows::runtime::Result<i32>2655     pub unsafe fn SectorCount(&self) -> ::windows::runtime::Result<i32> {
2656         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2657         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2658     }
LastReadLba(&self) -> ::windows::runtime::Result<i32>2659     pub unsafe fn LastReadLba(&self) -> ::windows::runtime::Result<i32> {
2660         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2661         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2662     }
LastWrittenLba(&self) -> ::windows::runtime::Result<i32>2663     pub unsafe fn LastWrittenLba(&self) -> ::windows::runtime::Result<i32> {
2664         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2665         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2666     }
TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32>2667     pub unsafe fn TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
2668         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2669         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2670     }
UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32>2671     pub unsafe fn UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
2672         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2673         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2674     }
FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32>2675     pub unsafe fn FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
2676         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2677         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2678     }
CurrentTrackNumber(&self) -> ::windows::runtime::Result<i32>2679     pub unsafe fn CurrentTrackNumber(&self) -> ::windows::runtime::Result<i32> {
2680         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2681         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2682     }
CurrentAction(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_TAO_WRITE_ACTION>2683     pub unsafe fn CurrentAction(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_TAO_WRITE_ACTION> {
2684         let mut result__: <IMAPI_FORMAT2_TAO_WRITE_ACTION as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2685         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_FORMAT2_TAO_WRITE_ACTION>(result__)
2686     }
ElapsedTime(&self) -> ::windows::runtime::Result<i32>2687     pub unsafe fn ElapsedTime(&self) -> ::windows::runtime::Result<i32> {
2688         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2689         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2690     }
RemainingTime(&self) -> ::windows::runtime::Result<i32>2691     pub unsafe fn RemainingTime(&self) -> ::windows::runtime::Result<i32> {
2692         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2693         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2694     }
2695 }
2696 unsafe impl ::windows::runtime::Interface for IDiscFormat2TrackAtOnceEventArgs {
2697     type Vtable = IDiscFormat2TrackAtOnceEventArgs_abi;
2698     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801536, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
2699 }
2700 impl ::std::convert::From<IDiscFormat2TrackAtOnceEventArgs> for ::windows::runtime::IUnknown {
from(value: IDiscFormat2TrackAtOnceEventArgs) -> Self2701     fn from(value: IDiscFormat2TrackAtOnceEventArgs) -> Self {
2702         unsafe { ::std::mem::transmute(value) }
2703     }
2704 }
2705 impl ::std::convert::From<&IDiscFormat2TrackAtOnceEventArgs> for ::windows::runtime::IUnknown {
from(value: &IDiscFormat2TrackAtOnceEventArgs) -> Self2706     fn from(value: &IDiscFormat2TrackAtOnceEventArgs) -> Self {
2707         ::std::convert::From::from(::std::clone::Clone::clone(value))
2708     }
2709 }
2710 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscFormat2TrackAtOnceEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2711     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2712         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2713     }
2714 }
2715 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscFormat2TrackAtOnceEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2716     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2717         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2718     }
2719 }
2720 impl ::std::convert::From<IDiscFormat2TrackAtOnceEventArgs> for IWriteEngine2EventArgs {
from(value: IDiscFormat2TrackAtOnceEventArgs) -> Self2721     fn from(value: IDiscFormat2TrackAtOnceEventArgs) -> Self {
2722         unsafe { ::std::mem::transmute(value) }
2723     }
2724 }
2725 impl ::std::convert::From<&IDiscFormat2TrackAtOnceEventArgs> for IWriteEngine2EventArgs {
from(value: &IDiscFormat2TrackAtOnceEventArgs) -> Self2726     fn from(value: &IDiscFormat2TrackAtOnceEventArgs) -> Self {
2727         ::std::convert::From::from(::std::clone::Clone::clone(value))
2728     }
2729 }
2730 impl<'a> ::windows::runtime::IntoParam<'a, IWriteEngine2EventArgs> for IDiscFormat2TrackAtOnceEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs>2731     fn into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs> {
2732         ::windows::runtime::Param::Owned(::std::convert::Into::<IWriteEngine2EventArgs>::into(self))
2733     }
2734 }
2735 impl<'a> ::windows::runtime::IntoParam<'a, IWriteEngine2EventArgs> for &IDiscFormat2TrackAtOnceEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs>2736     fn into_param(self) -> ::windows::runtime::Param<'a, IWriteEngine2EventArgs> {
2737         ::windows::runtime::Param::Owned(::std::convert::Into::<IWriteEngine2EventArgs>::into(::std::clone::Clone::clone(self)))
2738     }
2739 }
2740 #[cfg(feature = "Win32_System_Ole_Automation")]
2741 impl ::std::convert::From<IDiscFormat2TrackAtOnceEventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscFormat2TrackAtOnceEventArgs) -> Self2742     fn from(value: IDiscFormat2TrackAtOnceEventArgs) -> Self {
2743         unsafe { ::std::mem::transmute(value) }
2744     }
2745 }
2746 #[cfg(feature = "Win32_System_Ole_Automation")]
2747 impl ::std::convert::From<&IDiscFormat2TrackAtOnceEventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscFormat2TrackAtOnceEventArgs) -> Self2748     fn from(value: &IDiscFormat2TrackAtOnceEventArgs) -> Self {
2749         ::std::convert::From::from(::std::clone::Clone::clone(value))
2750     }
2751 }
2752 #[cfg(feature = "Win32_System_Ole_Automation")]
2753 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscFormat2TrackAtOnceEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2754     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2755         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2756     }
2757 }
2758 #[cfg(feature = "Win32_System_Ole_Automation")]
2759 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscFormat2TrackAtOnceEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2760     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2761         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2762     }
2763 }
2764 #[repr(C)]
2765 #[doc(hidden)]
2766 pub struct IDiscFormat2TrackAtOnceEventArgs_abi(
2767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2771     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2772     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2773     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2774     #[cfg(not(feature = "Win32_Foundation"))] usize,
2775     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2776     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2777     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_FORMAT2_TAO_WRITE_ACTION) -> ::windows::runtime::HRESULT,
2787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2789 );
2790 #[repr(transparent)]
2791 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2792 pub struct IDiscMaster(::windows::runtime::IUnknown);
2793 impl IDiscMaster {
Open(&self) -> ::windows::runtime::Result<()>2794     pub unsafe fn Open(&self) -> ::windows::runtime::Result<()> {
2795         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2796     }
EnumDiscMasterFormats(&self) -> ::windows::runtime::Result<IEnumDiscMasterFormats>2797     pub unsafe fn EnumDiscMasterFormats(&self) -> ::windows::runtime::Result<IEnumDiscMasterFormats> {
2798         let mut result__: <IEnumDiscMasterFormats as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2799         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDiscMasterFormats>(result__)
2800     }
GetActiveDiscMasterFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2801     pub unsafe fn GetActiveDiscMasterFormat(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2802         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2803         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2804     }
SetActiveDiscMasterFormat(&self, riid: *const ::windows::runtime::GUID, ppunk: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2805     pub unsafe fn SetActiveDiscMasterFormat(&self, riid: *const ::windows::runtime::GUID, ppunk: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2806         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppunk)).ok()
2807     }
EnumDiscRecorders(&self) -> ::windows::runtime::Result<IEnumDiscRecorders>2808     pub unsafe fn EnumDiscRecorders(&self) -> ::windows::runtime::Result<IEnumDiscRecorders> {
2809         let mut result__: <IEnumDiscRecorders as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2810         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDiscRecorders>(result__)
2811     }
GetActiveDiscRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder>2812     pub unsafe fn GetActiveDiscRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder> {
2813         let mut result__: <IDiscRecorder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2814         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder>(result__)
2815     }
SetActiveDiscRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder>>(&self, precorder: Param0) -> ::windows::runtime::Result<()>2816     pub unsafe fn SetActiveDiscRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder>>(&self, precorder: Param0) -> ::windows::runtime::Result<()> {
2817         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), precorder.into_param().abi()).ok()
2818     }
ClearFormatContent(&self) -> ::windows::runtime::Result<()>2819     pub unsafe fn ClearFormatContent(&self) -> ::windows::runtime::Result<()> {
2820         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
2821     }
ProgressAdvise<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscMasterProgressEvents>>(&self, pevents: Param0) -> ::windows::runtime::Result<usize>2822     pub unsafe fn ProgressAdvise<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscMasterProgressEvents>>(&self, pevents: Param0) -> ::windows::runtime::Result<usize> {
2823         let mut result__: <usize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2824         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pevents.into_param().abi(), &mut result__).from_abi::<usize>(result__)
2825     }
ProgressUnadvise(&self, vcookie: usize) -> ::windows::runtime::Result<()>2826     pub unsafe fn ProgressUnadvise(&self, vcookie: usize) -> ::windows::runtime::Result<()> {
2827         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(vcookie)).ok()
2828     }
RecordDisc(&self, bsimulate: u8, bejectafterburn: u8) -> ::windows::runtime::Result<()>2829     pub unsafe fn RecordDisc(&self, bsimulate: u8, bejectafterburn: u8) -> ::windows::runtime::Result<()> {
2830         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(bsimulate), ::std::mem::transmute(bejectafterburn)).ok()
2831     }
Close(&self) -> ::windows::runtime::Result<()>2832     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
2833         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)).ok()
2834     }
2835 }
2836 unsafe impl ::windows::runtime::Interface for IDiscMaster {
2837     type Vtable = IDiscMaster_abi;
2838     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1376569954, 20901, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
2839 }
2840 impl ::std::convert::From<IDiscMaster> for ::windows::runtime::IUnknown {
from(value: IDiscMaster) -> Self2841     fn from(value: IDiscMaster) -> Self {
2842         unsafe { ::std::mem::transmute(value) }
2843     }
2844 }
2845 impl ::std::convert::From<&IDiscMaster> for ::windows::runtime::IUnknown {
from(value: &IDiscMaster) -> Self2846     fn from(value: &IDiscMaster) -> Self {
2847         ::std::convert::From::from(::std::clone::Clone::clone(value))
2848     }
2849 }
2850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscMaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2852         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2853     }
2854 }
2855 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscMaster {
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(::std::clone::Clone::clone(self)))
2858     }
2859 }
2860 #[repr(C)]
2861 #[doc(hidden)]
2862 pub struct IDiscMaster_abi(
2863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpiid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppunk: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
2870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprecorder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, precorder: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pevents: ::windows::runtime::RawPtr, pvcookie: *mut usize) -> ::windows::runtime::HRESULT,
2875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vcookie: usize) -> ::windows::runtime::HRESULT,
2876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bsimulate: u8, bejectafterburn: u8) -> ::windows::runtime::HRESULT,
2877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2878 );
2879 #[repr(transparent)]
2880 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2881 pub struct IDiscMaster2(::windows::runtime::IUnknown);
2882 impl IDiscMaster2 {
2883     #[cfg(feature = "Win32_System_Ole_Automation")]
_NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT>2884     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT> {
2885         let mut result__: <super::super::System::Ole::Automation::IEnumVARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2886         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IEnumVARIANT>(result__)
2887     }
2888     #[cfg(feature = "Win32_Foundation")]
Item(&self, index: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR>2889     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
2890         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2891         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
2892     }
Count(&self) -> ::windows::runtime::Result<i32>2893     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
2894         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2895         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
2896     }
IsSupportedEnvironment(&self) -> ::windows::runtime::Result<i16>2897     pub unsafe fn IsSupportedEnvironment(&self) -> ::windows::runtime::Result<i16> {
2898         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2899         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
2900     }
2901 }
2902 unsafe impl ::windows::runtime::Interface for IDiscMaster2 {
2903     type Vtable = IDiscMaster2_abi;
2904     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801520, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
2905 }
2906 impl ::std::convert::From<IDiscMaster2> for ::windows::runtime::IUnknown {
from(value: IDiscMaster2) -> Self2907     fn from(value: IDiscMaster2) -> Self {
2908         unsafe { ::std::mem::transmute(value) }
2909     }
2910 }
2911 impl ::std::convert::From<&IDiscMaster2> for ::windows::runtime::IUnknown {
from(value: &IDiscMaster2) -> Self2912     fn from(value: &IDiscMaster2) -> Self {
2913         ::std::convert::From::from(::std::clone::Clone::clone(value))
2914     }
2915 }
2916 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscMaster2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2917     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2918         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2919     }
2920 }
2921 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscMaster2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2922     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2923         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2924     }
2925 }
2926 #[cfg(feature = "Win32_System_Ole_Automation")]
2927 impl ::std::convert::From<IDiscMaster2> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscMaster2) -> Self2928     fn from(value: IDiscMaster2) -> Self {
2929         unsafe { ::std::mem::transmute(value) }
2930     }
2931 }
2932 #[cfg(feature = "Win32_System_Ole_Automation")]
2933 impl ::std::convert::From<&IDiscMaster2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscMaster2) -> Self2934     fn from(value: &IDiscMaster2) -> Self {
2935         ::std::convert::From::from(::std::clone::Clone::clone(value))
2936     }
2937 }
2938 #[cfg(feature = "Win32_System_Ole_Automation")]
2939 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscMaster2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2940     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2941         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
2942     }
2943 }
2944 #[cfg(feature = "Win32_System_Ole_Automation")]
2945 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscMaster2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>2946     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
2947         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
2948     }
2949 }
2950 #[repr(C)]
2951 #[doc(hidden)]
2952 pub struct IDiscMaster2_abi(
2953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
2957     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2958     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2959     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
2960     #[cfg(not(feature = "Win32_Foundation"))] usize,
2961     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
2962     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
2963     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2964     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2965     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
2966     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
2967     #[cfg(not(feature = "Win32_Foundation"))] usize,
2968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
2970 );
2971 #[repr(transparent)]
2972 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2973 pub struct IDiscMasterProgressEvents(::windows::runtime::IUnknown);
2974 impl IDiscMasterProgressEvents {
QueryCancel(&self) -> ::windows::runtime::Result<u8>2975     pub unsafe fn QueryCancel(&self) -> ::windows::runtime::Result<u8> {
2976         let mut result__: <u8 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2977         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u8>(result__)
2978     }
NotifyPnPActivity(&self) -> ::windows::runtime::Result<()>2979     pub unsafe fn NotifyPnPActivity(&self) -> ::windows::runtime::Result<()> {
2980         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
2981     }
NotifyAddProgress(&self, ncompletedsteps: i32, ntotalsteps: i32) -> ::windows::runtime::Result<()>2982     pub unsafe fn NotifyAddProgress(&self, ncompletedsteps: i32, ntotalsteps: i32) -> ::windows::runtime::Result<()> {
2983         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(ncompletedsteps), ::std::mem::transmute(ntotalsteps)).ok()
2984     }
NotifyBlockProgress(&self, ncompleted: i32, ntotal: i32) -> ::windows::runtime::Result<()>2985     pub unsafe fn NotifyBlockProgress(&self, ncompleted: i32, ntotal: i32) -> ::windows::runtime::Result<()> {
2986         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ncompleted), ::std::mem::transmute(ntotal)).ok()
2987     }
NotifyTrackProgress(&self, ncurrenttrack: i32, ntotaltracks: i32) -> ::windows::runtime::Result<()>2988     pub unsafe fn NotifyTrackProgress(&self, ncurrenttrack: i32, ntotaltracks: i32) -> ::windows::runtime::Result<()> {
2989         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(ncurrenttrack), ::std::mem::transmute(ntotaltracks)).ok()
2990     }
NotifyPreparingBurn(&self, nestimatedseconds: i32) -> ::windows::runtime::Result<()>2991     pub unsafe fn NotifyPreparingBurn(&self, nestimatedseconds: i32) -> ::windows::runtime::Result<()> {
2992         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(nestimatedseconds)).ok()
2993     }
NotifyClosingDisc(&self, nestimatedseconds: i32) -> ::windows::runtime::Result<()>2994     pub unsafe fn NotifyClosingDisc(&self, nestimatedseconds: i32) -> ::windows::runtime::Result<()> {
2995         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(nestimatedseconds)).ok()
2996     }
NotifyBurnComplete(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2997     pub unsafe fn NotifyBurnComplete(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2998         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(status)).ok()
2999     }
NotifyEraseComplete(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3000     pub unsafe fn NotifyEraseComplete(&self, status: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3001         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(status)).ok()
3002     }
3003 }
3004 unsafe impl ::windows::runtime::Interface for IDiscMasterProgressEvents {
3005     type Vtable = IDiscMasterProgressEvents_abi;
3006     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3969798593, 20061, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
3007 }
3008 impl ::std::convert::From<IDiscMasterProgressEvents> for ::windows::runtime::IUnknown {
from(value: IDiscMasterProgressEvents) -> Self3009     fn from(value: IDiscMasterProgressEvents) -> Self {
3010         unsafe { ::std::mem::transmute(value) }
3011     }
3012 }
3013 impl ::std::convert::From<&IDiscMasterProgressEvents> for ::windows::runtime::IUnknown {
from(value: &IDiscMasterProgressEvents) -> Self3014     fn from(value: &IDiscMasterProgressEvents) -> Self {
3015         ::std::convert::From::from(::std::clone::Clone::clone(value))
3016     }
3017 }
3018 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscMasterProgressEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3019     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3020         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3021     }
3022 }
3023 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscMasterProgressEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3024     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3025         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3026     }
3027 }
3028 #[repr(C)]
3029 #[doc(hidden)]
3030 pub struct IDiscMasterProgressEvents_abi(
3031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbcancel: *mut u8) -> ::windows::runtime::HRESULT,
3035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ncompletedsteps: i32, ntotalsteps: i32) -> ::windows::runtime::HRESULT,
3037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ncompleted: i32, ntotal: i32) -> ::windows::runtime::HRESULT,
3038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ncurrenttrack: i32, ntotaltracks: i32) -> ::windows::runtime::HRESULT,
3039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nestimatedseconds: i32) -> ::windows::runtime::HRESULT,
3040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nestimatedseconds: i32) -> ::windows::runtime::HRESULT,
3041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3043 );
3044 #[repr(transparent)]
3045 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3046 pub struct IDiscRecorder(::windows::runtime::IUnknown);
3047 impl IDiscRecorder {
Init(&self, pbyuniqueid: *const u8, nulidsize: u32, nuldrivenumber: u32) -> ::windows::runtime::Result<()>3048     pub unsafe fn Init(&self, pbyuniqueid: *const u8, nulidsize: u32, nuldrivenumber: u32) -> ::windows::runtime::Result<()> {
3049         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbyuniqueid), ::std::mem::transmute(nulidsize), ::std::mem::transmute(nuldrivenumber)).ok()
3050     }
GetRecorderGUID(&self, pbyuniqueid: *mut u8, ulbuffersize: u32, pulreturnsizerequired: *mut u32) -> ::windows::runtime::Result<()>3051     pub unsafe fn GetRecorderGUID(&self, pbyuniqueid: *mut u8, ulbuffersize: u32, pulreturnsizerequired: *mut u32) -> ::windows::runtime::Result<()> {
3052         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbyuniqueid), ::std::mem::transmute(ulbuffersize), ::std::mem::transmute(pulreturnsizerequired)).ok()
3053     }
GetRecorderType(&self) -> ::windows::runtime::Result<RECORDER_TYPES>3054     pub unsafe fn GetRecorderType(&self) -> ::windows::runtime::Result<RECORDER_TYPES> {
3055         let mut result__: <RECORDER_TYPES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3056         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<RECORDER_TYPES>(result__)
3057     }
3058     #[cfg(feature = "Win32_Foundation")]
GetDisplayNames(&self, pbstrvendorid: *mut super::super::Foundation::BSTR, pbstrproductid: *mut super::super::Foundation::BSTR, pbstrrevision: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()>3059     pub unsafe fn GetDisplayNames(&self, pbstrvendorid: *mut super::super::Foundation::BSTR, pbstrproductid: *mut super::super::Foundation::BSTR, pbstrrevision: *mut super::super::Foundation::BSTR) -> ::windows::runtime::Result<()> {
3060         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbstrvendorid), ::std::mem::transmute(pbstrproductid), ::std::mem::transmute(pbstrrevision)).ok()
3061     }
3062     #[cfg(feature = "Win32_Foundation")]
GetBasePnPID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3063     pub unsafe fn GetBasePnPID(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3064         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3065         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3066     }
3067     #[cfg(feature = "Win32_Foundation")]
GetPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3068     pub unsafe fn GetPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3069         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3070         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3071     }
3072     #[cfg(feature = "Win32_System_Com_StructuredStorage")]
GetRecorderProperties(&self) -> ::windows::runtime::Result<super::super::System::Com::StructuredStorage::IPropertyStorage>3073     pub unsafe fn GetRecorderProperties(&self) -> ::windows::runtime::Result<super::super::System::Com::StructuredStorage::IPropertyStorage> {
3074         let mut result__: <super::super::System::Com::StructuredStorage::IPropertyStorage as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3075         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::StructuredStorage::IPropertyStorage>(result__)
3076     }
3077     #[cfg(feature = "Win32_System_Com_StructuredStorage")]
SetRecorderProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IPropertyStorage>>(&self, ppropstg: Param0) -> ::windows::runtime::Result<()>3078     pub unsafe fn SetRecorderProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IPropertyStorage>>(&self, ppropstg: Param0) -> ::windows::runtime::Result<()> {
3079         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ppropstg.into_param().abi()).ok()
3080     }
GetRecorderState(&self) -> ::windows::runtime::Result<DISC_RECORDER_STATE_FLAGS>3081     pub unsafe fn GetRecorderState(&self) -> ::windows::runtime::Result<DISC_RECORDER_STATE_FLAGS> {
3082         let mut result__: <DISC_RECORDER_STATE_FLAGS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3083         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<DISC_RECORDER_STATE_FLAGS>(result__)
3084     }
OpenExclusive(&self) -> ::windows::runtime::Result<()>3085     pub unsafe fn OpenExclusive(&self) -> ::windows::runtime::Result<()> {
3086         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
3087     }
QueryMediaType(&self, fmediatype: *mut MEDIA_TYPES, fmediaflags: *mut MEDIA_FLAGS) -> ::windows::runtime::Result<()>3088     pub unsafe fn QueryMediaType(&self, fmediatype: *mut MEDIA_TYPES, fmediaflags: *mut MEDIA_FLAGS) -> ::windows::runtime::Result<()> {
3089         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(fmediatype), ::std::mem::transmute(fmediaflags)).ok()
3090     }
QueryMediaInfo(&self, pbsessions: *mut u8, pblasttrack: *mut u8, ulstartaddress: *mut u32, ulnextwritable: *mut u32, ulfreeblocks: *mut u32) -> ::windows::runtime::Result<()>3091     pub unsafe fn QueryMediaInfo(&self, pbsessions: *mut u8, pblasttrack: *mut u8, ulstartaddress: *mut u32, ulnextwritable: *mut u32, ulfreeblocks: *mut u32) -> ::windows::runtime::Result<()> {
3092         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbsessions), ::std::mem::transmute(pblasttrack), ::std::mem::transmute(ulstartaddress), ::std::mem::transmute(ulnextwritable), ::std::mem::transmute(ulfreeblocks)).ok()
3093     }
Eject(&self) -> ::windows::runtime::Result<()>3094     pub unsafe fn Eject(&self) -> ::windows::runtime::Result<()> {
3095         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
3096     }
Erase(&self, bfullerase: u8) -> ::windows::runtime::Result<()>3097     pub unsafe fn Erase(&self, bfullerase: u8) -> ::windows::runtime::Result<()> {
3098         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(bfullerase)).ok()
3099     }
Close(&self) -> ::windows::runtime::Result<()>3100     pub unsafe fn Close(&self) -> ::windows::runtime::Result<()> {
3101         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self)).ok()
3102     }
3103 }
3104 unsafe impl ::windows::runtime::Interface for IDiscRecorder {
3105     type Vtable = IDiscRecorder_abi;
3106     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2242680694, 51848, 19698, [137, 78, 9, 89, 140, 7, 138, 65]);
3107 }
3108 impl ::std::convert::From<IDiscRecorder> for ::windows::runtime::IUnknown {
from(value: IDiscRecorder) -> Self3109     fn from(value: IDiscRecorder) -> Self {
3110         unsafe { ::std::mem::transmute(value) }
3111     }
3112 }
3113 impl ::std::convert::From<&IDiscRecorder> for ::windows::runtime::IUnknown {
from(value: &IDiscRecorder) -> Self3114     fn from(value: &IDiscRecorder) -> Self {
3115         ::std::convert::From::from(::std::clone::Clone::clone(value))
3116     }
3117 }
3118 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscRecorder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3119     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3120         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3121     }
3122 }
3123 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscRecorder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3124     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3125         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3126     }
3127 }
3128 #[repr(C)]
3129 #[doc(hidden)]
3130 pub struct IDiscRecorder_abi(
3131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbyuniqueid: *const u8, nulidsize: u32, nuldrivenumber: u32) -> ::windows::runtime::HRESULT,
3135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbyuniqueid: *mut u8, ulbuffersize: u32, pulreturnsizerequired: *mut u32) -> ::windows::runtime::HRESULT,
3136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ftypecode: *mut RECORDER_TYPES) -> ::windows::runtime::HRESULT,
3137     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrvendorid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pbstrproductid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, pbstrrevision: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3138     #[cfg(not(feature = "Win32_Foundation"))] usize,
3139     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrbasepnpid: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3140     #[cfg(not(feature = "Win32_Foundation"))] usize,
3141     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrpath: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3142     #[cfg(not(feature = "Win32_Foundation"))] usize,
3143     #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropstg: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3144     #[cfg(not(feature = "Win32_System_Com_StructuredStorage"))] usize,
3145     #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppropstg: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3146     #[cfg(not(feature = "Win32_System_Com_StructuredStorage"))] usize,
3147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puldevstateflags: *mut DISC_RECORDER_STATE_FLAGS) -> ::windows::runtime::HRESULT,
3148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fmediatype: *mut MEDIA_TYPES, fmediaflags: *mut MEDIA_FLAGS) -> ::windows::runtime::HRESULT,
3150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbsessions: *mut u8, pblasttrack: *mut u8, ulstartaddress: *mut u32, ulnextwritable: *mut u32, ulfreeblocks: *mut u32) -> ::windows::runtime::HRESULT,
3151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bfullerase: u8) -> ::windows::runtime::HRESULT,
3153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3154 );
3155 #[repr(transparent)]
3156 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3157 pub struct IDiscRecorder2(::windows::runtime::IUnknown);
3158 impl IDiscRecorder2 {
EjectMedia(&self) -> ::windows::runtime::Result<()>3159     pub unsafe fn EjectMedia(&self) -> ::windows::runtime::Result<()> {
3160         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
3161     }
CloseTray(&self) -> ::windows::runtime::Result<()>3162     pub unsafe fn CloseTray(&self) -> ::windows::runtime::Result<()> {
3163         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
3164     }
3165     #[cfg(feature = "Win32_Foundation")]
AcquireExclusiveAccess<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, force: i16, __midl__idiscrecorder20000: Param1) -> ::windows::runtime::Result<()>3166     pub unsafe fn AcquireExclusiveAccess<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, force: i16, __midl__idiscrecorder20000: Param1) -> ::windows::runtime::Result<()> {
3167         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(force), __midl__idiscrecorder20000.into_param().abi()).ok()
3168     }
ReleaseExclusiveAccess(&self) -> ::windows::runtime::Result<()>3169     pub unsafe fn ReleaseExclusiveAccess(&self) -> ::windows::runtime::Result<()> {
3170         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
3171     }
DisableMcn(&self) -> ::windows::runtime::Result<()>3172     pub unsafe fn DisableMcn(&self) -> ::windows::runtime::Result<()> {
3173         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
3174     }
EnableMcn(&self) -> ::windows::runtime::Result<()>3175     pub unsafe fn EnableMcn(&self) -> ::windows::runtime::Result<()> {
3176         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
3177     }
3178     #[cfg(feature = "Win32_Foundation")]
InitializeDiscRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, recorderuniqueid: Param0) -> ::windows::runtime::Result<()>3179     pub unsafe fn InitializeDiscRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, recorderuniqueid: Param0) -> ::windows::runtime::Result<()> {
3180         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), recorderuniqueid.into_param().abi()).ok()
3181     }
3182     #[cfg(feature = "Win32_Foundation")]
ActiveDiscRecorder(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3183     pub unsafe fn ActiveDiscRecorder(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3184         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3185         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3186     }
3187     #[cfg(feature = "Win32_Foundation")]
VendorId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3188     pub unsafe fn VendorId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3189         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3190         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3191     }
3192     #[cfg(feature = "Win32_Foundation")]
ProductId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3193     pub unsafe fn ProductId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3194         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3195         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3196     }
3197     #[cfg(feature = "Win32_Foundation")]
ProductRevision(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3198     pub unsafe fn ProductRevision(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3199         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3200         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3201     }
3202     #[cfg(feature = "Win32_Foundation")]
VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3203     pub unsafe fn VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3204         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3205         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3206     }
3207     #[cfg(feature = "Win32_System_Com")]
VolumePathNames(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3208     pub unsafe fn VolumePathNames(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3209         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3210         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3211     }
DeviceCanLoadMedia(&self) -> ::windows::runtime::Result<i16>3212     pub unsafe fn DeviceCanLoadMedia(&self) -> ::windows::runtime::Result<i16> {
3213         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3214         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
3215     }
LegacyDeviceNumber(&self) -> ::windows::runtime::Result<i32>3216     pub unsafe fn LegacyDeviceNumber(&self) -> ::windows::runtime::Result<i32> {
3217         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3218         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3219     }
3220     #[cfg(feature = "Win32_System_Com")]
SupportedFeaturePages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3221     pub unsafe fn SupportedFeaturePages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3222         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3223         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3224     }
3225     #[cfg(feature = "Win32_System_Com")]
CurrentFeaturePages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3226     pub unsafe fn CurrentFeaturePages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3227         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3228         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3229     }
3230     #[cfg(feature = "Win32_System_Com")]
SupportedProfiles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3231     pub unsafe fn SupportedProfiles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3232         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3233         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3234     }
3235     #[cfg(feature = "Win32_System_Com")]
CurrentProfiles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3236     pub unsafe fn CurrentProfiles(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3237         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3238         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3239     }
3240     #[cfg(feature = "Win32_System_Com")]
SupportedModePages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3241     pub unsafe fn SupportedModePages(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3242         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3243         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3244     }
3245     #[cfg(feature = "Win32_Foundation")]
ExclusiveAccessOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3246     pub unsafe fn ExclusiveAccessOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3247         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3248         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3249     }
3250 }
3251 unsafe impl ::windows::runtime::Interface for IDiscRecorder2 {
3252     type Vtable = IDiscRecorder2_abi;
3253     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801523, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
3254 }
3255 impl ::std::convert::From<IDiscRecorder2> for ::windows::runtime::IUnknown {
from(value: IDiscRecorder2) -> Self3256     fn from(value: IDiscRecorder2) -> Self {
3257         unsafe { ::std::mem::transmute(value) }
3258     }
3259 }
3260 impl ::std::convert::From<&IDiscRecorder2> for ::windows::runtime::IUnknown {
from(value: &IDiscRecorder2) -> Self3261     fn from(value: &IDiscRecorder2) -> Self {
3262         ::std::convert::From::from(::std::clone::Clone::clone(value))
3263     }
3264 }
3265 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscRecorder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3266     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3267         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3268     }
3269 }
3270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscRecorder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3272         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3273     }
3274 }
3275 #[cfg(feature = "Win32_System_Ole_Automation")]
3276 impl ::std::convert::From<IDiscRecorder2> for super::super::System::Ole::Automation::IDispatch {
from(value: IDiscRecorder2) -> Self3277     fn from(value: IDiscRecorder2) -> Self {
3278         unsafe { ::std::mem::transmute(value) }
3279     }
3280 }
3281 #[cfg(feature = "Win32_System_Ole_Automation")]
3282 impl ::std::convert::From<&IDiscRecorder2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IDiscRecorder2) -> Self3283     fn from(value: &IDiscRecorder2) -> Self {
3284         ::std::convert::From::from(::std::clone::Clone::clone(value))
3285     }
3286 }
3287 #[cfg(feature = "Win32_System_Ole_Automation")]
3288 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IDiscRecorder2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>3289     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3290         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3291     }
3292 }
3293 #[cfg(feature = "Win32_System_Ole_Automation")]
3294 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IDiscRecorder2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>3295     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3296         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3297     }
3298 }
3299 #[repr(C)]
3300 #[doc(hidden)]
3301 pub struct IDiscRecorder2_abi(
3302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3306     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3307     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3308     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3309     #[cfg(not(feature = "Win32_Foundation"))] usize,
3310     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3311     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3312     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3315     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, force: i16, __midl__idiscrecorder20000: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3316     #[cfg(not(feature = "Win32_Foundation"))] usize,
3317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3320     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, recorderuniqueid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3321     #[cfg(not(feature = "Win32_Foundation"))] usize,
3322     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3323     #[cfg(not(feature = "Win32_Foundation"))] usize,
3324     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3325     #[cfg(not(feature = "Win32_Foundation"))] usize,
3326     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3327     #[cfg(not(feature = "Win32_Foundation"))] usize,
3328     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3329     #[cfg(not(feature = "Win32_Foundation"))] usize,
3330     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3331     #[cfg(not(feature = "Win32_Foundation"))] usize,
3332     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3333     #[cfg(not(feature = "Win32_System_Com"))] usize,
3334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
3335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, legacydevicenumber: *mut i32) -> ::windows::runtime::HRESULT,
3336     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3337     #[cfg(not(feature = "Win32_System_Com"))] usize,
3338     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3339     #[cfg(not(feature = "Win32_System_Com"))] usize,
3340     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3341     #[cfg(not(feature = "Win32_System_Com"))] usize,
3342     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3343     #[cfg(not(feature = "Win32_System_Com"))] usize,
3344     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3345     #[cfg(not(feature = "Win32_System_Com"))] usize,
3346     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3347     #[cfg(not(feature = "Win32_Foundation"))] usize,
3348 );
3349 #[repr(transparent)]
3350 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3351 pub struct IDiscRecorder2Ex(::windows::runtime::IUnknown);
3352 impl IDiscRecorder2Ex {
SendCommandNoData(&self, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32) -> ::windows::runtime::Result<()>3353     pub unsafe fn SendCommandNoData(&self, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32) -> ::windows::runtime::Result<()> {
3354         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cdb), ::std::mem::transmute(cdbsize), ::std::mem::transmute(sensebuffer), ::std::mem::transmute(timeout)).ok()
3355     }
SendCommandSendDataToDevice(&self, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32, buffer: *const u8, buffersize: u32) -> ::windows::runtime::Result<()>3356     pub unsafe fn SendCommandSendDataToDevice(&self, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32, buffer: *const u8, buffersize: u32) -> ::windows::runtime::Result<()> {
3357         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cdb), ::std::mem::transmute(cdbsize), ::std::mem::transmute(sensebuffer), ::std::mem::transmute(timeout), ::std::mem::transmute(buffer), ::std::mem::transmute(buffersize)).ok()
3358     }
SendCommandGetDataFromDevice(&self, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32, buffer: *mut u8, buffersize: u32, bufferfetched: *mut u32) -> ::windows::runtime::Result<()>3359     pub unsafe fn SendCommandGetDataFromDevice(&self, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32, buffer: *mut u8, buffersize: u32, bufferfetched: *mut u32) -> ::windows::runtime::Result<()> {
3360         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(cdb), ::std::mem::transmute(cdbsize), ::std::mem::transmute(sensebuffer), ::std::mem::transmute(timeout), ::std::mem::transmute(buffer), ::std::mem::transmute(buffersize), ::std::mem::transmute(bufferfetched)).ok()
3361     }
ReadDvdStructure(&self, format: u32, address: u32, layer: u32, agid: u32, data: *mut *mut u8, count: *mut u32) -> ::windows::runtime::Result<()>3362     pub unsafe fn ReadDvdStructure(&self, format: u32, address: u32, layer: u32, agid: u32, data: *mut *mut u8, count: *mut u32) -> ::windows::runtime::Result<()> {
3363         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(format), ::std::mem::transmute(address), ::std::mem::transmute(layer), ::std::mem::transmute(agid), ::std::mem::transmute(data), ::std::mem::transmute(count)).ok()
3364     }
SendDvdStructure(&self, format: u32, data: *const u8, count: u32) -> ::windows::runtime::Result<()>3365     pub unsafe fn SendDvdStructure(&self, format: u32, data: *const u8, count: u32) -> ::windows::runtime::Result<()> {
3366         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(format), ::std::mem::transmute(data), ::std::mem::transmute(count)).ok()
3367     }
GetAdapterDescriptor(&self, data: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()>3368     pub unsafe fn GetAdapterDescriptor(&self, data: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()> {
3369         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(data), ::std::mem::transmute(bytesize)).ok()
3370     }
GetDeviceDescriptor(&self, data: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()>3371     pub unsafe fn GetDeviceDescriptor(&self, data: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()> {
3372         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(data), ::std::mem::transmute(bytesize)).ok()
3373     }
GetDiscInformation(&self, discinformation: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()>3374     pub unsafe fn GetDiscInformation(&self, discinformation: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()> {
3375         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(discinformation), ::std::mem::transmute(bytesize)).ok()
3376     }
GetTrackInformation(&self, address: u32, addresstype: IMAPI_READ_TRACK_ADDRESS_TYPE, trackinformation: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()>3377     pub unsafe fn GetTrackInformation(&self, address: u32, addresstype: IMAPI_READ_TRACK_ADDRESS_TYPE, trackinformation: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()> {
3378         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(address), ::std::mem::transmute(addresstype), ::std::mem::transmute(trackinformation), ::std::mem::transmute(bytesize)).ok()
3379     }
3380     #[cfg(feature = "Win32_Foundation")]
GetFeaturePage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOLEAN>>(&self, requestedfeature: IMAPI_FEATURE_PAGE_TYPE, currentfeatureonly: Param1, featuredata: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()>3381     pub unsafe fn GetFeaturePage<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOLEAN>>(&self, requestedfeature: IMAPI_FEATURE_PAGE_TYPE, currentfeatureonly: Param1, featuredata: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()> {
3382         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestedfeature), currentfeatureonly.into_param().abi(), ::std::mem::transmute(featuredata), ::std::mem::transmute(bytesize)).ok()
3383     }
GetModePage(&self, requestedmodepage: IMAPI_MODE_PAGE_TYPE, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, modepagedata: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()>3384     pub unsafe fn GetModePage(&self, requestedmodepage: IMAPI_MODE_PAGE_TYPE, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, modepagedata: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::Result<()> {
3385         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(requestedmodepage), ::std::mem::transmute(requesttype), ::std::mem::transmute(modepagedata), ::std::mem::transmute(bytesize)).ok()
3386     }
SetModePage(&self, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, data: *const u8, bytesize: u32) -> ::windows::runtime::Result<()>3387     pub unsafe fn SetModePage(&self, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, data: *const u8, bytesize: u32) -> ::windows::runtime::Result<()> {
3388         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(requesttype), ::std::mem::transmute(data), ::std::mem::transmute(bytesize)).ok()
3389     }
3390     #[cfg(feature = "Win32_Foundation")]
GetSupportedFeaturePages<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOLEAN>>(&self, currentfeatureonly: Param0, featuredata: *mut *mut IMAPI_FEATURE_PAGE_TYPE, bytesize: *mut u32) -> ::windows::runtime::Result<()>3391     pub unsafe fn GetSupportedFeaturePages<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOLEAN>>(&self, currentfeatureonly: Param0, featuredata: *mut *mut IMAPI_FEATURE_PAGE_TYPE, bytesize: *mut u32) -> ::windows::runtime::Result<()> {
3392         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), currentfeatureonly.into_param().abi(), ::std::mem::transmute(featuredata), ::std::mem::transmute(bytesize)).ok()
3393     }
3394     #[cfg(feature = "Win32_Foundation")]
GetSupportedProfiles<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOLEAN>>(&self, currentonly: Param0, profiletypes: *mut *mut IMAPI_PROFILE_TYPE, validprofiles: *mut u32) -> ::windows::runtime::Result<()>3395     pub unsafe fn GetSupportedProfiles<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOLEAN>>(&self, currentonly: Param0, profiletypes: *mut *mut IMAPI_PROFILE_TYPE, validprofiles: *mut u32) -> ::windows::runtime::Result<()> {
3396         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), currentonly.into_param().abi(), ::std::mem::transmute(profiletypes), ::std::mem::transmute(validprofiles)).ok()
3397     }
GetSupportedModePages(&self, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, modepagetypes: *mut *mut IMAPI_MODE_PAGE_TYPE, validpages: *mut u32) -> ::windows::runtime::Result<()>3398     pub unsafe fn GetSupportedModePages(&self, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, modepagetypes: *mut *mut IMAPI_MODE_PAGE_TYPE, validpages: *mut u32) -> ::windows::runtime::Result<()> {
3399         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(requesttype), ::std::mem::transmute(modepagetypes), ::std::mem::transmute(validpages)).ok()
3400     }
GetByteAlignmentMask(&self) -> ::windows::runtime::Result<u32>3401     pub unsafe fn GetByteAlignmentMask(&self) -> ::windows::runtime::Result<u32> {
3402         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3403         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3404     }
GetMaximumNonPageAlignedTransferSize(&self) -> ::windows::runtime::Result<u32>3405     pub unsafe fn GetMaximumNonPageAlignedTransferSize(&self) -> ::windows::runtime::Result<u32> {
3406         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3407         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3408     }
GetMaximumPageAlignedTransferSize(&self) -> ::windows::runtime::Result<u32>3409     pub unsafe fn GetMaximumPageAlignedTransferSize(&self) -> ::windows::runtime::Result<u32> {
3410         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3411         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3412     }
3413 }
3414 unsafe impl ::windows::runtime::Interface for IDiscRecorder2Ex {
3415     type Vtable = IDiscRecorder2Ex_abi;
3416     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801522, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
3417 }
3418 impl ::std::convert::From<IDiscRecorder2Ex> for ::windows::runtime::IUnknown {
from(value: IDiscRecorder2Ex) -> Self3419     fn from(value: IDiscRecorder2Ex) -> Self {
3420         unsafe { ::std::mem::transmute(value) }
3421     }
3422 }
3423 impl ::std::convert::From<&IDiscRecorder2Ex> for ::windows::runtime::IUnknown {
from(value: &IDiscRecorder2Ex) -> Self3424     fn from(value: &IDiscRecorder2Ex) -> Self {
3425         ::std::convert::From::from(::std::clone::Clone::clone(value))
3426     }
3427 }
3428 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDiscRecorder2Ex {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3429     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3430         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3431     }
3432 }
3433 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDiscRecorder2Ex {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3434     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3435         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3436     }
3437 }
3438 #[repr(C)]
3439 #[doc(hidden)]
3440 pub struct IDiscRecorder2Ex_abi(
3441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32) -> ::windows::runtime::HRESULT,
3445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32, buffer: *const u8, buffersize: u32) -> ::windows::runtime::HRESULT,
3446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cdb: *const u8, cdbsize: u32, sensebuffer: *mut u8, timeout: u32, buffer: *mut u8, buffersize: u32, bufferfetched: *mut u32) -> ::windows::runtime::HRESULT,
3447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: u32, address: u32, layer: u32, agid: u32, data: *mut *mut u8, count: *mut u32) -> ::windows::runtime::HRESULT,
3448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: u32, data: *const u8, count: u32) -> ::windows::runtime::HRESULT,
3449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::HRESULT,
3450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::HRESULT,
3451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discinformation: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::HRESULT,
3452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, address: u32, addresstype: IMAPI_READ_TRACK_ADDRESS_TYPE, trackinformation: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::HRESULT,
3453     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestedfeature: IMAPI_FEATURE_PAGE_TYPE, currentfeatureonly: super::super::Foundation::BOOLEAN, featuredata: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::HRESULT,
3454     #[cfg(not(feature = "Win32_Foundation"))] usize,
3455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestedmodepage: IMAPI_MODE_PAGE_TYPE, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, modepagedata: *mut *mut u8, bytesize: *mut u32) -> ::windows::runtime::HRESULT,
3456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, data: *const u8, bytesize: u32) -> ::windows::runtime::HRESULT,
3457     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentfeatureonly: super::super::Foundation::BOOLEAN, featuredata: *mut *mut IMAPI_FEATURE_PAGE_TYPE, bytesize: *mut u32) -> ::windows::runtime::HRESULT,
3458     #[cfg(not(feature = "Win32_Foundation"))] usize,
3459     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentonly: super::super::Foundation::BOOLEAN, profiletypes: *mut *mut IMAPI_PROFILE_TYPE, validprofiles: *mut u32) -> ::windows::runtime::HRESULT,
3460     #[cfg(not(feature = "Win32_Foundation"))] usize,
3461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requesttype: IMAPI_MODE_PAGE_REQUEST_TYPE, modepagetypes: *mut *mut IMAPI_MODE_PAGE_TYPE, validpages: *mut u32) -> ::windows::runtime::HRESULT,
3462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
3463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
3464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
3465 );
3466 #[repr(transparent)]
3467 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3468 pub struct IEnumDiscMasterFormats(::windows::runtime::IUnknown);
3469 impl IEnumDiscMasterFormats {
Next(&self, cformats: u32, lpiidformatid: *mut ::windows::runtime::GUID, pcfetched: *mut u32) -> ::windows::runtime::Result<()>3470     pub unsafe fn Next(&self, cformats: u32, lpiidformatid: *mut ::windows::runtime::GUID, pcfetched: *mut u32) -> ::windows::runtime::Result<()> {
3471         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cformats), ::std::mem::transmute(lpiidformatid), ::std::mem::transmute(pcfetched)).ok()
3472     }
Skip(&self, cformats: u32) -> ::windows::runtime::Result<()>3473     pub unsafe fn Skip(&self, cformats: u32) -> ::windows::runtime::Result<()> {
3474         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cformats)).ok()
3475     }
Reset(&self) -> ::windows::runtime::Result<()>3476     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
3477         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3478     }
Clone(&self) -> ::windows::runtime::Result<IEnumDiscMasterFormats>3479     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumDiscMasterFormats> {
3480         let mut result__: <IEnumDiscMasterFormats as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3481         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDiscMasterFormats>(result__)
3482     }
3483 }
3484 unsafe impl ::windows::runtime::Interface for IEnumDiscMasterFormats {
3485     type Vtable = IEnumDiscMasterFormats_abi;
3486     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3723773409, 21690, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
3487 }
3488 impl ::std::convert::From<IEnumDiscMasterFormats> for ::windows::runtime::IUnknown {
from(value: IEnumDiscMasterFormats) -> Self3489     fn from(value: IEnumDiscMasterFormats) -> Self {
3490         unsafe { ::std::mem::transmute(value) }
3491     }
3492 }
3493 impl ::std::convert::From<&IEnumDiscMasterFormats> for ::windows::runtime::IUnknown {
from(value: &IEnumDiscMasterFormats) -> Self3494     fn from(value: &IEnumDiscMasterFormats) -> Self {
3495         ::std::convert::From::from(::std::clone::Clone::clone(value))
3496     }
3497 }
3498 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumDiscMasterFormats {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3499     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3500         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3501     }
3502 }
3503 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumDiscMasterFormats {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3504     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3505         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3506     }
3507 }
3508 #[repr(C)]
3509 #[doc(hidden)]
3510 pub struct IEnumDiscMasterFormats_abi(
3511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cformats: u32, lpiidformatid: *mut ::windows::runtime::GUID, pcfetched: *mut u32) -> ::windows::runtime::HRESULT,
3515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cformats: u32) -> ::windows::runtime::HRESULT,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3518 );
3519 #[repr(transparent)]
3520 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3521 pub struct IEnumDiscRecorders(::windows::runtime::IUnknown);
3522 impl IEnumDiscRecorders {
Next(&self, crecorders: u32, pprecorder: *mut ::std::option::Option<IDiscRecorder>, pcfetched: *mut u32) -> ::windows::runtime::Result<()>3523     pub unsafe fn Next(&self, crecorders: u32, pprecorder: *mut ::std::option::Option<IDiscRecorder>, pcfetched: *mut u32) -> ::windows::runtime::Result<()> {
3524         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(crecorders), ::std::mem::transmute(pprecorder), ::std::mem::transmute(pcfetched)).ok()
3525     }
Skip(&self, crecorders: u32) -> ::windows::runtime::Result<()>3526     pub unsafe fn Skip(&self, crecorders: u32) -> ::windows::runtime::Result<()> {
3527         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(crecorders)).ok()
3528     }
Reset(&self) -> ::windows::runtime::Result<()>3529     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
3530         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3531     }
Clone(&self) -> ::windows::runtime::Result<IEnumDiscRecorders>3532     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumDiscRecorders> {
3533         let mut result__: <IEnumDiscRecorders as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3534         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumDiscRecorders>(result__)
3535     }
3536 }
3537 unsafe impl ::windows::runtime::Interface for IEnumDiscRecorders {
3538     type Vtable = IEnumDiscRecorders_abi;
3539     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2602115553, 21676, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
3540 }
3541 impl ::std::convert::From<IEnumDiscRecorders> for ::windows::runtime::IUnknown {
from(value: IEnumDiscRecorders) -> Self3542     fn from(value: IEnumDiscRecorders) -> Self {
3543         unsafe { ::std::mem::transmute(value) }
3544     }
3545 }
3546 impl ::std::convert::From<&IEnumDiscRecorders> for ::windows::runtime::IUnknown {
from(value: &IEnumDiscRecorders) -> Self3547     fn from(value: &IEnumDiscRecorders) -> Self {
3548         ::std::convert::From::from(::std::clone::Clone::clone(value))
3549     }
3550 }
3551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumDiscRecorders {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3553         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3554     }
3555 }
3556 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumDiscRecorders {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3557     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3558         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3559     }
3560 }
3561 #[repr(C)]
3562 #[doc(hidden)]
3563 pub struct IEnumDiscRecorders_abi(
3564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, crecorders: u32, pprecorder: *mut ::windows::runtime::RawPtr, pcfetched: *mut u32) -> ::windows::runtime::HRESULT,
3568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, crecorders: u32) -> ::windows::runtime::HRESULT,
3569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3571 );
3572 #[repr(transparent)]
3573 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3574 pub struct IEnumFsiItems(::windows::runtime::IUnknown);
3575 impl IEnumFsiItems {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IFsiItem>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>3576     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IFsiItem>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
3577         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
3578     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>3579     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
3580         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
3581     }
Reset(&self) -> ::windows::runtime::Result<()>3582     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
3583         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3584     }
Clone(&self) -> ::windows::runtime::Result<IEnumFsiItems>3585     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumFsiItems> {
3586         let mut result__: <IEnumFsiItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3587         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumFsiItems>(result__)
3588     }
3589 }
3590 unsafe impl ::windows::runtime::Interface for IEnumFsiItems {
3591     type Vtable = IEnumFsiItems_abi;
3592     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904986, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
3593 }
3594 impl ::std::convert::From<IEnumFsiItems> for ::windows::runtime::IUnknown {
from(value: IEnumFsiItems) -> Self3595     fn from(value: IEnumFsiItems) -> Self {
3596         unsafe { ::std::mem::transmute(value) }
3597     }
3598 }
3599 impl ::std::convert::From<&IEnumFsiItems> for ::windows::runtime::IUnknown {
from(value: &IEnumFsiItems) -> Self3600     fn from(value: &IEnumFsiItems) -> Self {
3601         ::std::convert::From::from(::std::clone::Clone::clone(value))
3602     }
3603 }
3604 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumFsiItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3605     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3606         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3607     }
3608 }
3609 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumFsiItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3610     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3611         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3612     }
3613 }
3614 #[repr(C)]
3615 #[doc(hidden)]
3616 pub struct IEnumFsiItems_abi(
3617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
3621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
3622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3624 );
3625 #[repr(transparent)]
3626 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3627 pub struct IEnumProgressItems(::windows::runtime::IUnknown);
3628 impl IEnumProgressItems {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IProgressItem>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>3629     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IProgressItem>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
3630         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
3631     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>3632     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
3633         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
3634     }
Reset(&self) -> ::windows::runtime::Result<()>3635     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
3636         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3637     }
Clone(&self) -> ::windows::runtime::Result<IEnumProgressItems>3638     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumProgressItems> {
3639         let mut result__: <IEnumProgressItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3640         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumProgressItems>(result__)
3641     }
3642 }
3643 unsafe impl ::windows::runtime::Interface for IEnumProgressItems {
3644     type Vtable = IEnumProgressItems_abi;
3645     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904982, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
3646 }
3647 impl ::std::convert::From<IEnumProgressItems> for ::windows::runtime::IUnknown {
from(value: IEnumProgressItems) -> Self3648     fn from(value: IEnumProgressItems) -> Self {
3649         unsafe { ::std::mem::transmute(value) }
3650     }
3651 }
3652 impl ::std::convert::From<&IEnumProgressItems> for ::windows::runtime::IUnknown {
from(value: &IEnumProgressItems) -> Self3653     fn from(value: &IEnumProgressItems) -> Self {
3654         ::std::convert::From::from(::std::clone::Clone::clone(value))
3655     }
3656 }
3657 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumProgressItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3658     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3659         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3660     }
3661 }
3662 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumProgressItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3663     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3664         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3665     }
3666 }
3667 #[repr(C)]
3668 #[doc(hidden)]
3669 pub struct IEnumProgressItems_abi(
3670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
3674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
3675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3677 );
3678 #[repr(transparent)]
3679 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3680 pub struct IFileSystemImage(::windows::runtime::IUnknown);
3681 impl IFileSystemImage {
Root(&self) -> ::windows::runtime::Result<IFsiDirectoryItem>3682     pub unsafe fn Root(&self) -> ::windows::runtime::Result<IFsiDirectoryItem> {
3683         let mut result__: <IFsiDirectoryItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3684         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsiDirectoryItem>(result__)
3685     }
SessionStartBlock(&self) -> ::windows::runtime::Result<i32>3686     pub unsafe fn SessionStartBlock(&self) -> ::windows::runtime::Result<i32> {
3687         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3688         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3689     }
SetSessionStartBlock(&self, newval: i32) -> ::windows::runtime::Result<()>3690     pub unsafe fn SetSessionStartBlock(&self, newval: i32) -> ::windows::runtime::Result<()> {
3691         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3692     }
FreeMediaBlocks(&self) -> ::windows::runtime::Result<i32>3693     pub unsafe fn FreeMediaBlocks(&self) -> ::windows::runtime::Result<i32> {
3694         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3695         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3696     }
SetFreeMediaBlocks(&self, newval: i32) -> ::windows::runtime::Result<()>3697     pub unsafe fn SetFreeMediaBlocks(&self, newval: i32) -> ::windows::runtime::Result<()> {
3698         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3699     }
SetMaxMediaBlocksFromDevice<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()>3700     pub unsafe fn SetMaxMediaBlocksFromDevice<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()> {
3701         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), discrecorder.into_param().abi()).ok()
3702     }
UsedBlocks(&self) -> ::windows::runtime::Result<i32>3703     pub unsafe fn UsedBlocks(&self) -> ::windows::runtime::Result<i32> {
3704         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3705         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3706     }
3707     #[cfg(feature = "Win32_Foundation")]
VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3708     pub unsafe fn VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3709         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3710         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3711     }
3712     #[cfg(feature = "Win32_Foundation")]
SetVolumeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()>3713     pub unsafe fn SetVolumeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
3714         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
3715     }
3716     #[cfg(feature = "Win32_Foundation")]
ImportedVolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3717     pub unsafe fn ImportedVolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3718         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3719         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3720     }
BootImageOptions(&self) -> ::windows::runtime::Result<IBootOptions>3721     pub unsafe fn BootImageOptions(&self) -> ::windows::runtime::Result<IBootOptions> {
3722         let mut result__: <IBootOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3723         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBootOptions>(result__)
3724     }
SetBootImageOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IBootOptions>>(&self, newval: Param0) -> ::windows::runtime::Result<()>3725     pub unsafe fn SetBootImageOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IBootOptions>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
3726         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
3727     }
FileCount(&self) -> ::windows::runtime::Result<i32>3728     pub unsafe fn FileCount(&self) -> ::windows::runtime::Result<i32> {
3729         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3730         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3731     }
DirectoryCount(&self) -> ::windows::runtime::Result<i32>3732     pub unsafe fn DirectoryCount(&self) -> ::windows::runtime::Result<i32> {
3733         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3734         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3735     }
3736     #[cfg(feature = "Win32_Foundation")]
WorkingDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3737     pub unsafe fn WorkingDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3738         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3739         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3740     }
3741     #[cfg(feature = "Win32_Foundation")]
SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()>3742     pub unsafe fn SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
3743         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
3744     }
ChangePoint(&self) -> ::windows::runtime::Result<i32>3745     pub unsafe fn ChangePoint(&self) -> ::windows::runtime::Result<i32> {
3746         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3747         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3748     }
StrictFileSystemCompliance(&self) -> ::windows::runtime::Result<i16>3749     pub unsafe fn StrictFileSystemCompliance(&self) -> ::windows::runtime::Result<i16> {
3750         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3751         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
3752     }
SetStrictFileSystemCompliance(&self, newval: i16) -> ::windows::runtime::Result<()>3753     pub unsafe fn SetStrictFileSystemCompliance(&self, newval: i16) -> ::windows::runtime::Result<()> {
3754         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3755     }
UseRestrictedCharacterSet(&self) -> ::windows::runtime::Result<i16>3756     pub unsafe fn UseRestrictedCharacterSet(&self) -> ::windows::runtime::Result<i16> {
3757         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3758         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
3759     }
SetUseRestrictedCharacterSet(&self, newval: i16) -> ::windows::runtime::Result<()>3760     pub unsafe fn SetUseRestrictedCharacterSet(&self, newval: i16) -> ::windows::runtime::Result<()> {
3761         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3762     }
FileSystemsToCreate(&self) -> ::windows::runtime::Result<FsiFileSystems>3763     pub unsafe fn FileSystemsToCreate(&self) -> ::windows::runtime::Result<FsiFileSystems> {
3764         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3765         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
3766     }
SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows::runtime::Result<()>3767     pub unsafe fn SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows::runtime::Result<()> {
3768         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3769     }
FileSystemsSupported(&self) -> ::windows::runtime::Result<FsiFileSystems>3770     pub unsafe fn FileSystemsSupported(&self) -> ::windows::runtime::Result<FsiFileSystems> {
3771         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3772         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
3773     }
SetUDFRevision(&self, newval: i32) -> ::windows::runtime::Result<()>3774     pub unsafe fn SetUDFRevision(&self, newval: i32) -> ::windows::runtime::Result<()> {
3775         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3776     }
UDFRevision(&self) -> ::windows::runtime::Result<i32>3777     pub unsafe fn UDFRevision(&self) -> ::windows::runtime::Result<i32> {
3778         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3779         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3780     }
3781     #[cfg(feature = "Win32_System_Com")]
UDFRevisionsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3782     pub unsafe fn UDFRevisionsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3783         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3784         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3785     }
ChooseImageDefaults<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()>3786     pub unsafe fn ChooseImageDefaults<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()> {
3787         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), discrecorder.into_param().abi()).ok()
3788     }
ChooseImageDefaultsForMediaType(&self, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::Result<()>3789     pub unsafe fn ChooseImageDefaultsForMediaType(&self, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::Result<()> {
3790         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
3791     }
SetISO9660InterchangeLevel(&self, newval: i32) -> ::windows::runtime::Result<()>3792     pub unsafe fn SetISO9660InterchangeLevel(&self, newval: i32) -> ::windows::runtime::Result<()> {
3793         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3794     }
ISO9660InterchangeLevel(&self) -> ::windows::runtime::Result<i32>3795     pub unsafe fn ISO9660InterchangeLevel(&self) -> ::windows::runtime::Result<i32> {
3796         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3797         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3798     }
3799     #[cfg(feature = "Win32_System_Com")]
ISO9660InterchangeLevelsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3800     pub unsafe fn ISO9660InterchangeLevelsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3801         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3802         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3803     }
CreateResultImage(&self) -> ::windows::runtime::Result<IFileSystemImageResult>3804     pub unsafe fn CreateResultImage(&self) -> ::windows::runtime::Result<IFileSystemImageResult> {
3805         let mut result__: <IFileSystemImageResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3806         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFileSystemImageResult>(result__)
3807     }
3808     #[cfg(feature = "Win32_Foundation")]
Exists<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fullpath: Param0) -> ::windows::runtime::Result<FsiItemType>3809     pub unsafe fn Exists<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fullpath: Param0) -> ::windows::runtime::Result<FsiItemType> {
3810         let mut result__: <FsiItemType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3811         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), fullpath.into_param().abi(), &mut result__).from_abi::<FsiItemType>(result__)
3812     }
3813     #[cfg(feature = "Win32_Foundation")]
CalculateDiscIdentifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3814     pub unsafe fn CalculateDiscIdentifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3815         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3816         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3817     }
IdentifyFileSystemsOnDisc<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<FsiFileSystems>3818     pub unsafe fn IdentifyFileSystemsOnDisc<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<FsiFileSystems> {
3819         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3820         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), discrecorder.into_param().abi(), &mut result__).from_abi::<FsiFileSystems>(result__)
3821     }
GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows::runtime::Result<FsiFileSystems>3822     pub unsafe fn GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows::runtime::Result<FsiFileSystems> {
3823         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3824         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystems), &mut result__).from_abi::<FsiFileSystems>(result__)
3825     }
ImportFileSystem(&self) -> ::windows::runtime::Result<FsiFileSystems>3826     pub unsafe fn ImportFileSystem(&self) -> ::windows::runtime::Result<FsiFileSystems> {
3827         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3828         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
3829     }
ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows::runtime::Result<()>3830     pub unsafe fn ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows::runtime::Result<()> {
3831         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystemtouse)).ok()
3832     }
RollbackToChangePoint(&self, changepoint: i32) -> ::windows::runtime::Result<()>3833     pub unsafe fn RollbackToChangePoint(&self, changepoint: i32) -> ::windows::runtime::Result<()> {
3834         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(changepoint)).ok()
3835     }
LockInChangePoint(&self) -> ::windows::runtime::Result<()>3836     pub unsafe fn LockInChangePoint(&self) -> ::windows::runtime::Result<()> {
3837         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self)).ok()
3838     }
3839     #[cfg(feature = "Win32_Foundation")]
CreateDirectoryItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiDirectoryItem>3840     pub unsafe fn CreateDirectoryItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiDirectoryItem> {
3841         let mut result__: <IFsiDirectoryItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3842         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsiDirectoryItem>(result__)
3843     }
3844     #[cfg(feature = "Win32_Foundation")]
CreateFileItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiFileItem>3845     pub unsafe fn CreateFileItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiFileItem> {
3846         let mut result__: <IFsiFileItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3847         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsiFileItem>(result__)
3848     }
3849     #[cfg(feature = "Win32_Foundation")]
VolumeNameUDF(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3850     pub unsafe fn VolumeNameUDF(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3851         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3852         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3853     }
3854     #[cfg(feature = "Win32_Foundation")]
VolumeNameJoliet(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3855     pub unsafe fn VolumeNameJoliet(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3856         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3857         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3858     }
3859     #[cfg(feature = "Win32_Foundation")]
VolumeNameISO9660(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>3860     pub unsafe fn VolumeNameISO9660(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
3861         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3862         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
3863     }
StageFiles(&self) -> ::windows::runtime::Result<i16>3864     pub unsafe fn StageFiles(&self) -> ::windows::runtime::Result<i16> {
3865         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3866         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
3867     }
SetStageFiles(&self, newval: i16) -> ::windows::runtime::Result<()>3868     pub unsafe fn SetStageFiles(&self, newval: i16) -> ::windows::runtime::Result<()> {
3869         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3870     }
3871     #[cfg(feature = "Win32_System_Com")]
MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>3872     pub unsafe fn MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
3873         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3874         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
3875     }
3876     #[cfg(feature = "Win32_System_Com")]
SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()>3877     pub unsafe fn SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
3878         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
3879     }
3880 }
3881 unsafe impl ::windows::runtime::Interface for IFileSystemImage {
3882     type Vtable = IFileSystemImage_abi;
3883     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904993, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
3884 }
3885 impl ::std::convert::From<IFileSystemImage> for ::windows::runtime::IUnknown {
from(value: IFileSystemImage) -> Self3886     fn from(value: IFileSystemImage) -> Self {
3887         unsafe { ::std::mem::transmute(value) }
3888     }
3889 }
3890 impl ::std::convert::From<&IFileSystemImage> for ::windows::runtime::IUnknown {
from(value: &IFileSystemImage) -> Self3891     fn from(value: &IFileSystemImage) -> Self {
3892         ::std::convert::From::from(::std::clone::Clone::clone(value))
3893     }
3894 }
3895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFileSystemImage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3897         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3898     }
3899 }
3900 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFileSystemImage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3901     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3902         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3903     }
3904 }
3905 #[cfg(feature = "Win32_System_Ole_Automation")]
3906 impl ::std::convert::From<IFileSystemImage> for super::super::System::Ole::Automation::IDispatch {
from(value: IFileSystemImage) -> Self3907     fn from(value: IFileSystemImage) -> Self {
3908         unsafe { ::std::mem::transmute(value) }
3909     }
3910 }
3911 #[cfg(feature = "Win32_System_Ole_Automation")]
3912 impl ::std::convert::From<&IFileSystemImage> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFileSystemImage) -> Self3913     fn from(value: &IFileSystemImage) -> Self {
3914         ::std::convert::From::from(::std::clone::Clone::clone(value))
3915     }
3916 }
3917 #[cfg(feature = "Win32_System_Ole_Automation")]
3918 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFileSystemImage {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>3919     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3920         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
3921     }
3922 }
3923 #[cfg(feature = "Win32_System_Ole_Automation")]
3924 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFileSystemImage {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>3925     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
3926         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
3927     }
3928 }
3929 #[repr(C)]
3930 #[doc(hidden)]
3931 pub struct IFileSystemImage_abi(
3932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
3936     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3937     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
3938     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
3939     #[cfg(not(feature = "Win32_Foundation"))] usize,
3940     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
3941     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
3942     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
3943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
3946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
3948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3950     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3951     #[cfg(not(feature = "Win32_Foundation"))] usize,
3952     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3953     #[cfg(not(feature = "Win32_Foundation"))] usize,
3954     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3955     #[cfg(not(feature = "Win32_Foundation"))] usize,
3956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3960     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3961     #[cfg(not(feature = "Win32_Foundation"))] usize,
3962     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3963     #[cfg(not(feature = "Win32_Foundation"))] usize,
3964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
3966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
3967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
3968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
3969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
3970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: FsiFileSystems) -> ::windows::runtime::HRESULT,
3971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
3972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
3973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3974     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3975     #[cfg(not(feature = "Win32_System_Com"))] usize,
3976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
3978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
3979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
3980     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
3981     #[cfg(not(feature = "Win32_System_Com"))] usize,
3982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3983     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fullpath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, itemtype: *mut FsiItemType) -> ::windows::runtime::HRESULT,
3984     #[cfg(not(feature = "Win32_Foundation"))] usize,
3985     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discidentifier: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3986     #[cfg(not(feature = "Win32_Foundation"))] usize,
3987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr, filesystems: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
3988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystems: FsiFileSystems, importdefault: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
3989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, importedfilesystem: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
3990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystemtouse: FsiFileSystems) -> ::windows::runtime::HRESULT,
3991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, changepoint: i32) -> ::windows::runtime::HRESULT,
3992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3993     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3994     #[cfg(not(feature = "Win32_Foundation"))] usize,
3995     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3996     #[cfg(not(feature = "Win32_Foundation"))] usize,
3997     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
3998     #[cfg(not(feature = "Win32_Foundation"))] usize,
3999     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4000     #[cfg(not(feature = "Win32_Foundation"))] usize,
4001     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4002     #[cfg(not(feature = "Win32_Foundation"))] usize,
4003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4005     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4006     #[cfg(not(feature = "Win32_System_Com"))] usize,
4007     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4008     #[cfg(not(feature = "Win32_System_Com"))] usize,
4009 );
4010 #[repr(transparent)]
4011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4012 pub struct IFileSystemImage2(::windows::runtime::IUnknown);
4013 impl IFileSystemImage2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>4014     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4015         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4016         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4017     }
4018     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>4019     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4020         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4021         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
4022     }
4023     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>4024     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
4025         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
4026     }
4027     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>4028     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
4029         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
4030     }
Root(&self) -> ::windows::runtime::Result<IFsiDirectoryItem>4031     pub unsafe fn Root(&self) -> ::windows::runtime::Result<IFsiDirectoryItem> {
4032         let mut result__: <IFsiDirectoryItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4033         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsiDirectoryItem>(result__)
4034     }
SessionStartBlock(&self) -> ::windows::runtime::Result<i32>4035     pub unsafe fn SessionStartBlock(&self) -> ::windows::runtime::Result<i32> {
4036         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4037         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4038     }
SetSessionStartBlock(&self, newval: i32) -> ::windows::runtime::Result<()>4039     pub unsafe fn SetSessionStartBlock(&self, newval: i32) -> ::windows::runtime::Result<()> {
4040         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4041     }
FreeMediaBlocks(&self) -> ::windows::runtime::Result<i32>4042     pub unsafe fn FreeMediaBlocks(&self) -> ::windows::runtime::Result<i32> {
4043         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4044         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4045     }
SetFreeMediaBlocks(&self, newval: i32) -> ::windows::runtime::Result<()>4046     pub unsafe fn SetFreeMediaBlocks(&self, newval: i32) -> ::windows::runtime::Result<()> {
4047         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4048     }
SetMaxMediaBlocksFromDevice<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()>4049     pub unsafe fn SetMaxMediaBlocksFromDevice<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()> {
4050         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), discrecorder.into_param().abi()).ok()
4051     }
UsedBlocks(&self) -> ::windows::runtime::Result<i32>4052     pub unsafe fn UsedBlocks(&self) -> ::windows::runtime::Result<i32> {
4053         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4054         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4055     }
4056     #[cfg(feature = "Win32_Foundation")]
VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4057     pub unsafe fn VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4058         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4059         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4060     }
4061     #[cfg(feature = "Win32_Foundation")]
SetVolumeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()>4062     pub unsafe fn SetVolumeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4063         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4064     }
4065     #[cfg(feature = "Win32_Foundation")]
ImportedVolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4066     pub unsafe fn ImportedVolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4067         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4068         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4069     }
BootImageOptions(&self) -> ::windows::runtime::Result<IBootOptions>4070     pub unsafe fn BootImageOptions(&self) -> ::windows::runtime::Result<IBootOptions> {
4071         let mut result__: <IBootOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4072         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBootOptions>(result__)
4073     }
SetBootImageOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IBootOptions>>(&self, newval: Param0) -> ::windows::runtime::Result<()>4074     pub unsafe fn SetBootImageOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IBootOptions>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4075         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4076     }
FileCount(&self) -> ::windows::runtime::Result<i32>4077     pub unsafe fn FileCount(&self) -> ::windows::runtime::Result<i32> {
4078         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4079         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4080     }
DirectoryCount(&self) -> ::windows::runtime::Result<i32>4081     pub unsafe fn DirectoryCount(&self) -> ::windows::runtime::Result<i32> {
4082         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4083         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4084     }
4085     #[cfg(feature = "Win32_Foundation")]
WorkingDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4086     pub unsafe fn WorkingDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4087         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4088         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4089     }
4090     #[cfg(feature = "Win32_Foundation")]
SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()>4091     pub unsafe fn SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4092         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4093     }
ChangePoint(&self) -> ::windows::runtime::Result<i32>4094     pub unsafe fn ChangePoint(&self) -> ::windows::runtime::Result<i32> {
4095         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4096         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4097     }
StrictFileSystemCompliance(&self) -> ::windows::runtime::Result<i16>4098     pub unsafe fn StrictFileSystemCompliance(&self) -> ::windows::runtime::Result<i16> {
4099         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4100         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4101     }
SetStrictFileSystemCompliance(&self, newval: i16) -> ::windows::runtime::Result<()>4102     pub unsafe fn SetStrictFileSystemCompliance(&self, newval: i16) -> ::windows::runtime::Result<()> {
4103         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4104     }
UseRestrictedCharacterSet(&self) -> ::windows::runtime::Result<i16>4105     pub unsafe fn UseRestrictedCharacterSet(&self) -> ::windows::runtime::Result<i16> {
4106         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4107         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4108     }
SetUseRestrictedCharacterSet(&self, newval: i16) -> ::windows::runtime::Result<()>4109     pub unsafe fn SetUseRestrictedCharacterSet(&self, newval: i16) -> ::windows::runtime::Result<()> {
4110         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4111     }
FileSystemsToCreate(&self) -> ::windows::runtime::Result<FsiFileSystems>4112     pub unsafe fn FileSystemsToCreate(&self) -> ::windows::runtime::Result<FsiFileSystems> {
4113         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4114         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
4115     }
SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows::runtime::Result<()>4116     pub unsafe fn SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows::runtime::Result<()> {
4117         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4118     }
FileSystemsSupported(&self) -> ::windows::runtime::Result<FsiFileSystems>4119     pub unsafe fn FileSystemsSupported(&self) -> ::windows::runtime::Result<FsiFileSystems> {
4120         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4121         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
4122     }
SetUDFRevision(&self, newval: i32) -> ::windows::runtime::Result<()>4123     pub unsafe fn SetUDFRevision(&self, newval: i32) -> ::windows::runtime::Result<()> {
4124         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4125     }
UDFRevision(&self) -> ::windows::runtime::Result<i32>4126     pub unsafe fn UDFRevision(&self) -> ::windows::runtime::Result<i32> {
4127         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4128         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4129     }
4130     #[cfg(feature = "Win32_System_Com")]
UDFRevisionsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4131     pub unsafe fn UDFRevisionsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4132         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4133         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4134     }
ChooseImageDefaults<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()>4135     pub unsafe fn ChooseImageDefaults<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()> {
4136         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), discrecorder.into_param().abi()).ok()
4137     }
ChooseImageDefaultsForMediaType(&self, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::Result<()>4138     pub unsafe fn ChooseImageDefaultsForMediaType(&self, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::Result<()> {
4139         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
4140     }
SetISO9660InterchangeLevel(&self, newval: i32) -> ::windows::runtime::Result<()>4141     pub unsafe fn SetISO9660InterchangeLevel(&self, newval: i32) -> ::windows::runtime::Result<()> {
4142         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4143     }
ISO9660InterchangeLevel(&self) -> ::windows::runtime::Result<i32>4144     pub unsafe fn ISO9660InterchangeLevel(&self) -> ::windows::runtime::Result<i32> {
4145         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4146         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4147     }
4148     #[cfg(feature = "Win32_System_Com")]
ISO9660InterchangeLevelsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4149     pub unsafe fn ISO9660InterchangeLevelsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4150         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4151         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4152     }
CreateResultImage(&self) -> ::windows::runtime::Result<IFileSystemImageResult>4153     pub unsafe fn CreateResultImage(&self) -> ::windows::runtime::Result<IFileSystemImageResult> {
4154         let mut result__: <IFileSystemImageResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4155         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFileSystemImageResult>(result__)
4156     }
4157     #[cfg(feature = "Win32_Foundation")]
Exists<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fullpath: Param0) -> ::windows::runtime::Result<FsiItemType>4158     pub unsafe fn Exists<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fullpath: Param0) -> ::windows::runtime::Result<FsiItemType> {
4159         let mut result__: <FsiItemType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4160         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), fullpath.into_param().abi(), &mut result__).from_abi::<FsiItemType>(result__)
4161     }
4162     #[cfg(feature = "Win32_Foundation")]
CalculateDiscIdentifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4163     pub unsafe fn CalculateDiscIdentifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4164         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4165         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4166     }
IdentifyFileSystemsOnDisc<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<FsiFileSystems>4167     pub unsafe fn IdentifyFileSystemsOnDisc<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<FsiFileSystems> {
4168         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4169         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), discrecorder.into_param().abi(), &mut result__).from_abi::<FsiFileSystems>(result__)
4170     }
GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows::runtime::Result<FsiFileSystems>4171     pub unsafe fn GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows::runtime::Result<FsiFileSystems> {
4172         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4173         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystems), &mut result__).from_abi::<FsiFileSystems>(result__)
4174     }
ImportFileSystem(&self) -> ::windows::runtime::Result<FsiFileSystems>4175     pub unsafe fn ImportFileSystem(&self) -> ::windows::runtime::Result<FsiFileSystems> {
4176         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4177         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
4178     }
ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows::runtime::Result<()>4179     pub unsafe fn ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows::runtime::Result<()> {
4180         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystemtouse)).ok()
4181     }
RollbackToChangePoint(&self, changepoint: i32) -> ::windows::runtime::Result<()>4182     pub unsafe fn RollbackToChangePoint(&self, changepoint: i32) -> ::windows::runtime::Result<()> {
4183         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(changepoint)).ok()
4184     }
LockInChangePoint(&self) -> ::windows::runtime::Result<()>4185     pub unsafe fn LockInChangePoint(&self) -> ::windows::runtime::Result<()> {
4186         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self)).ok()
4187     }
4188     #[cfg(feature = "Win32_Foundation")]
CreateDirectoryItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiDirectoryItem>4189     pub unsafe fn CreateDirectoryItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiDirectoryItem> {
4190         let mut result__: <IFsiDirectoryItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4191         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsiDirectoryItem>(result__)
4192     }
4193     #[cfg(feature = "Win32_Foundation")]
CreateFileItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiFileItem>4194     pub unsafe fn CreateFileItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiFileItem> {
4195         let mut result__: <IFsiFileItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4196         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsiFileItem>(result__)
4197     }
4198     #[cfg(feature = "Win32_Foundation")]
VolumeNameUDF(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4199     pub unsafe fn VolumeNameUDF(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4200         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4201         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4202     }
4203     #[cfg(feature = "Win32_Foundation")]
VolumeNameJoliet(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4204     pub unsafe fn VolumeNameJoliet(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4205         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4206         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4207     }
4208     #[cfg(feature = "Win32_Foundation")]
VolumeNameISO9660(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4209     pub unsafe fn VolumeNameISO9660(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4210         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4211         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4212     }
StageFiles(&self) -> ::windows::runtime::Result<i16>4213     pub unsafe fn StageFiles(&self) -> ::windows::runtime::Result<i16> {
4214         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4215         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4216     }
SetStageFiles(&self, newval: i16) -> ::windows::runtime::Result<()>4217     pub unsafe fn SetStageFiles(&self, newval: i16) -> ::windows::runtime::Result<()> {
4218         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4219     }
4220     #[cfg(feature = "Win32_System_Com")]
MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4221     pub unsafe fn MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4222         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4223         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4224     }
4225     #[cfg(feature = "Win32_System_Com")]
SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()>4226     pub unsafe fn SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4227         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4228     }
4229     #[cfg(feature = "Win32_System_Com")]
BootImageOptionsArray(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4230     pub unsafe fn BootImageOptionsArray(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4231         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4232         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4233     }
4234     #[cfg(feature = "Win32_System_Com")]
SetBootImageOptionsArray(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()>4235     pub unsafe fn SetBootImageOptionsArray(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4236         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4237     }
4238 }
4239 unsafe impl ::windows::runtime::Interface for IFileSystemImage2 {
4240     type Vtable = IFileSystemImage2_abi;
4241     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3613674284, 5431, 18279, [182, 47, 241, 56, 123, 2, 221, 253]);
4242 }
4243 impl ::std::convert::From<IFileSystemImage2> for ::windows::runtime::IUnknown {
from(value: IFileSystemImage2) -> Self4244     fn from(value: IFileSystemImage2) -> Self {
4245         unsafe { ::std::mem::transmute(value) }
4246     }
4247 }
4248 impl ::std::convert::From<&IFileSystemImage2> for ::windows::runtime::IUnknown {
from(value: &IFileSystemImage2) -> Self4249     fn from(value: &IFileSystemImage2) -> Self {
4250         ::std::convert::From::from(::std::clone::Clone::clone(value))
4251     }
4252 }
4253 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFileSystemImage2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4254     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4255         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4256     }
4257 }
4258 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFileSystemImage2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4259     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4260         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4261     }
4262 }
4263 impl ::std::convert::From<IFileSystemImage2> for IFileSystemImage {
from(value: IFileSystemImage2) -> Self4264     fn from(value: IFileSystemImage2) -> Self {
4265         unsafe { ::std::mem::transmute(value) }
4266     }
4267 }
4268 impl ::std::convert::From<&IFileSystemImage2> for IFileSystemImage {
from(value: &IFileSystemImage2) -> Self4269     fn from(value: &IFileSystemImage2) -> Self {
4270         ::std::convert::From::from(::std::clone::Clone::clone(value))
4271     }
4272 }
4273 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImage> for IFileSystemImage2 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage>4274     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage> {
4275         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImage>::into(self))
4276     }
4277 }
4278 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImage> for &IFileSystemImage2 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage>4279     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage> {
4280         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImage>::into(::std::clone::Clone::clone(self)))
4281     }
4282 }
4283 #[cfg(feature = "Win32_System_Ole_Automation")]
4284 impl ::std::convert::From<IFileSystemImage2> for super::super::System::Ole::Automation::IDispatch {
from(value: IFileSystemImage2) -> Self4285     fn from(value: IFileSystemImage2) -> Self {
4286         unsafe { ::std::mem::transmute(value) }
4287     }
4288 }
4289 #[cfg(feature = "Win32_System_Ole_Automation")]
4290 impl ::std::convert::From<&IFileSystemImage2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFileSystemImage2) -> Self4291     fn from(value: &IFileSystemImage2) -> Self {
4292         ::std::convert::From::from(::std::clone::Clone::clone(value))
4293     }
4294 }
4295 #[cfg(feature = "Win32_System_Ole_Automation")]
4296 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFileSystemImage2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>4297     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4298         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4299     }
4300 }
4301 #[cfg(feature = "Win32_System_Ole_Automation")]
4302 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFileSystemImage2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>4303     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4304         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4305     }
4306 }
4307 #[repr(C)]
4308 #[doc(hidden)]
4309 pub struct IFileSystemImage2_abi(
4310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4314     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4315     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4316     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4317     #[cfg(not(feature = "Win32_Foundation"))] usize,
4318     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4319     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4320     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4328     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4329     #[cfg(not(feature = "Win32_Foundation"))] usize,
4330     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4331     #[cfg(not(feature = "Win32_Foundation"))] usize,
4332     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4333     #[cfg(not(feature = "Win32_Foundation"))] usize,
4334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4338     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4339     #[cfg(not(feature = "Win32_Foundation"))] usize,
4340     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4341     #[cfg(not(feature = "Win32_Foundation"))] usize,
4342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: FsiFileSystems) -> ::windows::runtime::HRESULT,
4349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4352     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4353     #[cfg(not(feature = "Win32_System_Com"))] usize,
4354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
4356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4358     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4359     #[cfg(not(feature = "Win32_System_Com"))] usize,
4360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4361     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fullpath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, itemtype: *mut FsiItemType) -> ::windows::runtime::HRESULT,
4362     #[cfg(not(feature = "Win32_Foundation"))] usize,
4363     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discidentifier: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4364     #[cfg(not(feature = "Win32_Foundation"))] usize,
4365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr, filesystems: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystems: FsiFileSystems, importdefault: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, importedfilesystem: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystemtouse: FsiFileSystems) -> ::windows::runtime::HRESULT,
4369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, changepoint: i32) -> ::windows::runtime::HRESULT,
4370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4371     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4372     #[cfg(not(feature = "Win32_Foundation"))] usize,
4373     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4374     #[cfg(not(feature = "Win32_Foundation"))] usize,
4375     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4376     #[cfg(not(feature = "Win32_Foundation"))] usize,
4377     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4378     #[cfg(not(feature = "Win32_Foundation"))] usize,
4379     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4380     #[cfg(not(feature = "Win32_Foundation"))] usize,
4381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4383     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4384     #[cfg(not(feature = "Win32_System_Com"))] usize,
4385     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4386     #[cfg(not(feature = "Win32_System_Com"))] usize,
4387     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4388     #[cfg(not(feature = "Win32_System_Com"))] usize,
4389     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4390     #[cfg(not(feature = "Win32_System_Com"))] usize,
4391 );
4392 #[repr(transparent)]
4393 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4394 pub struct IFileSystemImage3(::windows::runtime::IUnknown);
4395 impl IFileSystemImage3 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>4396     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4397         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4398         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4399     }
4400     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>4401     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4402         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4403         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
4404     }
4405     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>4406     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
4407         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
4408     }
4409     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>4410     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
4411         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
4412     }
Root(&self) -> ::windows::runtime::Result<IFsiDirectoryItem>4413     pub unsafe fn Root(&self) -> ::windows::runtime::Result<IFsiDirectoryItem> {
4414         let mut result__: <IFsiDirectoryItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4415         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsiDirectoryItem>(result__)
4416     }
SessionStartBlock(&self) -> ::windows::runtime::Result<i32>4417     pub unsafe fn SessionStartBlock(&self) -> ::windows::runtime::Result<i32> {
4418         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4419         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4420     }
SetSessionStartBlock(&self, newval: i32) -> ::windows::runtime::Result<()>4421     pub unsafe fn SetSessionStartBlock(&self, newval: i32) -> ::windows::runtime::Result<()> {
4422         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4423     }
FreeMediaBlocks(&self) -> ::windows::runtime::Result<i32>4424     pub unsafe fn FreeMediaBlocks(&self) -> ::windows::runtime::Result<i32> {
4425         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4426         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4427     }
SetFreeMediaBlocks(&self, newval: i32) -> ::windows::runtime::Result<()>4428     pub unsafe fn SetFreeMediaBlocks(&self, newval: i32) -> ::windows::runtime::Result<()> {
4429         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4430     }
SetMaxMediaBlocksFromDevice<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()>4431     pub unsafe fn SetMaxMediaBlocksFromDevice<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()> {
4432         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), discrecorder.into_param().abi()).ok()
4433     }
UsedBlocks(&self) -> ::windows::runtime::Result<i32>4434     pub unsafe fn UsedBlocks(&self) -> ::windows::runtime::Result<i32> {
4435         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4436         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4437     }
4438     #[cfg(feature = "Win32_Foundation")]
VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4439     pub unsafe fn VolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4440         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4441         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4442     }
4443     #[cfg(feature = "Win32_Foundation")]
SetVolumeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()>4444     pub unsafe fn SetVolumeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4445         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4446     }
4447     #[cfg(feature = "Win32_Foundation")]
ImportedVolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4448     pub unsafe fn ImportedVolumeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4449         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4450         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4451     }
BootImageOptions(&self) -> ::windows::runtime::Result<IBootOptions>4452     pub unsafe fn BootImageOptions(&self) -> ::windows::runtime::Result<IBootOptions> {
4453         let mut result__: <IBootOptions as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4454         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBootOptions>(result__)
4455     }
SetBootImageOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IBootOptions>>(&self, newval: Param0) -> ::windows::runtime::Result<()>4456     pub unsafe fn SetBootImageOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IBootOptions>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4457         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4458     }
FileCount(&self) -> ::windows::runtime::Result<i32>4459     pub unsafe fn FileCount(&self) -> ::windows::runtime::Result<i32> {
4460         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4461         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4462     }
DirectoryCount(&self) -> ::windows::runtime::Result<i32>4463     pub unsafe fn DirectoryCount(&self) -> ::windows::runtime::Result<i32> {
4464         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4465         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4466     }
4467     #[cfg(feature = "Win32_Foundation")]
WorkingDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4468     pub unsafe fn WorkingDirectory(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4469         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4470         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4471     }
4472     #[cfg(feature = "Win32_Foundation")]
SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()>4473     pub unsafe fn SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
4474         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
4475     }
ChangePoint(&self) -> ::windows::runtime::Result<i32>4476     pub unsafe fn ChangePoint(&self) -> ::windows::runtime::Result<i32> {
4477         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4478         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4479     }
StrictFileSystemCompliance(&self) -> ::windows::runtime::Result<i16>4480     pub unsafe fn StrictFileSystemCompliance(&self) -> ::windows::runtime::Result<i16> {
4481         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4482         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4483     }
SetStrictFileSystemCompliance(&self, newval: i16) -> ::windows::runtime::Result<()>4484     pub unsafe fn SetStrictFileSystemCompliance(&self, newval: i16) -> ::windows::runtime::Result<()> {
4485         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4486     }
UseRestrictedCharacterSet(&self) -> ::windows::runtime::Result<i16>4487     pub unsafe fn UseRestrictedCharacterSet(&self) -> ::windows::runtime::Result<i16> {
4488         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4489         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4490     }
SetUseRestrictedCharacterSet(&self, newval: i16) -> ::windows::runtime::Result<()>4491     pub unsafe fn SetUseRestrictedCharacterSet(&self, newval: i16) -> ::windows::runtime::Result<()> {
4492         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4493     }
FileSystemsToCreate(&self) -> ::windows::runtime::Result<FsiFileSystems>4494     pub unsafe fn FileSystemsToCreate(&self) -> ::windows::runtime::Result<FsiFileSystems> {
4495         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4496         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
4497     }
SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows::runtime::Result<()>4498     pub unsafe fn SetFileSystemsToCreate(&self, newval: FsiFileSystems) -> ::windows::runtime::Result<()> {
4499         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4500     }
FileSystemsSupported(&self) -> ::windows::runtime::Result<FsiFileSystems>4501     pub unsafe fn FileSystemsSupported(&self) -> ::windows::runtime::Result<FsiFileSystems> {
4502         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4503         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
4504     }
SetUDFRevision(&self, newval: i32) -> ::windows::runtime::Result<()>4505     pub unsafe fn SetUDFRevision(&self, newval: i32) -> ::windows::runtime::Result<()> {
4506         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4507     }
UDFRevision(&self) -> ::windows::runtime::Result<i32>4508     pub unsafe fn UDFRevision(&self) -> ::windows::runtime::Result<i32> {
4509         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4510         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4511     }
4512     #[cfg(feature = "Win32_System_Com")]
UDFRevisionsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4513     pub unsafe fn UDFRevisionsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4514         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4515         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4516     }
ChooseImageDefaults<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()>4517     pub unsafe fn ChooseImageDefaults<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<()> {
4518         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), discrecorder.into_param().abi()).ok()
4519     }
ChooseImageDefaultsForMediaType(&self, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::Result<()>4520     pub unsafe fn ChooseImageDefaultsForMediaType(&self, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::Result<()> {
4521         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
4522     }
SetISO9660InterchangeLevel(&self, newval: i32) -> ::windows::runtime::Result<()>4523     pub unsafe fn SetISO9660InterchangeLevel(&self, newval: i32) -> ::windows::runtime::Result<()> {
4524         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4525     }
ISO9660InterchangeLevel(&self) -> ::windows::runtime::Result<i32>4526     pub unsafe fn ISO9660InterchangeLevel(&self) -> ::windows::runtime::Result<i32> {
4527         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4528         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4529     }
4530     #[cfg(feature = "Win32_System_Com")]
ISO9660InterchangeLevelsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4531     pub unsafe fn ISO9660InterchangeLevelsSupported(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4532         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4533         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4534     }
CreateResultImage(&self) -> ::windows::runtime::Result<IFileSystemImageResult>4535     pub unsafe fn CreateResultImage(&self) -> ::windows::runtime::Result<IFileSystemImageResult> {
4536         let mut result__: <IFileSystemImageResult as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4537         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFileSystemImageResult>(result__)
4538     }
4539     #[cfg(feature = "Win32_Foundation")]
Exists<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fullpath: Param0) -> ::windows::runtime::Result<FsiItemType>4540     pub unsafe fn Exists<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, fullpath: Param0) -> ::windows::runtime::Result<FsiItemType> {
4541         let mut result__: <FsiItemType as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4542         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), fullpath.into_param().abi(), &mut result__).from_abi::<FsiItemType>(result__)
4543     }
4544     #[cfg(feature = "Win32_Foundation")]
CalculateDiscIdentifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4545     pub unsafe fn CalculateDiscIdentifier(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4546         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4547         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4548     }
IdentifyFileSystemsOnDisc<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<FsiFileSystems>4549     pub unsafe fn IdentifyFileSystemsOnDisc<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2>>(&self, discrecorder: Param0) -> ::windows::runtime::Result<FsiFileSystems> {
4550         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4551         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), discrecorder.into_param().abi(), &mut result__).from_abi::<FsiFileSystems>(result__)
4552     }
GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows::runtime::Result<FsiFileSystems>4553     pub unsafe fn GetDefaultFileSystemForImport(&self, filesystems: FsiFileSystems) -> ::windows::runtime::Result<FsiFileSystems> {
4554         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4555         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystems), &mut result__).from_abi::<FsiFileSystems>(result__)
4556     }
ImportFileSystem(&self) -> ::windows::runtime::Result<FsiFileSystems>4557     pub unsafe fn ImportFileSystem(&self) -> ::windows::runtime::Result<FsiFileSystems> {
4558         let mut result__: <FsiFileSystems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4559         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), &mut result__).from_abi::<FsiFileSystems>(result__)
4560     }
ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows::runtime::Result<()>4561     pub unsafe fn ImportSpecificFileSystem(&self, filesystemtouse: FsiFileSystems) -> ::windows::runtime::Result<()> {
4562         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystemtouse)).ok()
4563     }
RollbackToChangePoint(&self, changepoint: i32) -> ::windows::runtime::Result<()>4564     pub unsafe fn RollbackToChangePoint(&self, changepoint: i32) -> ::windows::runtime::Result<()> {
4565         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(changepoint)).ok()
4566     }
LockInChangePoint(&self) -> ::windows::runtime::Result<()>4567     pub unsafe fn LockInChangePoint(&self) -> ::windows::runtime::Result<()> {
4568         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self)).ok()
4569     }
4570     #[cfg(feature = "Win32_Foundation")]
CreateDirectoryItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiDirectoryItem>4571     pub unsafe fn CreateDirectoryItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiDirectoryItem> {
4572         let mut result__: <IFsiDirectoryItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4573         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsiDirectoryItem>(result__)
4574     }
4575     #[cfg(feature = "Win32_Foundation")]
CreateFileItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiFileItem>4576     pub unsafe fn CreateFileItem<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<IFsiFileItem> {
4577         let mut result__: <IFsiFileItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4578         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), name.into_param().abi(), &mut result__).from_abi::<IFsiFileItem>(result__)
4579     }
4580     #[cfg(feature = "Win32_Foundation")]
VolumeNameUDF(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4581     pub unsafe fn VolumeNameUDF(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4582         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4583         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4584     }
4585     #[cfg(feature = "Win32_Foundation")]
VolumeNameJoliet(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4586     pub unsafe fn VolumeNameJoliet(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4587         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4588         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4589     }
4590     #[cfg(feature = "Win32_Foundation")]
VolumeNameISO9660(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4591     pub unsafe fn VolumeNameISO9660(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4592         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4593         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4594     }
StageFiles(&self) -> ::windows::runtime::Result<i16>4595     pub unsafe fn StageFiles(&self) -> ::windows::runtime::Result<i16> {
4596         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4597         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4598     }
SetStageFiles(&self, newval: i16) -> ::windows::runtime::Result<()>4599     pub unsafe fn SetStageFiles(&self, newval: i16) -> ::windows::runtime::Result<()> {
4600         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4601     }
4602     #[cfg(feature = "Win32_System_Com")]
MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4603     pub unsafe fn MultisessionInterfaces(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4604         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4605         (::windows::runtime::Interface::vtable(self).55)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4606     }
4607     #[cfg(feature = "Win32_System_Com")]
SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()>4608     pub unsafe fn SetMultisessionInterfaces(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4609         (::windows::runtime::Interface::vtable(self).56)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4610     }
4611     #[cfg(feature = "Win32_System_Com")]
BootImageOptionsArray(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>4612     pub unsafe fn BootImageOptionsArray(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
4613         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4614         (::windows::runtime::Interface::vtable(self).57)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
4615     }
4616     #[cfg(feature = "Win32_System_Com")]
SetBootImageOptionsArray(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()>4617     pub unsafe fn SetBootImageOptionsArray(&self, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::Result<()> {
4618         (::windows::runtime::Interface::vtable(self).58)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4619     }
CreateRedundantUdfMetadataFiles(&self) -> ::windows::runtime::Result<i16>4620     pub unsafe fn CreateRedundantUdfMetadataFiles(&self) -> ::windows::runtime::Result<i16> {
4621         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4622         (::windows::runtime::Interface::vtable(self).59)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
4623     }
SetCreateRedundantUdfMetadataFiles(&self, newval: i16) -> ::windows::runtime::Result<()>4624     pub unsafe fn SetCreateRedundantUdfMetadataFiles(&self, newval: i16) -> ::windows::runtime::Result<()> {
4625         (::windows::runtime::Interface::vtable(self).60)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
4626     }
ProbeSpecificFileSystem(&self, filesystemtoprobe: FsiFileSystems) -> ::windows::runtime::Result<i16>4627     pub unsafe fn ProbeSpecificFileSystem(&self, filesystemtoprobe: FsiFileSystems) -> ::windows::runtime::Result<i16> {
4628         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4629         (::windows::runtime::Interface::vtable(self).61)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystemtoprobe), &mut result__).from_abi::<i16>(result__)
4630     }
4631 }
4632 unsafe impl ::windows::runtime::Interface for IFileSystemImage3 {
4633     type Vtable = IFileSystemImage3_abi;
4634     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2097120300, 32407, 18439, [131, 4, 145, 13, 216, 247, 192, 81]);
4635 }
4636 impl ::std::convert::From<IFileSystemImage3> for ::windows::runtime::IUnknown {
from(value: IFileSystemImage3) -> Self4637     fn from(value: IFileSystemImage3) -> Self {
4638         unsafe { ::std::mem::transmute(value) }
4639     }
4640 }
4641 impl ::std::convert::From<&IFileSystemImage3> for ::windows::runtime::IUnknown {
from(value: &IFileSystemImage3) -> Self4642     fn from(value: &IFileSystemImage3) -> Self {
4643         ::std::convert::From::from(::std::clone::Clone::clone(value))
4644     }
4645 }
4646 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4647     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4648         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4649     }
4650 }
4651 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4652     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4653         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4654     }
4655 }
4656 impl ::std::convert::From<IFileSystemImage3> for IFileSystemImage2 {
from(value: IFileSystemImage3) -> Self4657     fn from(value: IFileSystemImage3) -> Self {
4658         unsafe { ::std::mem::transmute(value) }
4659     }
4660 }
4661 impl ::std::convert::From<&IFileSystemImage3> for IFileSystemImage2 {
from(value: &IFileSystemImage3) -> Self4662     fn from(value: &IFileSystemImage3) -> Self {
4663         ::std::convert::From::from(::std::clone::Clone::clone(value))
4664     }
4665 }
4666 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImage2> for IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage2>4667     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage2> {
4668         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImage2>::into(self))
4669     }
4670 }
4671 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImage2> for &IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage2>4672     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage2> {
4673         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImage2>::into(::std::clone::Clone::clone(self)))
4674     }
4675 }
4676 impl ::std::convert::From<IFileSystemImage3> for IFileSystemImage {
from(value: IFileSystemImage3) -> Self4677     fn from(value: IFileSystemImage3) -> Self {
4678         unsafe { ::std::mem::transmute(value) }
4679     }
4680 }
4681 impl ::std::convert::From<&IFileSystemImage3> for IFileSystemImage {
from(value: &IFileSystemImage3) -> Self4682     fn from(value: &IFileSystemImage3) -> Self {
4683         ::std::convert::From::from(::std::clone::Clone::clone(value))
4684     }
4685 }
4686 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImage> for IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage>4687     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage> {
4688         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImage>::into(self))
4689     }
4690 }
4691 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImage> for &IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage>4692     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImage> {
4693         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImage>::into(::std::clone::Clone::clone(self)))
4694     }
4695 }
4696 #[cfg(feature = "Win32_System_Ole_Automation")]
4697 impl ::std::convert::From<IFileSystemImage3> for super::super::System::Ole::Automation::IDispatch {
from(value: IFileSystemImage3) -> Self4698     fn from(value: IFileSystemImage3) -> Self {
4699         unsafe { ::std::mem::transmute(value) }
4700     }
4701 }
4702 #[cfg(feature = "Win32_System_Ole_Automation")]
4703 impl ::std::convert::From<&IFileSystemImage3> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFileSystemImage3) -> Self4704     fn from(value: &IFileSystemImage3) -> Self {
4705         ::std::convert::From::from(::std::clone::Clone::clone(value))
4706     }
4707 }
4708 #[cfg(feature = "Win32_System_Ole_Automation")]
4709 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>4710     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4711         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4712     }
4713 }
4714 #[cfg(feature = "Win32_System_Ole_Automation")]
4715 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFileSystemImage3 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>4716     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4717         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4718     }
4719 }
4720 #[repr(C)]
4721 #[doc(hidden)]
4722 pub struct IFileSystemImage3_abi(
4723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4727     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4728     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4729     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4730     #[cfg(not(feature = "Win32_Foundation"))] usize,
4731     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4732     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4733     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4741     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4742     #[cfg(not(feature = "Win32_Foundation"))] usize,
4743     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4744     #[cfg(not(feature = "Win32_Foundation"))] usize,
4745     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4746     #[cfg(not(feature = "Win32_Foundation"))] usize,
4747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4751     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4752     #[cfg(not(feature = "Win32_Foundation"))] usize,
4753     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4754     #[cfg(not(feature = "Win32_Foundation"))] usize,
4755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: FsiFileSystems) -> ::windows::runtime::HRESULT,
4762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4765     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4766     #[cfg(not(feature = "Win32_System_Com"))] usize,
4767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
4769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i32) -> ::windows::runtime::HRESULT,
4770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4771     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4772     #[cfg(not(feature = "Win32_System_Com"))] usize,
4773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4774     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fullpath: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, itemtype: *mut FsiItemType) -> ::windows::runtime::HRESULT,
4775     #[cfg(not(feature = "Win32_Foundation"))] usize,
4776     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discidentifier: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4777     #[cfg(not(feature = "Win32_Foundation"))] usize,
4778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, discrecorder: ::windows::runtime::RawPtr, filesystems: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystems: FsiFileSystems, importdefault: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, importedfilesystem: *mut FsiFileSystems) -> ::windows::runtime::HRESULT,
4781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystemtouse: FsiFileSystems) -> ::windows::runtime::HRESULT,
4782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, changepoint: i32) -> ::windows::runtime::HRESULT,
4783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4784     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4785     #[cfg(not(feature = "Win32_Foundation"))] usize,
4786     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, newitem: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4787     #[cfg(not(feature = "Win32_Foundation"))] usize,
4788     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4789     #[cfg(not(feature = "Win32_Foundation"))] usize,
4790     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4791     #[cfg(not(feature = "Win32_Foundation"))] usize,
4792     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4793     #[cfg(not(feature = "Win32_Foundation"))] usize,
4794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4796     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4797     #[cfg(not(feature = "Win32_System_Com"))] usize,
4798     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4799     #[cfg(not(feature = "Win32_System_Com"))] usize,
4800     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4801     #[cfg(not(feature = "Win32_System_Com"))] usize,
4802     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: *const super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
4803     #[cfg(not(feature = "Win32_System_Com"))] usize,
4804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
4805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
4806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystemtoprobe: FsiFileSystems, isappendable: *mut i16) -> ::windows::runtime::HRESULT,
4807 );
4808 #[repr(transparent)]
4809 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4810 pub struct IFileSystemImageResult(::windows::runtime::IUnknown);
4811 impl IFileSystemImageResult {
4812     #[cfg(feature = "Win32_System_Com")]
ImageStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>4813     pub unsafe fn ImageStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
4814         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4815         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
4816     }
ProgressItems(&self) -> ::windows::runtime::Result<IProgressItems>4817     pub unsafe fn ProgressItems(&self) -> ::windows::runtime::Result<IProgressItems> {
4818         let mut result__: <IProgressItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4819         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IProgressItems>(result__)
4820     }
TotalBlocks(&self) -> ::windows::runtime::Result<i32>4821     pub unsafe fn TotalBlocks(&self) -> ::windows::runtime::Result<i32> {
4822         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4823         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4824     }
BlockSize(&self) -> ::windows::runtime::Result<i32>4825     pub unsafe fn BlockSize(&self) -> ::windows::runtime::Result<i32> {
4826         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4827         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4828     }
4829     #[cfg(feature = "Win32_Foundation")]
DiscId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4830     pub unsafe fn DiscId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4831         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4832         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4833     }
4834 }
4835 unsafe impl ::windows::runtime::Interface for IFileSystemImageResult {
4836     type Vtable = IFileSystemImageResult_abi;
4837     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904984, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
4838 }
4839 impl ::std::convert::From<IFileSystemImageResult> for ::windows::runtime::IUnknown {
from(value: IFileSystemImageResult) -> Self4840     fn from(value: IFileSystemImageResult) -> Self {
4841         unsafe { ::std::mem::transmute(value) }
4842     }
4843 }
4844 impl ::std::convert::From<&IFileSystemImageResult> for ::windows::runtime::IUnknown {
from(value: &IFileSystemImageResult) -> Self4845     fn from(value: &IFileSystemImageResult) -> Self {
4846         ::std::convert::From::from(::std::clone::Clone::clone(value))
4847     }
4848 }
4849 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFileSystemImageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4850     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4851         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4852     }
4853 }
4854 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFileSystemImageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4855     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4856         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4857     }
4858 }
4859 #[cfg(feature = "Win32_System_Ole_Automation")]
4860 impl ::std::convert::From<IFileSystemImageResult> for super::super::System::Ole::Automation::IDispatch {
from(value: IFileSystemImageResult) -> Self4861     fn from(value: IFileSystemImageResult) -> Self {
4862         unsafe { ::std::mem::transmute(value) }
4863     }
4864 }
4865 #[cfg(feature = "Win32_System_Ole_Automation")]
4866 impl ::std::convert::From<&IFileSystemImageResult> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFileSystemImageResult) -> Self4867     fn from(value: &IFileSystemImageResult) -> Self {
4868         ::std::convert::From::from(::std::clone::Clone::clone(value))
4869     }
4870 }
4871 #[cfg(feature = "Win32_System_Ole_Automation")]
4872 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFileSystemImageResult {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>4873     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4874         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
4875     }
4876 }
4877 #[cfg(feature = "Win32_System_Ole_Automation")]
4878 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFileSystemImageResult {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>4879     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
4880         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
4881     }
4882 }
4883 #[repr(C)]
4884 #[doc(hidden)]
4885 pub struct IFileSystemImageResult_abi(
4886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
4890     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4891     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
4892     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
4893     #[cfg(not(feature = "Win32_Foundation"))] usize,
4894     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
4895     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
4896     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
4897     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4898     #[cfg(not(feature = "Win32_System_Com"))] usize,
4899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
4902     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
4903     #[cfg(not(feature = "Win32_Foundation"))] usize,
4904 );
4905 #[repr(transparent)]
4906 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4907 pub struct IFileSystemImageResult2(::windows::runtime::IUnknown);
4908 impl IFileSystemImageResult2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>4909     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
4910         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4911         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4912     }
4913     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>4914     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
4915         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4916         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
4917     }
4918     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>4919     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
4920         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
4921     }
4922     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>4923     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
4924         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
4925     }
4926     #[cfg(feature = "Win32_System_Com")]
ImageStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>4927     pub unsafe fn ImageStream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
4928         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4929         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
4930     }
ProgressItems(&self) -> ::windows::runtime::Result<IProgressItems>4931     pub unsafe fn ProgressItems(&self) -> ::windows::runtime::Result<IProgressItems> {
4932         let mut result__: <IProgressItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4933         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IProgressItems>(result__)
4934     }
TotalBlocks(&self) -> ::windows::runtime::Result<i32>4935     pub unsafe fn TotalBlocks(&self) -> ::windows::runtime::Result<i32> {
4936         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4937         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4938     }
BlockSize(&self) -> ::windows::runtime::Result<i32>4939     pub unsafe fn BlockSize(&self) -> ::windows::runtime::Result<i32> {
4940         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4941         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
4942     }
4943     #[cfg(feature = "Win32_Foundation")]
DiscId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>4944     pub unsafe fn DiscId(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
4945         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4946         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
4947     }
ModifiedBlocks(&self) -> ::windows::runtime::Result<IBlockRangeList>4948     pub unsafe fn ModifiedBlocks(&self) -> ::windows::runtime::Result<IBlockRangeList> {
4949         let mut result__: <IBlockRangeList as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4950         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBlockRangeList>(result__)
4951     }
4952 }
4953 unsafe impl ::windows::runtime::Interface for IFileSystemImageResult2 {
4954     type Vtable = IFileSystemImageResult2_abi;
4955     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186601, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
4956 }
4957 impl ::std::convert::From<IFileSystemImageResult2> for ::windows::runtime::IUnknown {
from(value: IFileSystemImageResult2) -> Self4958     fn from(value: IFileSystemImageResult2) -> Self {
4959         unsafe { ::std::mem::transmute(value) }
4960     }
4961 }
4962 impl ::std::convert::From<&IFileSystemImageResult2> for ::windows::runtime::IUnknown {
from(value: &IFileSystemImageResult2) -> Self4963     fn from(value: &IFileSystemImageResult2) -> Self {
4964         ::std::convert::From::from(::std::clone::Clone::clone(value))
4965     }
4966 }
4967 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFileSystemImageResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4968     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4969         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4970     }
4971 }
4972 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFileSystemImageResult2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4973     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4974         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4975     }
4976 }
4977 impl ::std::convert::From<IFileSystemImageResult2> for IFileSystemImageResult {
from(value: IFileSystemImageResult2) -> Self4978     fn from(value: IFileSystemImageResult2) -> Self {
4979         unsafe { ::std::mem::transmute(value) }
4980     }
4981 }
4982 impl ::std::convert::From<&IFileSystemImageResult2> for IFileSystemImageResult {
from(value: &IFileSystemImageResult2) -> Self4983     fn from(value: &IFileSystemImageResult2) -> Self {
4984         ::std::convert::From::from(::std::clone::Clone::clone(value))
4985     }
4986 }
4987 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImageResult> for IFileSystemImageResult2 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImageResult>4988     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImageResult> {
4989         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImageResult>::into(self))
4990     }
4991 }
4992 impl<'a> ::windows::runtime::IntoParam<'a, IFileSystemImageResult> for &IFileSystemImageResult2 {
into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImageResult>4993     fn into_param(self) -> ::windows::runtime::Param<'a, IFileSystemImageResult> {
4994         ::windows::runtime::Param::Owned(::std::convert::Into::<IFileSystemImageResult>::into(::std::clone::Clone::clone(self)))
4995     }
4996 }
4997 #[cfg(feature = "Win32_System_Ole_Automation")]
4998 impl ::std::convert::From<IFileSystemImageResult2> for super::super::System::Ole::Automation::IDispatch {
from(value: IFileSystemImageResult2) -> Self4999     fn from(value: IFileSystemImageResult2) -> Self {
5000         unsafe { ::std::mem::transmute(value) }
5001     }
5002 }
5003 #[cfg(feature = "Win32_System_Ole_Automation")]
5004 impl ::std::convert::From<&IFileSystemImageResult2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFileSystemImageResult2) -> Self5005     fn from(value: &IFileSystemImageResult2) -> Self {
5006         ::std::convert::From::from(::std::clone::Clone::clone(value))
5007     }
5008 }
5009 #[cfg(feature = "Win32_System_Ole_Automation")]
5010 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFileSystemImageResult2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5011     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5012         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5013     }
5014 }
5015 #[cfg(feature = "Win32_System_Ole_Automation")]
5016 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFileSystemImageResult2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5017     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5018         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5019     }
5020 }
5021 #[repr(C)]
5022 #[doc(hidden)]
5023 pub struct IFileSystemImageResult2_abi(
5024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5028     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5029     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5030     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5031     #[cfg(not(feature = "Win32_Foundation"))] usize,
5032     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5033     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5034     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5035     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5036     #[cfg(not(feature = "Win32_System_Com"))] usize,
5037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
5039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
5040     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5041     #[cfg(not(feature = "Win32_Foundation"))] usize,
5042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5043 );
5044 #[repr(transparent)]
5045 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5046 pub struct IFsiDirectoryItem(::windows::runtime::IUnknown);
5047 impl IFsiDirectoryItem {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>5048     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5049         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5050         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5051     }
5052     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>5053     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5054         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5055         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5056     }
5057     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>5058     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5059         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5060     }
5061     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>5062     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5063         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5064     }
5065     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5066     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5067         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5068         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5069     }
5070     #[cfg(feature = "Win32_Foundation")]
FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5071     pub unsafe fn FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5072         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5073         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5074     }
CreationTime(&self) -> ::windows::runtime::Result<f64>5075     pub unsafe fn CreationTime(&self) -> ::windows::runtime::Result<f64> {
5076         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5077         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5078     }
SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()>5079     pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5080         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5081     }
LastAccessedTime(&self) -> ::windows::runtime::Result<f64>5082     pub unsafe fn LastAccessedTime(&self) -> ::windows::runtime::Result<f64> {
5083         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5084         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5085     }
SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5086     pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5087         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5088     }
LastModifiedTime(&self) -> ::windows::runtime::Result<f64>5089     pub unsafe fn LastModifiedTime(&self) -> ::windows::runtime::Result<f64> {
5090         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5091         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5092     }
SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5093     pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5094         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5095     }
IsHidden(&self) -> ::windows::runtime::Result<i16>5096     pub unsafe fn IsHidden(&self) -> ::windows::runtime::Result<i16> {
5097         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5098         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
5099     }
SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()>5100     pub unsafe fn SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()> {
5101         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5102     }
5103     #[cfg(feature = "Win32_Foundation")]
FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5104     pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5105         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5106         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5107     }
5108     #[cfg(feature = "Win32_Foundation")]
FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5109     pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5110         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5111         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5112     }
5113     #[cfg(feature = "Win32_System_Ole_Automation")]
_NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT>5114     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT> {
5115         let mut result__: <super::super::System::Ole::Automation::IEnumVARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5116         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IEnumVARIANT>(result__)
5117     }
5118     #[cfg(feature = "Win32_Foundation")]
Item<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsiItem>5119     pub unsafe fn Item<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsiItem> {
5120         let mut result__: <IFsiItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5121         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsiItem>(result__)
5122     }
Count(&self) -> ::windows::runtime::Result<i32>5123     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
5124         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5125         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5126     }
EnumFsiItems(&self) -> ::windows::runtime::Result<IEnumFsiItems>5127     pub unsafe fn EnumFsiItems(&self) -> ::windows::runtime::Result<IEnumFsiItems> {
5128         let mut result__: <IEnumFsiItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5129         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumFsiItems>(result__)
5130     }
5131     #[cfg(feature = "Win32_Foundation")]
AddDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()>5132     pub unsafe fn AddDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()> {
5133         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), path.into_param().abi()).ok()
5134     }
5135     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, path: Param0, filedata: Param1) -> ::windows::runtime::Result<()>5136     pub unsafe fn AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, path: Param0, filedata: Param1) -> ::windows::runtime::Result<()> {
5137         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), path.into_param().abi(), filedata.into_param().abi()).ok()
5138     }
5139     #[cfg(feature = "Win32_Foundation")]
AddTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sourcedirectory: Param0, includebasedirectory: i16) -> ::windows::runtime::Result<()>5140     pub unsafe fn AddTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sourcedirectory: Param0, includebasedirectory: i16) -> ::windows::runtime::Result<()> {
5141         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), sourcedirectory.into_param().abi(), ::std::mem::transmute(includebasedirectory)).ok()
5142     }
Add<'a, Param0: ::windows::runtime::IntoParam<'a, IFsiItem>>(&self, item: Param0) -> ::windows::runtime::Result<()>5143     pub unsafe fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, IFsiItem>>(&self, item: Param0) -> ::windows::runtime::Result<()> {
5144         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), item.into_param().abi()).ok()
5145     }
5146     #[cfg(feature = "Win32_Foundation")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()>5147     pub unsafe fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()> {
5148         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), path.into_param().abi()).ok()
5149     }
5150     #[cfg(feature = "Win32_Foundation")]
RemoveTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()>5151     pub unsafe fn RemoveTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()> {
5152         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), path.into_param().abi()).ok()
5153     }
5154 }
5155 unsafe impl ::windows::runtime::Interface for IFsiDirectoryItem {
5156     type Vtable = IFsiDirectoryItem_abi;
5157     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904988, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
5158 }
5159 impl ::std::convert::From<IFsiDirectoryItem> for ::windows::runtime::IUnknown {
from(value: IFsiDirectoryItem) -> Self5160     fn from(value: IFsiDirectoryItem) -> Self {
5161         unsafe { ::std::mem::transmute(value) }
5162     }
5163 }
5164 impl ::std::convert::From<&IFsiDirectoryItem> for ::windows::runtime::IUnknown {
from(value: &IFsiDirectoryItem) -> Self5165     fn from(value: &IFsiDirectoryItem) -> Self {
5166         ::std::convert::From::from(::std::clone::Clone::clone(value))
5167     }
5168 }
5169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsiDirectoryItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5171         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5172     }
5173 }
5174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsiDirectoryItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5176         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5177     }
5178 }
5179 impl ::std::convert::From<IFsiDirectoryItem> for IFsiItem {
from(value: IFsiDirectoryItem) -> Self5180     fn from(value: IFsiDirectoryItem) -> Self {
5181         unsafe { ::std::mem::transmute(value) }
5182     }
5183 }
5184 impl ::std::convert::From<&IFsiDirectoryItem> for IFsiItem {
from(value: &IFsiDirectoryItem) -> Self5185     fn from(value: &IFsiDirectoryItem) -> Self {
5186         ::std::convert::From::from(::std::clone::Clone::clone(value))
5187     }
5188 }
5189 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for IFsiDirectoryItem {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5190     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5191         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(self))
5192     }
5193 }
5194 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for &IFsiDirectoryItem {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5195     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5196         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(::std::clone::Clone::clone(self)))
5197     }
5198 }
5199 #[cfg(feature = "Win32_System_Ole_Automation")]
5200 impl ::std::convert::From<IFsiDirectoryItem> for super::super::System::Ole::Automation::IDispatch {
from(value: IFsiDirectoryItem) -> Self5201     fn from(value: IFsiDirectoryItem) -> Self {
5202         unsafe { ::std::mem::transmute(value) }
5203     }
5204 }
5205 #[cfg(feature = "Win32_System_Ole_Automation")]
5206 impl ::std::convert::From<&IFsiDirectoryItem> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFsiDirectoryItem) -> Self5207     fn from(value: &IFsiDirectoryItem) -> Self {
5208         ::std::convert::From::from(::std::clone::Clone::clone(value))
5209     }
5210 }
5211 #[cfg(feature = "Win32_System_Ole_Automation")]
5212 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsiDirectoryItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5213     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5214         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5215     }
5216 }
5217 #[cfg(feature = "Win32_System_Ole_Automation")]
5218 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsiDirectoryItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5219     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5220         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5221     }
5222 }
5223 #[repr(C)]
5224 #[doc(hidden)]
5225 pub struct IFsiDirectoryItem_abi(
5226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5230     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5231     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5232     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5233     #[cfg(not(feature = "Win32_Foundation"))] usize,
5234     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5235     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5236     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5237     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5238     #[cfg(not(feature = "Win32_Foundation"))] usize,
5239     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5240     #[cfg(not(feature = "Win32_Foundation"))] usize,
5241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
5248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
5249     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5250     #[cfg(not(feature = "Win32_Foundation"))] usize,
5251     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5252     #[cfg(not(feature = "Win32_Foundation"))] usize,
5253     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5254     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5255     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, item: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5256     #[cfg(not(feature = "Win32_Foundation"))] usize,
5257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
5258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5259     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5260     #[cfg(not(feature = "Win32_Foundation"))] usize,
5261     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filedata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5262     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5263     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sourcedirectory: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, includebasedirectory: i16) -> ::windows::runtime::HRESULT,
5264     #[cfg(not(feature = "Win32_Foundation"))] usize,
5265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, item: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5266     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5267     #[cfg(not(feature = "Win32_Foundation"))] usize,
5268     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5269     #[cfg(not(feature = "Win32_Foundation"))] usize,
5270 );
5271 #[repr(transparent)]
5272 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5273 pub struct IFsiDirectoryItem2(::windows::runtime::IUnknown);
5274 impl IFsiDirectoryItem2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>5275     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5276         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5277         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5278     }
5279     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>5280     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5281         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5282         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5283     }
5284     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>5285     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5286         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5287     }
5288     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>5289     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5290         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5291     }
5292     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5293     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5294         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5295         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5296     }
5297     #[cfg(feature = "Win32_Foundation")]
FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5298     pub unsafe fn FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5299         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5300         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5301     }
CreationTime(&self) -> ::windows::runtime::Result<f64>5302     pub unsafe fn CreationTime(&self) -> ::windows::runtime::Result<f64> {
5303         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5304         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5305     }
SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()>5306     pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5307         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5308     }
LastAccessedTime(&self) -> ::windows::runtime::Result<f64>5309     pub unsafe fn LastAccessedTime(&self) -> ::windows::runtime::Result<f64> {
5310         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5311         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5312     }
SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5313     pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5314         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5315     }
LastModifiedTime(&self) -> ::windows::runtime::Result<f64>5316     pub unsafe fn LastModifiedTime(&self) -> ::windows::runtime::Result<f64> {
5317         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5318         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5319     }
SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5320     pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5321         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5322     }
IsHidden(&self) -> ::windows::runtime::Result<i16>5323     pub unsafe fn IsHidden(&self) -> ::windows::runtime::Result<i16> {
5324         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5325         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
5326     }
SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()>5327     pub unsafe fn SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()> {
5328         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5329     }
5330     #[cfg(feature = "Win32_Foundation")]
FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5331     pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5332         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5333         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5334     }
5335     #[cfg(feature = "Win32_Foundation")]
FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5336     pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5337         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5338         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5339     }
5340     #[cfg(feature = "Win32_System_Ole_Automation")]
_NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT>5341     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT> {
5342         let mut result__: <super::super::System::Ole::Automation::IEnumVARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5343         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IEnumVARIANT>(result__)
5344     }
5345     #[cfg(feature = "Win32_Foundation")]
Item<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsiItem>5346     pub unsafe fn Item<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IFsiItem> {
5347         let mut result__: <IFsiItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5348         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IFsiItem>(result__)
5349     }
Count(&self) -> ::windows::runtime::Result<i32>5350     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
5351         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5352         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5353     }
EnumFsiItems(&self) -> ::windows::runtime::Result<IEnumFsiItems>5354     pub unsafe fn EnumFsiItems(&self) -> ::windows::runtime::Result<IEnumFsiItems> {
5355         let mut result__: <IEnumFsiItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5356         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumFsiItems>(result__)
5357     }
5358     #[cfg(feature = "Win32_Foundation")]
AddDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()>5359     pub unsafe fn AddDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()> {
5360         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), path.into_param().abi()).ok()
5361     }
5362     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, path: Param0, filedata: Param1) -> ::windows::runtime::Result<()>5363     pub unsafe fn AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, path: Param0, filedata: Param1) -> ::windows::runtime::Result<()> {
5364         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), path.into_param().abi(), filedata.into_param().abi()).ok()
5365     }
5366     #[cfg(feature = "Win32_Foundation")]
AddTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sourcedirectory: Param0, includebasedirectory: i16) -> ::windows::runtime::Result<()>5367     pub unsafe fn AddTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sourcedirectory: Param0, includebasedirectory: i16) -> ::windows::runtime::Result<()> {
5368         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), sourcedirectory.into_param().abi(), ::std::mem::transmute(includebasedirectory)).ok()
5369     }
Add<'a, Param0: ::windows::runtime::IntoParam<'a, IFsiItem>>(&self, item: Param0) -> ::windows::runtime::Result<()>5370     pub unsafe fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, IFsiItem>>(&self, item: Param0) -> ::windows::runtime::Result<()> {
5371         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), item.into_param().abi()).ok()
5372     }
5373     #[cfg(feature = "Win32_Foundation")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()>5374     pub unsafe fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()> {
5375         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), path.into_param().abi()).ok()
5376     }
5377     #[cfg(feature = "Win32_Foundation")]
RemoveTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()>5378     pub unsafe fn RemoveTree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<()> {
5379         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), path.into_param().abi()).ok()
5380     }
5381     #[cfg(feature = "Win32_Foundation")]
AddTreeWithNamedStreams<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sourcedirectory: Param0, includebasedirectory: i16) -> ::windows::runtime::Result<()>5382     pub unsafe fn AddTreeWithNamedStreams<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, sourcedirectory: Param0, includebasedirectory: i16) -> ::windows::runtime::Result<()> {
5383         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), sourcedirectory.into_param().abi(), ::std::mem::transmute(includebasedirectory)).ok()
5384     }
5385 }
5386 unsafe impl ::windows::runtime::Interface for IFsiDirectoryItem2 {
5387     type Vtable = IFsiDirectoryItem2_abi;
5388     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4160441243, 28054, 19835, [145, 21, 32, 27, 20, 72, 17, 239]);
5389 }
5390 impl ::std::convert::From<IFsiDirectoryItem2> for ::windows::runtime::IUnknown {
from(value: IFsiDirectoryItem2) -> Self5391     fn from(value: IFsiDirectoryItem2) -> Self {
5392         unsafe { ::std::mem::transmute(value) }
5393     }
5394 }
5395 impl ::std::convert::From<&IFsiDirectoryItem2> for ::windows::runtime::IUnknown {
from(value: &IFsiDirectoryItem2) -> Self5396     fn from(value: &IFsiDirectoryItem2) -> Self {
5397         ::std::convert::From::from(::std::clone::Clone::clone(value))
5398     }
5399 }
5400 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5401     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5402         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5403     }
5404 }
5405 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5406     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5407         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5408     }
5409 }
5410 impl ::std::convert::From<IFsiDirectoryItem2> for IFsiDirectoryItem {
from(value: IFsiDirectoryItem2) -> Self5411     fn from(value: IFsiDirectoryItem2) -> Self {
5412         unsafe { ::std::mem::transmute(value) }
5413     }
5414 }
5415 impl ::std::convert::From<&IFsiDirectoryItem2> for IFsiDirectoryItem {
from(value: &IFsiDirectoryItem2) -> Self5416     fn from(value: &IFsiDirectoryItem2) -> Self {
5417         ::std::convert::From::from(::std::clone::Clone::clone(value))
5418     }
5419 }
5420 impl<'a> ::windows::runtime::IntoParam<'a, IFsiDirectoryItem> for IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiDirectoryItem>5421     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiDirectoryItem> {
5422         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiDirectoryItem>::into(self))
5423     }
5424 }
5425 impl<'a> ::windows::runtime::IntoParam<'a, IFsiDirectoryItem> for &IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiDirectoryItem>5426     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiDirectoryItem> {
5427         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiDirectoryItem>::into(::std::clone::Clone::clone(self)))
5428     }
5429 }
5430 impl ::std::convert::From<IFsiDirectoryItem2> for IFsiItem {
from(value: IFsiDirectoryItem2) -> Self5431     fn from(value: IFsiDirectoryItem2) -> Self {
5432         unsafe { ::std::mem::transmute(value) }
5433     }
5434 }
5435 impl ::std::convert::From<&IFsiDirectoryItem2> for IFsiItem {
from(value: &IFsiDirectoryItem2) -> Self5436     fn from(value: &IFsiDirectoryItem2) -> Self {
5437         ::std::convert::From::from(::std::clone::Clone::clone(value))
5438     }
5439 }
5440 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5441     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5442         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(self))
5443     }
5444 }
5445 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for &IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5446     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5447         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(::std::clone::Clone::clone(self)))
5448     }
5449 }
5450 #[cfg(feature = "Win32_System_Ole_Automation")]
5451 impl ::std::convert::From<IFsiDirectoryItem2> for super::super::System::Ole::Automation::IDispatch {
from(value: IFsiDirectoryItem2) -> Self5452     fn from(value: IFsiDirectoryItem2) -> Self {
5453         unsafe { ::std::mem::transmute(value) }
5454     }
5455 }
5456 #[cfg(feature = "Win32_System_Ole_Automation")]
5457 impl ::std::convert::From<&IFsiDirectoryItem2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFsiDirectoryItem2) -> Self5458     fn from(value: &IFsiDirectoryItem2) -> Self {
5459         ::std::convert::From::from(::std::clone::Clone::clone(value))
5460     }
5461 }
5462 #[cfg(feature = "Win32_System_Ole_Automation")]
5463 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5464     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5465         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5466     }
5467 }
5468 #[cfg(feature = "Win32_System_Ole_Automation")]
5469 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsiDirectoryItem2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5470     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5471         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5472     }
5473 }
5474 #[repr(C)]
5475 #[doc(hidden)]
5476 pub struct IFsiDirectoryItem2_abi(
5477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5481     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5482     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5483     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5484     #[cfg(not(feature = "Win32_Foundation"))] usize,
5485     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5486     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5487     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5488     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5489     #[cfg(not(feature = "Win32_Foundation"))] usize,
5490     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5491     #[cfg(not(feature = "Win32_Foundation"))] usize,
5492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
5499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
5500     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5501     #[cfg(not(feature = "Win32_Foundation"))] usize,
5502     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5503     #[cfg(not(feature = "Win32_Foundation"))] usize,
5504     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5505     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5506     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, item: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5507     #[cfg(not(feature = "Win32_Foundation"))] usize,
5508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
5509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5510     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5511     #[cfg(not(feature = "Win32_Foundation"))] usize,
5512     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, filedata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5513     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5514     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sourcedirectory: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, includebasedirectory: i16) -> ::windows::runtime::HRESULT,
5515     #[cfg(not(feature = "Win32_Foundation"))] usize,
5516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, item: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5517     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5518     #[cfg(not(feature = "Win32_Foundation"))] usize,
5519     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5520     #[cfg(not(feature = "Win32_Foundation"))] usize,
5521     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sourcedirectory: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, includebasedirectory: i16) -> ::windows::runtime::HRESULT,
5522     #[cfg(not(feature = "Win32_Foundation"))] usize,
5523 );
5524 #[repr(transparent)]
5525 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5526 pub struct IFsiFileItem(::windows::runtime::IUnknown);
5527 impl IFsiFileItem {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>5528     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5529         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5530         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5531     }
5532     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>5533     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5534         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5535         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5536     }
5537     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>5538     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5539         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5540     }
5541     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>5542     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5543         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5544     }
5545     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5546     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5547         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5548         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5549     }
5550     #[cfg(feature = "Win32_Foundation")]
FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5551     pub unsafe fn FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5552         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5553         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5554     }
CreationTime(&self) -> ::windows::runtime::Result<f64>5555     pub unsafe fn CreationTime(&self) -> ::windows::runtime::Result<f64> {
5556         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5557         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5558     }
SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()>5559     pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5560         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5561     }
LastAccessedTime(&self) -> ::windows::runtime::Result<f64>5562     pub unsafe fn LastAccessedTime(&self) -> ::windows::runtime::Result<f64> {
5563         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5564         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5565     }
SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5566     pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5567         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5568     }
LastModifiedTime(&self) -> ::windows::runtime::Result<f64>5569     pub unsafe fn LastModifiedTime(&self) -> ::windows::runtime::Result<f64> {
5570         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5571         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5572     }
SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5573     pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5574         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5575     }
IsHidden(&self) -> ::windows::runtime::Result<i16>5576     pub unsafe fn IsHidden(&self) -> ::windows::runtime::Result<i16> {
5577         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5578         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
5579     }
SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()>5580     pub unsafe fn SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()> {
5581         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5582     }
5583     #[cfg(feature = "Win32_Foundation")]
FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5584     pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5585         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5586         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5587     }
5588     #[cfg(feature = "Win32_Foundation")]
FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5589     pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5590         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5591         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5592     }
DataSize(&self) -> ::windows::runtime::Result<i64>5593     pub unsafe fn DataSize(&self) -> ::windows::runtime::Result<i64> {
5594         let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5595         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i64>(result__)
5596     }
DataSize32BitLow(&self) -> ::windows::runtime::Result<i32>5597     pub unsafe fn DataSize32BitLow(&self) -> ::windows::runtime::Result<i32> {
5598         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5599         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5600     }
DataSize32BitHigh(&self) -> ::windows::runtime::Result<i32>5601     pub unsafe fn DataSize32BitHigh(&self) -> ::windows::runtime::Result<i32> {
5602         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5603         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5604     }
5605     #[cfg(feature = "Win32_System_Com")]
Data(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5606     pub unsafe fn Data(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5607         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5608         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5609     }
5610     #[cfg(feature = "Win32_System_Com")]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, newval: Param0) -> ::windows::runtime::Result<()>5611     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
5612         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
5613     }
5614 }
5615 unsafe impl ::windows::runtime::Interface for IFsiFileItem {
5616     type Vtable = IFsiFileItem_abi;
5617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904987, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
5618 }
5619 impl ::std::convert::From<IFsiFileItem> for ::windows::runtime::IUnknown {
from(value: IFsiFileItem) -> Self5620     fn from(value: IFsiFileItem) -> Self {
5621         unsafe { ::std::mem::transmute(value) }
5622     }
5623 }
5624 impl ::std::convert::From<&IFsiFileItem> for ::windows::runtime::IUnknown {
from(value: &IFsiFileItem) -> Self5625     fn from(value: &IFsiFileItem) -> Self {
5626         ::std::convert::From::from(::std::clone::Clone::clone(value))
5627     }
5628 }
5629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsiFileItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5631         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5632     }
5633 }
5634 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsiFileItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5635     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5636         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5637     }
5638 }
5639 impl ::std::convert::From<IFsiFileItem> for IFsiItem {
from(value: IFsiFileItem) -> Self5640     fn from(value: IFsiFileItem) -> Self {
5641         unsafe { ::std::mem::transmute(value) }
5642     }
5643 }
5644 impl ::std::convert::From<&IFsiFileItem> for IFsiItem {
from(value: &IFsiFileItem) -> Self5645     fn from(value: &IFsiFileItem) -> Self {
5646         ::std::convert::From::from(::std::clone::Clone::clone(value))
5647     }
5648 }
5649 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for IFsiFileItem {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5650     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5651         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(self))
5652     }
5653 }
5654 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for &IFsiFileItem {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5655     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5656         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(::std::clone::Clone::clone(self)))
5657     }
5658 }
5659 #[cfg(feature = "Win32_System_Ole_Automation")]
5660 impl ::std::convert::From<IFsiFileItem> for super::super::System::Ole::Automation::IDispatch {
from(value: IFsiFileItem) -> Self5661     fn from(value: IFsiFileItem) -> Self {
5662         unsafe { ::std::mem::transmute(value) }
5663     }
5664 }
5665 #[cfg(feature = "Win32_System_Ole_Automation")]
5666 impl ::std::convert::From<&IFsiFileItem> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFsiFileItem) -> Self5667     fn from(value: &IFsiFileItem) -> Self {
5668         ::std::convert::From::from(::std::clone::Clone::clone(value))
5669     }
5670 }
5671 #[cfg(feature = "Win32_System_Ole_Automation")]
5672 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsiFileItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5673     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5674         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5675     }
5676 }
5677 #[cfg(feature = "Win32_System_Ole_Automation")]
5678 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsiFileItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5679     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5680         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5681     }
5682 }
5683 #[repr(C)]
5684 #[doc(hidden)]
5685 pub struct IFsiFileItem_abi(
5686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5690     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5691     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5692     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5693     #[cfg(not(feature = "Win32_Foundation"))] usize,
5694     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5695     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5696     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5697     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5698     #[cfg(not(feature = "Win32_Foundation"))] usize,
5699     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5700     #[cfg(not(feature = "Win32_Foundation"))] usize,
5701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
5708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
5709     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5710     #[cfg(not(feature = "Win32_Foundation"))] usize,
5711     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5712     #[cfg(not(feature = "Win32_Foundation"))] usize,
5713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i64) -> ::windows::runtime::HRESULT,
5714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
5715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
5716     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5717     #[cfg(not(feature = "Win32_System_Com"))] usize,
5718     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5719     #[cfg(not(feature = "Win32_System_Com"))] usize,
5720 );
5721 #[repr(transparent)]
5722 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5723 pub struct IFsiFileItem2(::windows::runtime::IUnknown);
5724 impl IFsiFileItem2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>5725     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
5726         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5727         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5728     }
5729     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>5730     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
5731         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5732         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
5733     }
5734     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>5735     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
5736         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
5737     }
5738     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>5739     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
5740         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
5741     }
5742     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5743     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5744         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5745         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5746     }
5747     #[cfg(feature = "Win32_Foundation")]
FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5748     pub unsafe fn FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5749         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5750         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5751     }
CreationTime(&self) -> ::windows::runtime::Result<f64>5752     pub unsafe fn CreationTime(&self) -> ::windows::runtime::Result<f64> {
5753         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5754         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5755     }
SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()>5756     pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5757         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5758     }
LastAccessedTime(&self) -> ::windows::runtime::Result<f64>5759     pub unsafe fn LastAccessedTime(&self) -> ::windows::runtime::Result<f64> {
5760         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5761         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5762     }
SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5763     pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5764         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5765     }
LastModifiedTime(&self) -> ::windows::runtime::Result<f64>5766     pub unsafe fn LastModifiedTime(&self) -> ::windows::runtime::Result<f64> {
5767         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5768         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5769     }
SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5770     pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5771         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5772     }
IsHidden(&self) -> ::windows::runtime::Result<i16>5773     pub unsafe fn IsHidden(&self) -> ::windows::runtime::Result<i16> {
5774         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5775         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
5776     }
SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()>5777     pub unsafe fn SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()> {
5778         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5779     }
5780     #[cfg(feature = "Win32_Foundation")]
FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5781     pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5782         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5783         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5784     }
5785     #[cfg(feature = "Win32_Foundation")]
FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5786     pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5787         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5788         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5789     }
DataSize(&self) -> ::windows::runtime::Result<i64>5790     pub unsafe fn DataSize(&self) -> ::windows::runtime::Result<i64> {
5791         let mut result__: <i64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5792         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i64>(result__)
5793     }
DataSize32BitLow(&self) -> ::windows::runtime::Result<i32>5794     pub unsafe fn DataSize32BitLow(&self) -> ::windows::runtime::Result<i32> {
5795         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5796         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5797     }
DataSize32BitHigh(&self) -> ::windows::runtime::Result<i32>5798     pub unsafe fn DataSize32BitHigh(&self) -> ::windows::runtime::Result<i32> {
5799         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5800         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
5801     }
5802     #[cfg(feature = "Win32_System_Com")]
Data(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>5803     pub unsafe fn Data(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
5804         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5805         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
5806     }
5807     #[cfg(feature = "Win32_System_Com")]
SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, newval: Param0) -> ::windows::runtime::Result<()>5808     pub unsafe fn SetData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, newval: Param0) -> ::windows::runtime::Result<()> {
5809         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), newval.into_param().abi()).ok()
5810     }
FsiNamedStreams(&self) -> ::windows::runtime::Result<IFsiNamedStreams>5811     pub unsafe fn FsiNamedStreams(&self) -> ::windows::runtime::Result<IFsiNamedStreams> {
5812         let mut result__: <IFsiNamedStreams as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5813         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IFsiNamedStreams>(result__)
5814     }
IsNamedStream(&self) -> ::windows::runtime::Result<i16>5815     pub unsafe fn IsNamedStream(&self) -> ::windows::runtime::Result<i16> {
5816         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5817         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
5818     }
5819     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
AddStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, name: Param0, streamdata: Param1) -> ::windows::runtime::Result<()>5820     pub unsafe fn AddStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, name: Param0, streamdata: Param1) -> ::windows::runtime::Result<()> {
5821         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), name.into_param().abi(), streamdata.into_param().abi()).ok()
5822     }
5823     #[cfg(feature = "Win32_Foundation")]
RemoveStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()>5824     pub unsafe fn RemoveStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
5825         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), name.into_param().abi()).ok()
5826     }
IsRealTime(&self) -> ::windows::runtime::Result<i16>5827     pub unsafe fn IsRealTime(&self) -> ::windows::runtime::Result<i16> {
5828         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5829         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
5830     }
SetIsRealTime(&self, newval: i16) -> ::windows::runtime::Result<()>5831     pub unsafe fn SetIsRealTime(&self, newval: i16) -> ::windows::runtime::Result<()> {
5832         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5833     }
5834 }
5835 unsafe impl ::windows::runtime::Interface for IFsiFileItem2 {
5836     type Vtable = IFsiFileItem2_abi;
5837     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(429722649, 4577, 16619, [142, 194, 200, 200, 34, 160, 119, 146]);
5838 }
5839 impl ::std::convert::From<IFsiFileItem2> for ::windows::runtime::IUnknown {
from(value: IFsiFileItem2) -> Self5840     fn from(value: IFsiFileItem2) -> Self {
5841         unsafe { ::std::mem::transmute(value) }
5842     }
5843 }
5844 impl ::std::convert::From<&IFsiFileItem2> for ::windows::runtime::IUnknown {
from(value: &IFsiFileItem2) -> Self5845     fn from(value: &IFsiFileItem2) -> Self {
5846         ::std::convert::From::from(::std::clone::Clone::clone(value))
5847     }
5848 }
5849 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5850     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5851         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5852     }
5853 }
5854 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5855     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5856         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5857     }
5858 }
5859 impl ::std::convert::From<IFsiFileItem2> for IFsiFileItem {
from(value: IFsiFileItem2) -> Self5860     fn from(value: IFsiFileItem2) -> Self {
5861         unsafe { ::std::mem::transmute(value) }
5862     }
5863 }
5864 impl ::std::convert::From<&IFsiFileItem2> for IFsiFileItem {
from(value: &IFsiFileItem2) -> Self5865     fn from(value: &IFsiFileItem2) -> Self {
5866         ::std::convert::From::from(::std::clone::Clone::clone(value))
5867     }
5868 }
5869 impl<'a> ::windows::runtime::IntoParam<'a, IFsiFileItem> for IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiFileItem>5870     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiFileItem> {
5871         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiFileItem>::into(self))
5872     }
5873 }
5874 impl<'a> ::windows::runtime::IntoParam<'a, IFsiFileItem> for &IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiFileItem>5875     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiFileItem> {
5876         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiFileItem>::into(::std::clone::Clone::clone(self)))
5877     }
5878 }
5879 impl ::std::convert::From<IFsiFileItem2> for IFsiItem {
from(value: IFsiFileItem2) -> Self5880     fn from(value: IFsiFileItem2) -> Self {
5881         unsafe { ::std::mem::transmute(value) }
5882     }
5883 }
5884 impl ::std::convert::From<&IFsiFileItem2> for IFsiItem {
from(value: &IFsiFileItem2) -> Self5885     fn from(value: &IFsiFileItem2) -> Self {
5886         ::std::convert::From::from(::std::clone::Clone::clone(value))
5887     }
5888 }
5889 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5890     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5891         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(self))
5892     }
5893 }
5894 impl<'a> ::windows::runtime::IntoParam<'a, IFsiItem> for &IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IFsiItem>5895     fn into_param(self) -> ::windows::runtime::Param<'a, IFsiItem> {
5896         ::windows::runtime::Param::Owned(::std::convert::Into::<IFsiItem>::into(::std::clone::Clone::clone(self)))
5897     }
5898 }
5899 #[cfg(feature = "Win32_System_Ole_Automation")]
5900 impl ::std::convert::From<IFsiFileItem2> for super::super::System::Ole::Automation::IDispatch {
from(value: IFsiFileItem2) -> Self5901     fn from(value: IFsiFileItem2) -> Self {
5902         unsafe { ::std::mem::transmute(value) }
5903     }
5904 }
5905 #[cfg(feature = "Win32_System_Ole_Automation")]
5906 impl ::std::convert::From<&IFsiFileItem2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFsiFileItem2) -> Self5907     fn from(value: &IFsiFileItem2) -> Self {
5908         ::std::convert::From::from(::std::clone::Clone::clone(value))
5909     }
5910 }
5911 #[cfg(feature = "Win32_System_Ole_Automation")]
5912 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5913     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5914         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
5915     }
5916 }
5917 #[cfg(feature = "Win32_System_Ole_Automation")]
5918 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsiFileItem2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>5919     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
5920         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
5921     }
5922 }
5923 #[repr(C)]
5924 #[doc(hidden)]
5925 pub struct IFsiFileItem2_abi(
5926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
5930     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5931     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
5932     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
5933     #[cfg(not(feature = "Win32_Foundation"))] usize,
5934     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
5935     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
5936     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
5937     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5938     #[cfg(not(feature = "Win32_Foundation"))] usize,
5939     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5940     #[cfg(not(feature = "Win32_Foundation"))] usize,
5941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
5946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
5947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
5948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
5949     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5950     #[cfg(not(feature = "Win32_Foundation"))] usize,
5951     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5952     #[cfg(not(feature = "Win32_Foundation"))] usize,
5953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i64) -> ::windows::runtime::HRESULT,
5954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
5955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
5956     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5957     #[cfg(not(feature = "Win32_System_Com"))] usize,
5958     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5959     #[cfg(not(feature = "Win32_System_Com"))] usize,
5960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streams: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
5962     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, streamdata: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5963     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
5964     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
5965     #[cfg(not(feature = "Win32_Foundation"))] usize,
5966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
5967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
5968 );
5969 #[repr(transparent)]
5970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5971 pub struct IFsiItem(::windows::runtime::IUnknown);
5972 impl IFsiItem {
5973     #[cfg(feature = "Win32_Foundation")]
Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5974     pub unsafe fn Name(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5975         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5976         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5977     }
5978     #[cfg(feature = "Win32_Foundation")]
FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>5979     pub unsafe fn FullPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
5980         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5981         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
5982     }
CreationTime(&self) -> ::windows::runtime::Result<f64>5983     pub unsafe fn CreationTime(&self) -> ::windows::runtime::Result<f64> {
5984         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5985         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5986     }
SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()>5987     pub unsafe fn SetCreationTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5988         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5989     }
LastAccessedTime(&self) -> ::windows::runtime::Result<f64>5990     pub unsafe fn LastAccessedTime(&self) -> ::windows::runtime::Result<f64> {
5991         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5992         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
5993     }
SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()>5994     pub unsafe fn SetLastAccessedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
5995         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
5996     }
LastModifiedTime(&self) -> ::windows::runtime::Result<f64>5997     pub unsafe fn LastModifiedTime(&self) -> ::windows::runtime::Result<f64> {
5998         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5999         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
6000     }
SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()>6001     pub unsafe fn SetLastModifiedTime(&self, newval: f64) -> ::windows::runtime::Result<()> {
6002         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
6003     }
IsHidden(&self) -> ::windows::runtime::Result<i16>6004     pub unsafe fn IsHidden(&self) -> ::windows::runtime::Result<i16> {
6005         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6006         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6007     }
SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()>6008     pub unsafe fn SetIsHidden(&self, newval: i16) -> ::windows::runtime::Result<()> {
6009         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(newval)).ok()
6010     }
6011     #[cfg(feature = "Win32_Foundation")]
FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6012     pub unsafe fn FileSystemName(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6013         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6014         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6015     }
6016     #[cfg(feature = "Win32_Foundation")]
FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6017     pub unsafe fn FileSystemPath(&self, filesystem: FsiFileSystems) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6018         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6019         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(filesystem), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6020     }
6021 }
6022 unsafe impl ::windows::runtime::Interface for IFsiItem {
6023     type Vtable = IFsiItem_abi;
6024     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904985, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
6025 }
6026 impl ::std::convert::From<IFsiItem> for ::windows::runtime::IUnknown {
from(value: IFsiItem) -> Self6027     fn from(value: IFsiItem) -> Self {
6028         unsafe { ::std::mem::transmute(value) }
6029     }
6030 }
6031 impl ::std::convert::From<&IFsiItem> for ::windows::runtime::IUnknown {
from(value: &IFsiItem) -> Self6032     fn from(value: &IFsiItem) -> Self {
6033         ::std::convert::From::from(::std::clone::Clone::clone(value))
6034     }
6035 }
6036 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsiItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6037     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6038         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6039     }
6040 }
6041 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsiItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6042     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6043         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6044     }
6045 }
6046 #[cfg(feature = "Win32_System_Ole_Automation")]
6047 impl ::std::convert::From<IFsiItem> for super::super::System::Ole::Automation::IDispatch {
from(value: IFsiItem) -> Self6048     fn from(value: IFsiItem) -> Self {
6049         unsafe { ::std::mem::transmute(value) }
6050     }
6051 }
6052 #[cfg(feature = "Win32_System_Ole_Automation")]
6053 impl ::std::convert::From<&IFsiItem> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFsiItem) -> Self6054     fn from(value: &IFsiItem) -> Self {
6055         ::std::convert::From::from(::std::clone::Clone::clone(value))
6056     }
6057 }
6058 #[cfg(feature = "Win32_System_Ole_Automation")]
6059 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsiItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6060     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6061         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6062     }
6063 }
6064 #[cfg(feature = "Win32_System_Ole_Automation")]
6065 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsiItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6066     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6067         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6068     }
6069 }
6070 #[repr(C)]
6071 #[doc(hidden)]
6072 pub struct IFsiItem_abi(
6073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6077     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6078     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6079     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6080     #[cfg(not(feature = "Win32_Foundation"))] usize,
6081     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6082     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6083     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6084     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6085     #[cfg(not(feature = "Win32_Foundation"))] usize,
6086     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6087     #[cfg(not(feature = "Win32_Foundation"))] usize,
6088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
6089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
6090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
6091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
6092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut f64) -> ::windows::runtime::HRESULT,
6093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: f64) -> ::windows::runtime::HRESULT,
6094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i16) -> ::windows::runtime::HRESULT,
6095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newval: i16) -> ::windows::runtime::HRESULT,
6096     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6097     #[cfg(not(feature = "Win32_Foundation"))] usize,
6098     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filesystem: FsiFileSystems, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6099     #[cfg(not(feature = "Win32_Foundation"))] usize,
6100 );
6101 #[repr(transparent)]
6102 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6103 pub struct IFsiNamedStreams(::windows::runtime::IUnknown);
6104 impl IFsiNamedStreams {
6105     #[cfg(feature = "Win32_System_Ole_Automation")]
_NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT>6106     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT> {
6107         let mut result__: <super::super::System::Ole::Automation::IEnumVARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6108         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IEnumVARIANT>(result__)
6109     }
Item(&self, index: i32) -> ::windows::runtime::Result<IFsiFileItem2>6110     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<IFsiFileItem2> {
6111         let mut result__: <IFsiFileItem2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6112         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IFsiFileItem2>(result__)
6113     }
Count(&self) -> ::windows::runtime::Result<i32>6114     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
6115         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6116         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6117     }
EnumNamedStreams(&self) -> ::windows::runtime::Result<IEnumFsiItems>6118     pub unsafe fn EnumNamedStreams(&self) -> ::windows::runtime::Result<IEnumFsiItems> {
6119         let mut result__: <IEnumFsiItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6120         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumFsiItems>(result__)
6121     }
6122 }
6123 unsafe impl ::windows::runtime::Interface for IFsiNamedStreams {
6124     type Vtable = IFsiNamedStreams_abi;
6125     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3984177750, 21140, 16976, [141, 70, 249, 174, 206, 226, 52, 89]);
6126 }
6127 impl ::std::convert::From<IFsiNamedStreams> for ::windows::runtime::IUnknown {
from(value: IFsiNamedStreams) -> Self6128     fn from(value: IFsiNamedStreams) -> Self {
6129         unsafe { ::std::mem::transmute(value) }
6130     }
6131 }
6132 impl ::std::convert::From<&IFsiNamedStreams> for ::windows::runtime::IUnknown {
from(value: &IFsiNamedStreams) -> Self6133     fn from(value: &IFsiNamedStreams) -> Self {
6134         ::std::convert::From::from(::std::clone::Clone::clone(value))
6135     }
6136 }
6137 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFsiNamedStreams {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6138     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6139         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6140     }
6141 }
6142 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFsiNamedStreams {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6143     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6144         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6145     }
6146 }
6147 #[cfg(feature = "Win32_System_Ole_Automation")]
6148 impl ::std::convert::From<IFsiNamedStreams> for super::super::System::Ole::Automation::IDispatch {
from(value: IFsiNamedStreams) -> Self6149     fn from(value: IFsiNamedStreams) -> Self {
6150         unsafe { ::std::mem::transmute(value) }
6151     }
6152 }
6153 #[cfg(feature = "Win32_System_Ole_Automation")]
6154 impl ::std::convert::From<&IFsiNamedStreams> for super::super::System::Ole::Automation::IDispatch {
from(value: &IFsiNamedStreams) -> Self6155     fn from(value: &IFsiNamedStreams) -> Self {
6156         ::std::convert::From::from(::std::clone::Clone::clone(value))
6157     }
6158 }
6159 #[cfg(feature = "Win32_System_Ole_Automation")]
6160 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IFsiNamedStreams {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6161     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6162         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6163     }
6164 }
6165 #[cfg(feature = "Win32_System_Ole_Automation")]
6166 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IFsiNamedStreams {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6167     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6168         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6169     }
6170 }
6171 #[repr(C)]
6172 #[doc(hidden)]
6173 pub struct IFsiNamedStreams_abi(
6174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6178     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6179     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6180     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6181     #[cfg(not(feature = "Win32_Foundation"))] usize,
6182     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6183     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6184     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6185     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6186     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, item: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
6189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6190 );
6191 #[repr(transparent)]
6192 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6193 pub struct IIsoImageManager(::windows::runtime::IUnknown);
6194 impl IIsoImageManager {
6195     #[cfg(feature = "Win32_Foundation")]
Path(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>6196     pub unsafe fn Path(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
6197         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6198         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
6199     }
6200     #[cfg(feature = "Win32_System_Com")]
Stream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>6201     pub unsafe fn Stream(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
6202         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6203         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
6204     }
6205     #[cfg(feature = "Win32_Foundation")]
SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>6206     pub unsafe fn SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
6207         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
6208     }
6209     #[cfg(feature = "Win32_System_Com")]
SetStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()>6210     pub unsafe fn SetStream<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()> {
6211         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), data.into_param().abi()).ok()
6212     }
Validate(&self) -> ::windows::runtime::Result<()>6213     pub unsafe fn Validate(&self) -> ::windows::runtime::Result<()> {
6214         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
6215     }
6216 }
6217 unsafe impl ::windows::runtime::Interface for IIsoImageManager {
6218     type Vtable = IIsoImageManager_abi;
6219     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1822657509, 64443, 18432, [149, 161, 164, 56, 134, 94, 176, 212]);
6220 }
6221 impl ::std::convert::From<IIsoImageManager> for ::windows::runtime::IUnknown {
from(value: IIsoImageManager) -> Self6222     fn from(value: IIsoImageManager) -> Self {
6223         unsafe { ::std::mem::transmute(value) }
6224     }
6225 }
6226 impl ::std::convert::From<&IIsoImageManager> for ::windows::runtime::IUnknown {
from(value: &IIsoImageManager) -> Self6227     fn from(value: &IIsoImageManager) -> Self {
6228         ::std::convert::From::from(::std::clone::Clone::clone(value))
6229     }
6230 }
6231 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IIsoImageManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6232     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6233         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6234     }
6235 }
6236 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IIsoImageManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6237     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6238         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6239     }
6240 }
6241 #[cfg(feature = "Win32_System_Ole_Automation")]
6242 impl ::std::convert::From<IIsoImageManager> for super::super::System::Ole::Automation::IDispatch {
from(value: IIsoImageManager) -> Self6243     fn from(value: IIsoImageManager) -> Self {
6244         unsafe { ::std::mem::transmute(value) }
6245     }
6246 }
6247 #[cfg(feature = "Win32_System_Ole_Automation")]
6248 impl ::std::convert::From<&IIsoImageManager> for super::super::System::Ole::Automation::IDispatch {
from(value: &IIsoImageManager) -> Self6249     fn from(value: &IIsoImageManager) -> Self {
6250         ::std::convert::From::from(::std::clone::Clone::clone(value))
6251     }
6252 }
6253 #[cfg(feature = "Win32_System_Ole_Automation")]
6254 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IIsoImageManager {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6255     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6256         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
6257     }
6258 }
6259 #[cfg(feature = "Win32_System_Ole_Automation")]
6260 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IIsoImageManager {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>6261     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
6262         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
6263     }
6264 }
6265 #[repr(C)]
6266 #[doc(hidden)]
6267 pub struct IIsoImageManager_abi(
6268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
6272     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6273     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
6274     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
6275     #[cfg(not(feature = "Win32_Foundation"))] usize,
6276     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
6277     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
6278     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
6279     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6280     #[cfg(not(feature = "Win32_Foundation"))] usize,
6281     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6282     #[cfg(not(feature = "Win32_System_Com"))] usize,
6283     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
6284     #[cfg(not(feature = "Win32_Foundation"))] usize,
6285     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6286     #[cfg(not(feature = "Win32_System_Com"))] usize,
6287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6288 );
6289 #[repr(transparent)]
6290 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6291 pub struct IJolietDiscMaster(::windows::runtime::IUnknown);
6292 impl IJolietDiscMaster {
GetTotalDataBlocks(&self) -> ::windows::runtime::Result<i32>6293     pub unsafe fn GetTotalDataBlocks(&self) -> ::windows::runtime::Result<i32> {
6294         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6295         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6296     }
GetUsedDataBlocks(&self) -> ::windows::runtime::Result<i32>6297     pub unsafe fn GetUsedDataBlocks(&self) -> ::windows::runtime::Result<i32> {
6298         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6299         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6300     }
GetDataBlockSize(&self) -> ::windows::runtime::Result<i32>6301     pub unsafe fn GetDataBlockSize(&self) -> ::windows::runtime::Result<i32> {
6302         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6303         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
6304     }
6305     #[cfg(feature = "Win32_System_Com_StructuredStorage")]
AddData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IStorage>>(&self, pstorage: Param0, lfileoverwrite: i32) -> ::windows::runtime::Result<()>6306     pub unsafe fn AddData<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IStorage>>(&self, pstorage: Param0, lfileoverwrite: i32) -> ::windows::runtime::Result<()> {
6307         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pstorage.into_param().abi(), ::std::mem::transmute(lfileoverwrite)).ok()
6308     }
6309     #[cfg(feature = "Win32_System_Com_StructuredStorage")]
GetJolietProperties(&self) -> ::windows::runtime::Result<super::super::System::Com::StructuredStorage::IPropertyStorage>6310     pub unsafe fn GetJolietProperties(&self) -> ::windows::runtime::Result<super::super::System::Com::StructuredStorage::IPropertyStorage> {
6311         let mut result__: <super::super::System::Com::StructuredStorage::IPropertyStorage as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6312         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::StructuredStorage::IPropertyStorage>(result__)
6313     }
6314     #[cfg(feature = "Win32_System_Com_StructuredStorage")]
SetJolietProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IPropertyStorage>>(&self, ppropstg: Param0) -> ::windows::runtime::Result<()>6315     pub unsafe fn SetJolietProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IPropertyStorage>>(&self, ppropstg: Param0) -> ::windows::runtime::Result<()> {
6316         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ppropstg.into_param().abi()).ok()
6317     }
6318 }
6319 unsafe impl ::windows::runtime::Interface for IJolietDiscMaster {
6320     type Vtable = IJolietDiscMaster_abi;
6321     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3820765902, 20060, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
6322 }
6323 impl ::std::convert::From<IJolietDiscMaster> for ::windows::runtime::IUnknown {
from(value: IJolietDiscMaster) -> Self6324     fn from(value: IJolietDiscMaster) -> Self {
6325         unsafe { ::std::mem::transmute(value) }
6326     }
6327 }
6328 impl ::std::convert::From<&IJolietDiscMaster> for ::windows::runtime::IUnknown {
from(value: &IJolietDiscMaster) -> Self6329     fn from(value: &IJolietDiscMaster) -> Self {
6330         ::std::convert::From::from(::std::clone::Clone::clone(value))
6331     }
6332 }
6333 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IJolietDiscMaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6334     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6335         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6336     }
6337 }
6338 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IJolietDiscMaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6339     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6340         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6341     }
6342 }
6343 #[repr(C)]
6344 #[doc(hidden)]
6345 pub struct IJolietDiscMaster_abi(
6346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnblocks: *mut i32) -> ::windows::runtime::HRESULT,
6350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnblocks: *mut i32) -> ::windows::runtime::HRESULT,
6351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnblockbytes: *mut i32) -> ::windows::runtime::HRESULT,
6352     #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstorage: ::windows::runtime::RawPtr, lfileoverwrite: i32) -> ::windows::runtime::HRESULT,
6353     #[cfg(not(feature = "Win32_System_Com_StructuredStorage"))] usize,
6354     #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pppropstg: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6355     #[cfg(not(feature = "Win32_System_Com_StructuredStorage"))] usize,
6356     #[cfg(feature = "Win32_System_Com_StructuredStorage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppropstg: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6357     #[cfg(not(feature = "Win32_System_Com_StructuredStorage"))] usize,
6358 );
6359 pub const IMAPI2FS_BOOT_ENTRY_COUNT_MAX: u32 = 32u32;
6360 pub const IMAPI2FS_MajorVersion: u32 = 1u32;
6361 pub const IMAPI2FS_MinorVersion: u32 = 0u32;
6362 pub const IMAPI2_DEFAULT_COMMAND_TIMEOUT: u32 = 10u32;
6363 pub const IMAPILib2_MajorVersion: u32 = 1u32;
6364 pub const IMAPILib2_MinorVersion: u32 = 0u32;
6365 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6366 #[repr(transparent)]
6367 pub struct IMAPI_BURN_VERIFICATION_LEVEL(pub i32);
6368 pub const IMAPI_BURN_VERIFICATION_NONE: IMAPI_BURN_VERIFICATION_LEVEL = IMAPI_BURN_VERIFICATION_LEVEL(0i32);
6369 pub const IMAPI_BURN_VERIFICATION_QUICK: IMAPI_BURN_VERIFICATION_LEVEL = IMAPI_BURN_VERIFICATION_LEVEL(1i32);
6370 pub const IMAPI_BURN_VERIFICATION_FULL: IMAPI_BURN_VERIFICATION_LEVEL = IMAPI_BURN_VERIFICATION_LEVEL(2i32);
6371 impl ::std::convert::From<i32> for IMAPI_BURN_VERIFICATION_LEVEL {
from(value: i32) -> Self6372     fn from(value: i32) -> Self {
6373         Self(value)
6374     }
6375 }
6376 unsafe impl ::windows::runtime::Abi for IMAPI_BURN_VERIFICATION_LEVEL {
6377     type Abi = Self;
6378     type DefaultType = Self;
6379 }
6380 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6381 #[repr(transparent)]
6382 pub struct IMAPI_CD_SECTOR_TYPE(pub i32);
6383 pub const IMAPI_CD_SECTOR_AUDIO: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(0i32);
6384 pub const IMAPI_CD_SECTOR_MODE_ZERO: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(1i32);
6385 pub const IMAPI_CD_SECTOR_MODE1: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(2i32);
6386 pub const IMAPI_CD_SECTOR_MODE2FORM0: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(3i32);
6387 pub const IMAPI_CD_SECTOR_MODE2FORM1: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(4i32);
6388 pub const IMAPI_CD_SECTOR_MODE2FORM2: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(5i32);
6389 pub const IMAPI_CD_SECTOR_MODE1RAW: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(6i32);
6390 pub const IMAPI_CD_SECTOR_MODE2FORM0RAW: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(7i32);
6391 pub const IMAPI_CD_SECTOR_MODE2FORM1RAW: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(8i32);
6392 pub const IMAPI_CD_SECTOR_MODE2FORM2RAW: IMAPI_CD_SECTOR_TYPE = IMAPI_CD_SECTOR_TYPE(9i32);
6393 impl ::std::convert::From<i32> for IMAPI_CD_SECTOR_TYPE {
from(value: i32) -> Self6394     fn from(value: i32) -> Self {
6395         Self(value)
6396     }
6397 }
6398 unsafe impl ::windows::runtime::Abi for IMAPI_CD_SECTOR_TYPE {
6399     type Abi = Self;
6400     type DefaultType = Self;
6401 }
6402 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6403 #[repr(transparent)]
6404 pub struct IMAPI_CD_TRACK_DIGITAL_COPY_SETTING(pub i32);
6405 pub const IMAPI_CD_TRACK_DIGITAL_COPY_PERMITTED: IMAPI_CD_TRACK_DIGITAL_COPY_SETTING = IMAPI_CD_TRACK_DIGITAL_COPY_SETTING(0i32);
6406 pub const IMAPI_CD_TRACK_DIGITAL_COPY_PROHIBITED: IMAPI_CD_TRACK_DIGITAL_COPY_SETTING = IMAPI_CD_TRACK_DIGITAL_COPY_SETTING(1i32);
6407 pub const IMAPI_CD_TRACK_DIGITAL_COPY_SCMS: IMAPI_CD_TRACK_DIGITAL_COPY_SETTING = IMAPI_CD_TRACK_DIGITAL_COPY_SETTING(2i32);
6408 impl ::std::convert::From<i32> for IMAPI_CD_TRACK_DIGITAL_COPY_SETTING {
from(value: i32) -> Self6409     fn from(value: i32) -> Self {
6410         Self(value)
6411     }
6412 }
6413 unsafe impl ::windows::runtime::Abi for IMAPI_CD_TRACK_DIGITAL_COPY_SETTING {
6414     type Abi = Self;
6415     type DefaultType = Self;
6416 }
6417 pub const IMAPI_E_ALREADYOPEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220958i32 as _);
6418 pub const IMAPI_E_BADJOLIETNAME: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220963i32 as _);
6419 pub const IMAPI_E_BOOTIMAGE_AND_NONBLANK_DISC: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220946i32 as _);
6420 pub const IMAPI_E_CANNOT_WRITE_TO_MEDIA: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220948i32 as _);
6421 pub const IMAPI_E_COMPRESSEDSTASH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220952i32 as _);
6422 pub const IMAPI_E_DEVICE_INVALIDTYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220972i32 as _);
6423 pub const IMAPI_E_DEVICE_NOPROPERTIES: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220975i32 as _);
6424 pub const IMAPI_E_DEVICE_NOTACCESSIBLE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220974i32 as _);
6425 pub const IMAPI_E_DEVICE_NOTPRESENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220973i32 as _);
6426 pub const IMAPI_E_DEVICE_STILL_IN_USE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220954i32 as _);
6427 pub const IMAPI_E_DISCFULL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220964i32 as _);
6428 pub const IMAPI_E_DISCINFO: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220967i32 as _);
6429 pub const IMAPI_E_ENCRYPTEDSTASH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220951i32 as _);
6430 pub const IMAPI_E_FILEACCESS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220968i32 as _);
6431 pub const IMAPI_E_FILEEXISTS: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220956i32 as _);
6432 pub const IMAPI_E_FILESYSTEM: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220969i32 as _);
6433 pub const IMAPI_E_GENERIC: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220978i32 as _);
6434 pub const IMAPI_E_INITIALIZE_ENDWRITE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220970i32 as _);
6435 pub const IMAPI_E_INITIALIZE_WRITE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220971i32 as _);
6436 pub const IMAPI_E_INVALIDIMAGE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220962i32 as _);
6437 pub const IMAPI_E_LOSS_OF_STREAMING: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220953i32 as _);
6438 pub const IMAPI_E_MEDIUM_INVALIDTYPE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220976i32 as _);
6439 pub const IMAPI_E_MEDIUM_NOTPRESENT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220977i32 as _);
6440 pub const IMAPI_E_NOACTIVEFORMAT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220961i32 as _);
6441 pub const IMAPI_E_NOACTIVERECORDER: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220960i32 as _);
6442 pub const IMAPI_E_NOTENOUGHDISKFORSTASH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220950i32 as _);
6443 pub const IMAPI_E_NOTINITIALIZED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220980i32 as _);
6444 pub const IMAPI_E_NOTOPENED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220981i32 as _);
6445 pub const IMAPI_E_REMOVABLESTASH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220949i32 as _);
6446 pub const IMAPI_E_STASHINUSE: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220955i32 as _);
6447 pub const IMAPI_E_TRACKNOTOPEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220966i32 as _);
6448 pub const IMAPI_E_TRACKOPEN: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220965i32 as _);
6449 pub const IMAPI_E_TRACK_NOT_BIG_ENOUGH: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220947i32 as _);
6450 pub const IMAPI_E_USERABORT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220979i32 as _);
6451 pub const IMAPI_E_WRONGDISC: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220957i32 as _);
6452 pub const IMAPI_E_WRONGFORMAT: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(-2147220959i32 as _);
6453 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6454 #[repr(transparent)]
6455 pub struct IMAPI_FEATURE_PAGE_TYPE(pub i32);
6456 pub const IMAPI_FEATURE_PAGE_TYPE_PROFILE_LIST: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(0i32);
6457 pub const IMAPI_FEATURE_PAGE_TYPE_CORE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(1i32);
6458 pub const IMAPI_FEATURE_PAGE_TYPE_MORPHING: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(2i32);
6459 pub const IMAPI_FEATURE_PAGE_TYPE_REMOVABLE_MEDIUM: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(3i32);
6460 pub const IMAPI_FEATURE_PAGE_TYPE_WRITE_PROTECT: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(4i32);
6461 pub const IMAPI_FEATURE_PAGE_TYPE_RANDOMLY_READABLE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(16i32);
6462 pub const IMAPI_FEATURE_PAGE_TYPE_CD_MULTIREAD: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(29i32);
6463 pub const IMAPI_FEATURE_PAGE_TYPE_CD_READ: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(30i32);
6464 pub const IMAPI_FEATURE_PAGE_TYPE_DVD_READ: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(31i32);
6465 pub const IMAPI_FEATURE_PAGE_TYPE_RANDOMLY_WRITABLE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(32i32);
6466 pub const IMAPI_FEATURE_PAGE_TYPE_INCREMENTAL_STREAMING_WRITABLE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(33i32);
6467 pub const IMAPI_FEATURE_PAGE_TYPE_SECTOR_ERASABLE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(34i32);
6468 pub const IMAPI_FEATURE_PAGE_TYPE_FORMATTABLE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(35i32);
6469 pub const IMAPI_FEATURE_PAGE_TYPE_HARDWARE_DEFECT_MANAGEMENT: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(36i32);
6470 pub const IMAPI_FEATURE_PAGE_TYPE_WRITE_ONCE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(37i32);
6471 pub const IMAPI_FEATURE_PAGE_TYPE_RESTRICTED_OVERWRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(38i32);
6472 pub const IMAPI_FEATURE_PAGE_TYPE_CDRW_CAV_WRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(39i32);
6473 pub const IMAPI_FEATURE_PAGE_TYPE_MRW: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(40i32);
6474 pub const IMAPI_FEATURE_PAGE_TYPE_ENHANCED_DEFECT_REPORTING: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(41i32);
6475 pub const IMAPI_FEATURE_PAGE_TYPE_DVD_PLUS_RW: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(42i32);
6476 pub const IMAPI_FEATURE_PAGE_TYPE_DVD_PLUS_R: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(43i32);
6477 pub const IMAPI_FEATURE_PAGE_TYPE_RIGID_RESTRICTED_OVERWRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(44i32);
6478 pub const IMAPI_FEATURE_PAGE_TYPE_CD_TRACK_AT_ONCE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(45i32);
6479 pub const IMAPI_FEATURE_PAGE_TYPE_CD_MASTERING: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(46i32);
6480 pub const IMAPI_FEATURE_PAGE_TYPE_DVD_DASH_WRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(47i32);
6481 pub const IMAPI_FEATURE_PAGE_TYPE_DOUBLE_DENSITY_CD_READ: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(48i32);
6482 pub const IMAPI_FEATURE_PAGE_TYPE_DOUBLE_DENSITY_CD_R_WRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(49i32);
6483 pub const IMAPI_FEATURE_PAGE_TYPE_DOUBLE_DENSITY_CD_RW_WRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(50i32);
6484 pub const IMAPI_FEATURE_PAGE_TYPE_LAYER_JUMP_RECORDING: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(51i32);
6485 pub const IMAPI_FEATURE_PAGE_TYPE_CD_RW_MEDIA_WRITE_SUPPORT: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(55i32);
6486 pub const IMAPI_FEATURE_PAGE_TYPE_BD_PSEUDO_OVERWRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(56i32);
6487 pub const IMAPI_FEATURE_PAGE_TYPE_DVD_PLUS_R_DUAL_LAYER: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(59i32);
6488 pub const IMAPI_FEATURE_PAGE_TYPE_BD_READ: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(64i32);
6489 pub const IMAPI_FEATURE_PAGE_TYPE_BD_WRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(65i32);
6490 pub const IMAPI_FEATURE_PAGE_TYPE_HD_DVD_READ: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(80i32);
6491 pub const IMAPI_FEATURE_PAGE_TYPE_HD_DVD_WRITE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(81i32);
6492 pub const IMAPI_FEATURE_PAGE_TYPE_POWER_MANAGEMENT: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(256i32);
6493 pub const IMAPI_FEATURE_PAGE_TYPE_SMART: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(257i32);
6494 pub const IMAPI_FEATURE_PAGE_TYPE_EMBEDDED_CHANGER: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(258i32);
6495 pub const IMAPI_FEATURE_PAGE_TYPE_CD_ANALOG_PLAY: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(259i32);
6496 pub const IMAPI_FEATURE_PAGE_TYPE_MICROCODE_UPDATE: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(260i32);
6497 pub const IMAPI_FEATURE_PAGE_TYPE_TIMEOUT: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(261i32);
6498 pub const IMAPI_FEATURE_PAGE_TYPE_DVD_CSS: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(262i32);
6499 pub const IMAPI_FEATURE_PAGE_TYPE_REAL_TIME_STREAMING: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(263i32);
6500 pub const IMAPI_FEATURE_PAGE_TYPE_LOGICAL_UNIT_SERIAL_NUMBER: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(264i32);
6501 pub const IMAPI_FEATURE_PAGE_TYPE_MEDIA_SERIAL_NUMBER: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(265i32);
6502 pub const IMAPI_FEATURE_PAGE_TYPE_DISC_CONTROL_BLOCKS: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(266i32);
6503 pub const IMAPI_FEATURE_PAGE_TYPE_DVD_CPRM: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(267i32);
6504 pub const IMAPI_FEATURE_PAGE_TYPE_FIRMWARE_INFORMATION: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(268i32);
6505 pub const IMAPI_FEATURE_PAGE_TYPE_AACS: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(269i32);
6506 pub const IMAPI_FEATURE_PAGE_TYPE_VCPS: IMAPI_FEATURE_PAGE_TYPE = IMAPI_FEATURE_PAGE_TYPE(272i32);
6507 impl ::std::convert::From<i32> for IMAPI_FEATURE_PAGE_TYPE {
from(value: i32) -> Self6508     fn from(value: i32) -> Self {
6509         Self(value)
6510     }
6511 }
6512 unsafe impl ::windows::runtime::Abi for IMAPI_FEATURE_PAGE_TYPE {
6513     type Abi = Self;
6514     type DefaultType = Self;
6515 }
6516 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6517 #[repr(transparent)]
6518 pub struct IMAPI_FORMAT2_DATA_MEDIA_STATE(pub i32);
6519 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_UNKNOWN: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(0i32);
6520 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_INFORMATIONAL_MASK: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(15i32);
6521 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_UNSUPPORTED_MASK: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(64512i32);
6522 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_OVERWRITE_ONLY: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(1i32);
6523 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_RANDOMLY_WRITABLE: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(1i32);
6524 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(2i32);
6525 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_APPENDABLE: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(4i32);
6526 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_FINAL_SESSION: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(8i32);
6527 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_DAMAGED: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(1024i32);
6528 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_ERASE_REQUIRED: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(2048i32);
6529 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_NON_EMPTY_SESSION: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(4096i32);
6530 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_WRITE_PROTECTED: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(8192i32);
6531 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_FINALIZED: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(16384i32);
6532 pub const IMAPI_FORMAT2_DATA_MEDIA_STATE_UNSUPPORTED_MEDIA: IMAPI_FORMAT2_DATA_MEDIA_STATE = IMAPI_FORMAT2_DATA_MEDIA_STATE(32768i32);
6533 impl ::std::convert::From<i32> for IMAPI_FORMAT2_DATA_MEDIA_STATE {
from(value: i32) -> Self6534     fn from(value: i32) -> Self {
6535         Self(value)
6536     }
6537 }
6538 unsafe impl ::windows::runtime::Abi for IMAPI_FORMAT2_DATA_MEDIA_STATE {
6539     type Abi = Self;
6540     type DefaultType = Self;
6541 }
6542 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6543 #[repr(transparent)]
6544 pub struct IMAPI_FORMAT2_DATA_WRITE_ACTION(pub i32);
6545 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_VALIDATING_MEDIA: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(0i32);
6546 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_FORMATTING_MEDIA: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(1i32);
6547 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_INITIALIZING_HARDWARE: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(2i32);
6548 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_CALIBRATING_POWER: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(3i32);
6549 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_WRITING_DATA: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(4i32);
6550 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_FINALIZATION: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(5i32);
6551 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_COMPLETED: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(6i32);
6552 pub const IMAPI_FORMAT2_DATA_WRITE_ACTION_VERIFYING: IMAPI_FORMAT2_DATA_WRITE_ACTION = IMAPI_FORMAT2_DATA_WRITE_ACTION(7i32);
6553 impl ::std::convert::From<i32> for IMAPI_FORMAT2_DATA_WRITE_ACTION {
from(value: i32) -> Self6554     fn from(value: i32) -> Self {
6555         Self(value)
6556     }
6557 }
6558 unsafe impl ::windows::runtime::Abi for IMAPI_FORMAT2_DATA_WRITE_ACTION {
6559     type Abi = Self;
6560     type DefaultType = Self;
6561 }
6562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6563 #[repr(transparent)]
6564 pub struct IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE(pub i32);
6565 pub const IMAPI_FORMAT2_RAW_CD_SUBCODE_PQ_ONLY: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE = IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE(1i32);
6566 pub const IMAPI_FORMAT2_RAW_CD_SUBCODE_IS_COOKED: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE = IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE(2i32);
6567 pub const IMAPI_FORMAT2_RAW_CD_SUBCODE_IS_RAW: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE = IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE(3i32);
6568 impl ::std::convert::From<i32> for IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE {
from(value: i32) -> Self6569     fn from(value: i32) -> Self {
6570         Self(value)
6571     }
6572 }
6573 unsafe impl ::windows::runtime::Abi for IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE {
6574     type Abi = Self;
6575     type DefaultType = Self;
6576 }
6577 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6578 #[repr(transparent)]
6579 pub struct IMAPI_FORMAT2_RAW_CD_WRITE_ACTION(pub i32);
6580 pub const IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_UNKNOWN: IMAPI_FORMAT2_RAW_CD_WRITE_ACTION = IMAPI_FORMAT2_RAW_CD_WRITE_ACTION(0i32);
6581 pub const IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_PREPARING: IMAPI_FORMAT2_RAW_CD_WRITE_ACTION = IMAPI_FORMAT2_RAW_CD_WRITE_ACTION(1i32);
6582 pub const IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_WRITING: IMAPI_FORMAT2_RAW_CD_WRITE_ACTION = IMAPI_FORMAT2_RAW_CD_WRITE_ACTION(2i32);
6583 pub const IMAPI_FORMAT2_RAW_CD_WRITE_ACTION_FINISHING: IMAPI_FORMAT2_RAW_CD_WRITE_ACTION = IMAPI_FORMAT2_RAW_CD_WRITE_ACTION(3i32);
6584 impl ::std::convert::From<i32> for IMAPI_FORMAT2_RAW_CD_WRITE_ACTION {
from(value: i32) -> Self6585     fn from(value: i32) -> Self {
6586         Self(value)
6587     }
6588 }
6589 unsafe impl ::windows::runtime::Abi for IMAPI_FORMAT2_RAW_CD_WRITE_ACTION {
6590     type Abi = Self;
6591     type DefaultType = Self;
6592 }
6593 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6594 #[repr(transparent)]
6595 pub struct IMAPI_FORMAT2_TAO_WRITE_ACTION(pub i32);
6596 pub const IMAPI_FORMAT2_TAO_WRITE_ACTION_UNKNOWN: IMAPI_FORMAT2_TAO_WRITE_ACTION = IMAPI_FORMAT2_TAO_WRITE_ACTION(0i32);
6597 pub const IMAPI_FORMAT2_TAO_WRITE_ACTION_PREPARING: IMAPI_FORMAT2_TAO_WRITE_ACTION = IMAPI_FORMAT2_TAO_WRITE_ACTION(1i32);
6598 pub const IMAPI_FORMAT2_TAO_WRITE_ACTION_WRITING: IMAPI_FORMAT2_TAO_WRITE_ACTION = IMAPI_FORMAT2_TAO_WRITE_ACTION(2i32);
6599 pub const IMAPI_FORMAT2_TAO_WRITE_ACTION_FINISHING: IMAPI_FORMAT2_TAO_WRITE_ACTION = IMAPI_FORMAT2_TAO_WRITE_ACTION(3i32);
6600 pub const IMAPI_FORMAT2_TAO_WRITE_ACTION_VERIFYING: IMAPI_FORMAT2_TAO_WRITE_ACTION = IMAPI_FORMAT2_TAO_WRITE_ACTION(4i32);
6601 impl ::std::convert::From<i32> for IMAPI_FORMAT2_TAO_WRITE_ACTION {
from(value: i32) -> Self6602     fn from(value: i32) -> Self {
6603         Self(value)
6604     }
6605 }
6606 unsafe impl ::windows::runtime::Abi for IMAPI_FORMAT2_TAO_WRITE_ACTION {
6607     type Abi = Self;
6608     type DefaultType = Self;
6609 }
6610 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6611 #[repr(transparent)]
6612 pub struct IMAPI_MEDIA_PHYSICAL_TYPE(pub i32);
6613 pub const IMAPI_MEDIA_TYPE_UNKNOWN: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(0i32);
6614 pub const IMAPI_MEDIA_TYPE_CDROM: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(1i32);
6615 pub const IMAPI_MEDIA_TYPE_CDR: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(2i32);
6616 pub const IMAPI_MEDIA_TYPE_CDRW: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(3i32);
6617 pub const IMAPI_MEDIA_TYPE_DVDROM: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(4i32);
6618 pub const IMAPI_MEDIA_TYPE_DVDRAM: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(5i32);
6619 pub const IMAPI_MEDIA_TYPE_DVDPLUSR: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(6i32);
6620 pub const IMAPI_MEDIA_TYPE_DVDPLUSRW: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(7i32);
6621 pub const IMAPI_MEDIA_TYPE_DVDPLUSR_DUALLAYER: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(8i32);
6622 pub const IMAPI_MEDIA_TYPE_DVDDASHR: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(9i32);
6623 pub const IMAPI_MEDIA_TYPE_DVDDASHRW: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(10i32);
6624 pub const IMAPI_MEDIA_TYPE_DVDDASHR_DUALLAYER: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(11i32);
6625 pub const IMAPI_MEDIA_TYPE_DISK: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(12i32);
6626 pub const IMAPI_MEDIA_TYPE_DVDPLUSRW_DUALLAYER: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(13i32);
6627 pub const IMAPI_MEDIA_TYPE_HDDVDROM: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(14i32);
6628 pub const IMAPI_MEDIA_TYPE_HDDVDR: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(15i32);
6629 pub const IMAPI_MEDIA_TYPE_HDDVDRAM: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(16i32);
6630 pub const IMAPI_MEDIA_TYPE_BDROM: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(17i32);
6631 pub const IMAPI_MEDIA_TYPE_BDR: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(18i32);
6632 pub const IMAPI_MEDIA_TYPE_BDRE: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(19i32);
6633 pub const IMAPI_MEDIA_TYPE_MAX: IMAPI_MEDIA_PHYSICAL_TYPE = IMAPI_MEDIA_PHYSICAL_TYPE(19i32);
6634 impl ::std::convert::From<i32> for IMAPI_MEDIA_PHYSICAL_TYPE {
from(value: i32) -> Self6635     fn from(value: i32) -> Self {
6636         Self(value)
6637     }
6638 }
6639 unsafe impl ::windows::runtime::Abi for IMAPI_MEDIA_PHYSICAL_TYPE {
6640     type Abi = Self;
6641     type DefaultType = Self;
6642 }
6643 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6644 #[repr(transparent)]
6645 pub struct IMAPI_MEDIA_WRITE_PROTECT_STATE(pub i32);
6646 pub const IMAPI_WRITEPROTECTED_UNTIL_POWERDOWN: IMAPI_MEDIA_WRITE_PROTECT_STATE = IMAPI_MEDIA_WRITE_PROTECT_STATE(1i32);
6647 pub const IMAPI_WRITEPROTECTED_BY_CARTRIDGE: IMAPI_MEDIA_WRITE_PROTECT_STATE = IMAPI_MEDIA_WRITE_PROTECT_STATE(2i32);
6648 pub const IMAPI_WRITEPROTECTED_BY_MEDIA_SPECIFIC_REASON: IMAPI_MEDIA_WRITE_PROTECT_STATE = IMAPI_MEDIA_WRITE_PROTECT_STATE(4i32);
6649 pub const IMAPI_WRITEPROTECTED_BY_SOFTWARE_WRITE_PROTECT: IMAPI_MEDIA_WRITE_PROTECT_STATE = IMAPI_MEDIA_WRITE_PROTECT_STATE(8i32);
6650 pub const IMAPI_WRITEPROTECTED_BY_DISC_CONTROL_BLOCK: IMAPI_MEDIA_WRITE_PROTECT_STATE = IMAPI_MEDIA_WRITE_PROTECT_STATE(16i32);
6651 pub const IMAPI_WRITEPROTECTED_READ_ONLY_MEDIA: IMAPI_MEDIA_WRITE_PROTECT_STATE = IMAPI_MEDIA_WRITE_PROTECT_STATE(16384i32);
6652 impl ::std::convert::From<i32> for IMAPI_MEDIA_WRITE_PROTECT_STATE {
from(value: i32) -> Self6653     fn from(value: i32) -> Self {
6654         Self(value)
6655     }
6656 }
6657 unsafe impl ::windows::runtime::Abi for IMAPI_MEDIA_WRITE_PROTECT_STATE {
6658     type Abi = Self;
6659     type DefaultType = Self;
6660 }
6661 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6662 #[repr(transparent)]
6663 pub struct IMAPI_MODE_PAGE_REQUEST_TYPE(pub i32);
6664 pub const IMAPI_MODE_PAGE_REQUEST_TYPE_CURRENT_VALUES: IMAPI_MODE_PAGE_REQUEST_TYPE = IMAPI_MODE_PAGE_REQUEST_TYPE(0i32);
6665 pub const IMAPI_MODE_PAGE_REQUEST_TYPE_CHANGEABLE_VALUES: IMAPI_MODE_PAGE_REQUEST_TYPE = IMAPI_MODE_PAGE_REQUEST_TYPE(1i32);
6666 pub const IMAPI_MODE_PAGE_REQUEST_TYPE_DEFAULT_VALUES: IMAPI_MODE_PAGE_REQUEST_TYPE = IMAPI_MODE_PAGE_REQUEST_TYPE(2i32);
6667 pub const IMAPI_MODE_PAGE_REQUEST_TYPE_SAVED_VALUES: IMAPI_MODE_PAGE_REQUEST_TYPE = IMAPI_MODE_PAGE_REQUEST_TYPE(3i32);
6668 impl ::std::convert::From<i32> for IMAPI_MODE_PAGE_REQUEST_TYPE {
from(value: i32) -> Self6669     fn from(value: i32) -> Self {
6670         Self(value)
6671     }
6672 }
6673 unsafe impl ::windows::runtime::Abi for IMAPI_MODE_PAGE_REQUEST_TYPE {
6674     type Abi = Self;
6675     type DefaultType = Self;
6676 }
6677 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6678 #[repr(transparent)]
6679 pub struct IMAPI_MODE_PAGE_TYPE(pub i32);
6680 pub const IMAPI_MODE_PAGE_TYPE_READ_WRITE_ERROR_RECOVERY: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(1i32);
6681 pub const IMAPI_MODE_PAGE_TYPE_MRW: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(3i32);
6682 pub const IMAPI_MODE_PAGE_TYPE_WRITE_PARAMETERS: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(5i32);
6683 pub const IMAPI_MODE_PAGE_TYPE_CACHING: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(8i32);
6684 pub const IMAPI_MODE_PAGE_TYPE_INFORMATIONAL_EXCEPTIONS: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(28i32);
6685 pub const IMAPI_MODE_PAGE_TYPE_TIMEOUT_AND_PROTECT: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(29i32);
6686 pub const IMAPI_MODE_PAGE_TYPE_POWER_CONDITION: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(26i32);
6687 pub const IMAPI_MODE_PAGE_TYPE_LEGACY_CAPABILITIES: IMAPI_MODE_PAGE_TYPE = IMAPI_MODE_PAGE_TYPE(42i32);
6688 impl ::std::convert::From<i32> for IMAPI_MODE_PAGE_TYPE {
from(value: i32) -> Self6689     fn from(value: i32) -> Self {
6690         Self(value)
6691     }
6692 }
6693 unsafe impl ::windows::runtime::Abi for IMAPI_MODE_PAGE_TYPE {
6694     type Abi = Self;
6695     type DefaultType = Self;
6696 }
6697 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6698 #[repr(transparent)]
6699 pub struct IMAPI_PROFILE_TYPE(pub i32);
6700 pub const IMAPI_PROFILE_TYPE_INVALID: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(0i32);
6701 pub const IMAPI_PROFILE_TYPE_NON_REMOVABLE_DISK: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(1i32);
6702 pub const IMAPI_PROFILE_TYPE_REMOVABLE_DISK: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(2i32);
6703 pub const IMAPI_PROFILE_TYPE_MO_ERASABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(3i32);
6704 pub const IMAPI_PROFILE_TYPE_MO_WRITE_ONCE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(4i32);
6705 pub const IMAPI_PROFILE_TYPE_AS_MO: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(5i32);
6706 pub const IMAPI_PROFILE_TYPE_CDROM: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(8i32);
6707 pub const IMAPI_PROFILE_TYPE_CD_RECORDABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(9i32);
6708 pub const IMAPI_PROFILE_TYPE_CD_REWRITABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(10i32);
6709 pub const IMAPI_PROFILE_TYPE_DVDROM: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(16i32);
6710 pub const IMAPI_PROFILE_TYPE_DVD_DASH_RECORDABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(17i32);
6711 pub const IMAPI_PROFILE_TYPE_DVD_RAM: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(18i32);
6712 pub const IMAPI_PROFILE_TYPE_DVD_DASH_REWRITABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(19i32);
6713 pub const IMAPI_PROFILE_TYPE_DVD_DASH_RW_SEQUENTIAL: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(20i32);
6714 pub const IMAPI_PROFILE_TYPE_DVD_DASH_R_DUAL_SEQUENTIAL: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(21i32);
6715 pub const IMAPI_PROFILE_TYPE_DVD_DASH_R_DUAL_LAYER_JUMP: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(22i32);
6716 pub const IMAPI_PROFILE_TYPE_DVD_PLUS_RW: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(26i32);
6717 pub const IMAPI_PROFILE_TYPE_DVD_PLUS_R: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(27i32);
6718 pub const IMAPI_PROFILE_TYPE_DDCDROM: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(32i32);
6719 pub const IMAPI_PROFILE_TYPE_DDCD_RECORDABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(33i32);
6720 pub const IMAPI_PROFILE_TYPE_DDCD_REWRITABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(34i32);
6721 pub const IMAPI_PROFILE_TYPE_DVD_PLUS_RW_DUAL: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(42i32);
6722 pub const IMAPI_PROFILE_TYPE_DVD_PLUS_R_DUAL: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(43i32);
6723 pub const IMAPI_PROFILE_TYPE_BD_ROM: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(64i32);
6724 pub const IMAPI_PROFILE_TYPE_BD_R_SEQUENTIAL: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(65i32);
6725 pub const IMAPI_PROFILE_TYPE_BD_R_RANDOM_RECORDING: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(66i32);
6726 pub const IMAPI_PROFILE_TYPE_BD_REWRITABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(67i32);
6727 pub const IMAPI_PROFILE_TYPE_HD_DVD_ROM: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(80i32);
6728 pub const IMAPI_PROFILE_TYPE_HD_DVD_RECORDABLE: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(81i32);
6729 pub const IMAPI_PROFILE_TYPE_HD_DVD_RAM: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(82i32);
6730 pub const IMAPI_PROFILE_TYPE_NON_STANDARD: IMAPI_PROFILE_TYPE = IMAPI_PROFILE_TYPE(65535i32);
6731 impl ::std::convert::From<i32> for IMAPI_PROFILE_TYPE {
from(value: i32) -> Self6732     fn from(value: i32) -> Self {
6733         Self(value)
6734     }
6735 }
6736 unsafe impl ::windows::runtime::Abi for IMAPI_PROFILE_TYPE {
6737     type Abi = Self;
6738     type DefaultType = Self;
6739 }
6740 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6741 #[repr(transparent)]
6742 pub struct IMAPI_READ_TRACK_ADDRESS_TYPE(pub i32);
6743 pub const IMAPI_READ_TRACK_ADDRESS_TYPE_LBA: IMAPI_READ_TRACK_ADDRESS_TYPE = IMAPI_READ_TRACK_ADDRESS_TYPE(0i32);
6744 pub const IMAPI_READ_TRACK_ADDRESS_TYPE_TRACK: IMAPI_READ_TRACK_ADDRESS_TYPE = IMAPI_READ_TRACK_ADDRESS_TYPE(1i32);
6745 pub const IMAPI_READ_TRACK_ADDRESS_TYPE_SESSION: IMAPI_READ_TRACK_ADDRESS_TYPE = IMAPI_READ_TRACK_ADDRESS_TYPE(2i32);
6746 impl ::std::convert::From<i32> for IMAPI_READ_TRACK_ADDRESS_TYPE {
from(value: i32) -> Self6747     fn from(value: i32) -> Self {
6748         Self(value)
6749     }
6750 }
6751 unsafe impl ::windows::runtime::Abi for IMAPI_READ_TRACK_ADDRESS_TYPE {
6752     type Abi = Self;
6753     type DefaultType = Self;
6754 }
6755 pub const IMAPI_SECTORS_PER_SECOND_AT_1X_BD: u32 = 2195u32;
6756 pub const IMAPI_SECTORS_PER_SECOND_AT_1X_CD: u32 = 75u32;
6757 pub const IMAPI_SECTORS_PER_SECOND_AT_1X_DVD: u32 = 680u32;
6758 pub const IMAPI_SECTORS_PER_SECOND_AT_1X_HD_DVD: u32 = 4568u32;
6759 pub const IMAPI_SECTOR_SIZE: u32 = 2048u32;
6760 pub const IMAPI_S_BUFFER_TO_SMALL: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(262657i32 as _);
6761 pub const IMAPI_S_PROPERTIESIGNORED: ::windows::runtime::HRESULT = ::windows::runtime::HRESULT(262656i32 as _);
6762 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6763 #[repr(transparent)]
6764 pub struct IMMPID_CPV_ENUM(pub i32);
6765 pub const IMMPID_CPV_BEFORE__: IMMPID_CPV_ENUM = IMMPID_CPV_ENUM(32767i32);
6766 pub const IMMPID_CP_START: IMMPID_CPV_ENUM = IMMPID_CPV_ENUM(32768i32);
6767 pub const IMMPID_CPV_AFTER__: IMMPID_CPV_ENUM = IMMPID_CPV_ENUM(32769i32);
6768 impl ::std::convert::From<i32> for IMMPID_CPV_ENUM {
from(value: i32) -> Self6769     fn from(value: i32) -> Self {
6770         Self(value)
6771     }
6772 }
6773 unsafe impl ::windows::runtime::Abi for IMMPID_CPV_ENUM {
6774     type Abi = Self;
6775     type DefaultType = Self;
6776 }
6777 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6778 #[repr(transparent)]
6779 pub struct IMMPID_MPV_ENUM(pub i32);
6780 pub const IMMPID_MPV_BEFORE__: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12287i32);
6781 pub const IMMPID_MPV_STORE_DRIVER_HANDLE: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12288i32);
6782 pub const IMMPID_MPV_MESSAGE_CREATION_FLAGS: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12289i32);
6783 pub const IMMPID_MPV_MESSAGE_OPEN_HANDLES: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12290i32);
6784 pub const IMMPID_MPV_TOTAL_OPEN_HANDLES: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12291i32);
6785 pub const IMMPID_MPV_TOTAL_OPEN_PROPERTY_STREAM_HANDLES: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12292i32);
6786 pub const IMMPID_MPV_TOTAL_OPEN_CONTENT_HANDLES: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12293i32);
6787 pub const IMMPID_MPV_AFTER__: IMMPID_MPV_ENUM = IMMPID_MPV_ENUM(12294i32);
6788 impl ::std::convert::From<i32> for IMMPID_MPV_ENUM {
from(value: i32) -> Self6789     fn from(value: i32) -> Self {
6790         Self(value)
6791     }
6792 }
6793 unsafe impl ::windows::runtime::Abi for IMMPID_MPV_ENUM {
6794     type Abi = Self;
6795     type DefaultType = Self;
6796 }
6797 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6798 #[repr(transparent)]
6799 pub struct IMMPID_MP_ENUM(pub i32);
6800 pub const IMMPID_MP_BEFORE__: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4095i32);
6801 pub const IMMPID_MP_RECIPIENT_LIST: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4096i32);
6802 pub const IMMPID_MP_CONTENT_FILE_NAME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4097i32);
6803 pub const IMMPID_MP_SENDER_ADDRESS_SMTP: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4098i32);
6804 pub const IMMPID_MP_SENDER_ADDRESS_X500: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4099i32);
6805 pub const IMMPID_MP_SENDER_ADDRESS_X400: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4100i32);
6806 pub const IMMPID_MP_SENDER_ADDRESS_LEGACY_EX_DN: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4101i32);
6807 pub const IMMPID_MP_DOMAIN_LIST: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4102i32);
6808 pub const IMMPID_MP_PICKUP_FILE_NAME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4103i32);
6809 pub const IMMPID_MP_AUTHENTICATED_USER_NAME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4104i32);
6810 pub const IMMPID_MP_CONNECTION_IP_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4105i32);
6811 pub const IMMPID_MP_HELO_DOMAIN: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4106i32);
6812 pub const IMMPID_MP_EIGHTBIT_MIME_OPTION: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4107i32);
6813 pub const IMMPID_MP_CHUNKING_OPTION: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4108i32);
6814 pub const IMMPID_MP_BINARYMIME_OPTION: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4109i32);
6815 pub const IMMPID_MP_REMOTE_AUTHENTICATION_TYPE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4110i32);
6816 pub const IMMPID_MP_ERROR_CODE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4111i32);
6817 pub const IMMPID_MP_DSN_ENVID_VALUE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4112i32);
6818 pub const IMMPID_MP_DSN_RET_VALUE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4113i32);
6819 pub const IMMPID_MP_REMOTE_SERVER_DSN_CAPABLE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4114i32);
6820 pub const IMMPID_MP_ARRIVAL_TIME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4115i32);
6821 pub const IMMPID_MP_MESSAGE_STATUS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4116i32);
6822 pub const IMMPID_MP_EXPIRE_DELAY: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4117i32);
6823 pub const IMMPID_MP_EXPIRE_NDR: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4118i32);
6824 pub const IMMPID_MP_LOCAL_EXPIRE_DELAY: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4119i32);
6825 pub const IMMPID_MP_LOCAL_EXPIRE_NDR: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4120i32);
6826 pub const IMMPID_MP_ARRIVAL_FILETIME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4121i32);
6827 pub const IMMPID_MP_HR_CAT_STATUS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4122i32);
6828 pub const IMMPID_MP_MSG_GUID: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4123i32);
6829 pub const IMMPID_MP_SUPERSEDES_MSG_GUID: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4124i32);
6830 pub const IMMPID_MP_SCANNED_FOR_CRLF_DOT_CRLF: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4125i32);
6831 pub const IMMPID_MP_FOUND_EMBEDDED_CRLF_DOT_CRLF: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4126i32);
6832 pub const IMMPID_MP_MSG_SIZE_HINT: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4127i32);
6833 pub const IMMPID_MP_RFC822_MSG_ID: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4128i32);
6834 pub const IMMPID_MP_RFC822_MSG_SUBJECT: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4129i32);
6835 pub const IMMPID_MP_RFC822_FROM_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4130i32);
6836 pub const IMMPID_MP_RFC822_TO_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4131i32);
6837 pub const IMMPID_MP_RFC822_CC_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4132i32);
6838 pub const IMMPID_MP_RFC822_BCC_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4133i32);
6839 pub const IMMPID_MP_CONNECTION_SERVER_IP_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4134i32);
6840 pub const IMMPID_MP_SERVER_NAME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4135i32);
6841 pub const IMMPID_MP_SERVER_VERSION: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4136i32);
6842 pub const IMMPID_MP_NUM_RECIPIENTS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4137i32);
6843 pub const IMMPID_MP_X_PRIORITY: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4138i32);
6844 pub const IMMPID_MP_FROM_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4139i32);
6845 pub const IMMPID_MP_SENDER_ADDRESS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4140i32);
6846 pub const IMMPID_MP_DEFERRED_DELIVERY_FILETIME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4141i32);
6847 pub const IMMPID_MP_SENDER_ADDRESS_OTHER: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4142i32);
6848 pub const IMMPID_MP_ORIGINAL_ARRIVAL_TIME: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4143i32);
6849 pub const IMMPID_MP_MSGCLASS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4144i32);
6850 pub const IMMPID_MP_CONTENT_TYPE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4145i32);
6851 pub const IMMPID_MP_ENCRYPTION_TYPE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4146i32);
6852 pub const IMMPID_MP_CONNECTION_SERVER_PORT: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4147i32);
6853 pub const IMMPID_MP_CLIENT_AUTH_USER: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4148i32);
6854 pub const IMMPID_MP_CLIENT_AUTH_TYPE: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4149i32);
6855 pub const IMMPID_MP_CRC_GLOBAL: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4150i32);
6856 pub const IMMPID_MP_CRC_RECIPS: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4151i32);
6857 pub const IMMPID_MP_INBOUND_MAIL_FROM_AUTH: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4152i32);
6858 pub const IMMPID_MP_AFTER__: IMMPID_MP_ENUM = IMMPID_MP_ENUM(4153i32);
6859 impl ::std::convert::From<i32> for IMMPID_MP_ENUM {
from(value: i32) -> Self6860     fn from(value: i32) -> Self {
6861         Self(value)
6862     }
6863 }
6864 unsafe impl ::windows::runtime::Abi for IMMPID_MP_ENUM {
6865     type Abi = Self;
6866     type DefaultType = Self;
6867 }
6868 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6869 #[repr(transparent)]
6870 pub struct IMMPID_NMP_ENUM(pub i32);
6871 pub const IMMPID_NMP_BEFORE__: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24575i32);
6872 pub const IMMPID_NMP_SECONDARY_GROUPS: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24576i32);
6873 pub const IMMPID_NMP_SECONDARY_ARTNUM: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24577i32);
6874 pub const IMMPID_NMP_PRIMARY_GROUP: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24578i32);
6875 pub const IMMPID_NMP_PRIMARY_ARTID: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24579i32);
6876 pub const IMMPID_NMP_POST_TOKEN: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24580i32);
6877 pub const IMMPID_NMP_NEWSGROUP_LIST: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24581i32);
6878 pub const IMMPID_NMP_HEADERS: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24582i32);
6879 pub const IMMPID_NMP_NNTP_PROCESSING: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24583i32);
6880 pub const IMMPID_NMP_NNTP_APPROVED_HEADER: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24584i32);
6881 pub const IMMPID_NMP_AFTER__: IMMPID_NMP_ENUM = IMMPID_NMP_ENUM(24585i32);
6882 impl ::std::convert::From<i32> for IMMPID_NMP_ENUM {
from(value: i32) -> Self6883     fn from(value: i32) -> Self {
6884         Self(value)
6885     }
6886 }
6887 unsafe impl ::windows::runtime::Abi for IMMPID_NMP_ENUM {
6888     type Abi = Self;
6889     type DefaultType = Self;
6890 }
6891 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6892 #[repr(transparent)]
6893 pub struct IMMPID_RPV_ENUM(pub i32);
6894 pub const IMMPID_RPV_BEFORE__: IMMPID_RPV_ENUM = IMMPID_RPV_ENUM(16383i32);
6895 pub const IMMPID_RPV_DONT_DELIVER: IMMPID_RPV_ENUM = IMMPID_RPV_ENUM(16384i32);
6896 pub const IMMPID_RPV_NO_NAME_COLLISIONS: IMMPID_RPV_ENUM = IMMPID_RPV_ENUM(16385i32);
6897 pub const IMMPID_RPV_AFTER__: IMMPID_RPV_ENUM = IMMPID_RPV_ENUM(16386i32);
6898 impl ::std::convert::From<i32> for IMMPID_RPV_ENUM {
from(value: i32) -> Self6899     fn from(value: i32) -> Self {
6900         Self(value)
6901     }
6902 }
6903 unsafe impl ::windows::runtime::Abi for IMMPID_RPV_ENUM {
6904     type Abi = Self;
6905     type DefaultType = Self;
6906 }
6907 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6908 #[repr(transparent)]
6909 pub struct IMMPID_RP_ENUM(pub i32);
6910 pub const IMMPID_RP_BEFORE__: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8191i32);
6911 pub const IMMPID_RP_DSN_NOTIFY_SUCCESS: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8192i32);
6912 pub const IMMPID_RP_DSN_NOTIFY_INVALID: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8193i32);
6913 pub const IMMPID_RP_ADDRESS_TYPE: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8194i32);
6914 pub const IMMPID_RP_ADDRESS: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8195i32);
6915 pub const IMMPID_RP_ADDRESS_TYPE_SMTP: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8196i32);
6916 pub const IMMPID_RP_ERROR_CODE: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8197i32);
6917 pub const IMMPID_RP_ERROR_STRING: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8198i32);
6918 pub const IMMPID_RP_DSN_NOTIFY_VALUE: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8199i32);
6919 pub const IMMPID_RP_DSN_ORCPT_VALUE: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8200i32);
6920 pub const IMMPID_RP_ADDRESS_SMTP: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8201i32);
6921 pub const IMMPID_RP_ADDRESS_X400: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8202i32);
6922 pub const IMMPID_RP_ADDRESS_X500: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8203i32);
6923 pub const IMMPID_RP_LEGACY_EX_DN: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8204i32);
6924 pub const IMMPID_RP_RECIPIENT_FLAGS: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8205i32);
6925 pub const IMMPID_RP_SMTP_STATUS_STRING: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8206i32);
6926 pub const IMMPID_RP_DSN_PRE_CAT_ADDRESS: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8207i32);
6927 pub const IMMPID_RP_MDB_GUID: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8208i32);
6928 pub const IMMPID_RP_USER_GUID: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8209i32);
6929 pub const IMMPID_RP_DOMAIN: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8210i32);
6930 pub const IMMPID_RP_ADDRESS_OTHER: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8211i32);
6931 pub const IMMPID_RP_DISPLAY_NAME: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8212i32);
6932 pub const IMMPID_RP_AFTER__: IMMPID_RP_ENUM = IMMPID_RP_ENUM(8213i32);
6933 impl ::std::convert::From<i32> for IMMPID_RP_ENUM {
from(value: i32) -> Self6934     fn from(value: i32) -> Self {
6935         Self(value)
6936     }
6937 }
6938 unsafe impl ::windows::runtime::Abi for IMMPID_RP_ENUM {
6939     type Abi = Self;
6940     type DefaultType = Self;
6941 }
6942 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
6943 #[repr(C)]
6944 pub struct IMMP_MPV_STORE_DRIVER_HANDLE {
6945     pub guidSignature: ::windows::runtime::GUID,
6946 }
6947 impl IMMP_MPV_STORE_DRIVER_HANDLE {}
6948 impl ::std::default::Default for IMMP_MPV_STORE_DRIVER_HANDLE {
default() -> Self6949     fn default() -> Self {
6950         unsafe { ::std::mem::zeroed() }
6951     }
6952 }
6953 impl ::std::fmt::Debug for IMMP_MPV_STORE_DRIVER_HANDLE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6954     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6955         fmt.debug_struct("IMMP_MPV_STORE_DRIVER_HANDLE").field("guidSignature", &self.guidSignature).finish()
6956     }
6957 }
6958 impl ::std::cmp::PartialEq for IMMP_MPV_STORE_DRIVER_HANDLE {
eq(&self, other: &Self) -> bool6959     fn eq(&self, other: &Self) -> bool {
6960         self.guidSignature == other.guidSignature
6961     }
6962 }
6963 impl ::std::cmp::Eq for IMMP_MPV_STORE_DRIVER_HANDLE {}
6964 unsafe impl ::windows::runtime::Abi for IMMP_MPV_STORE_DRIVER_HANDLE {
6965     type Abi = Self;
6966     type DefaultType = Self;
6967 }
6968 #[repr(transparent)]
6969 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6970 pub struct IMultisession(::windows::runtime::IUnknown);
6971 impl IMultisession {
IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16>6972     pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16> {
6973         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6974         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6975     }
SetInUse(&self, value: i16) -> ::windows::runtime::Result<()>6976     pub unsafe fn SetInUse(&self, value: i16) -> ::windows::runtime::Result<()> {
6977         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
6978     }
InUse(&self) -> ::windows::runtime::Result<i16>6979     pub unsafe fn InUse(&self) -> ::windows::runtime::Result<i16> {
6980         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6981         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
6982     }
ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>6983     pub unsafe fn ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
6984         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6985         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
6986     }
6987 }
6988 unsafe impl ::windows::runtime::Interface for IMultisession {
6989     type Vtable = IMultisession_abi;
6990     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801552, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
6991 }
6992 impl ::std::convert::From<IMultisession> for ::windows::runtime::IUnknown {
from(value: IMultisession) -> Self6993     fn from(value: IMultisession) -> Self {
6994         unsafe { ::std::mem::transmute(value) }
6995     }
6996 }
6997 impl ::std::convert::From<&IMultisession> for ::windows::runtime::IUnknown {
from(value: &IMultisession) -> Self6998     fn from(value: &IMultisession) -> Self {
6999         ::std::convert::From::from(::std::clone::Clone::clone(value))
7000     }
7001 }
7002 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMultisession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7003     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7004         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7005     }
7006 }
7007 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMultisession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7008     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7009         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7010     }
7011 }
7012 #[cfg(feature = "Win32_System_Ole_Automation")]
7013 impl ::std::convert::From<IMultisession> for super::super::System::Ole::Automation::IDispatch {
from(value: IMultisession) -> Self7014     fn from(value: IMultisession) -> Self {
7015         unsafe { ::std::mem::transmute(value) }
7016     }
7017 }
7018 #[cfg(feature = "Win32_System_Ole_Automation")]
7019 impl ::std::convert::From<&IMultisession> for super::super::System::Ole::Automation::IDispatch {
from(value: &IMultisession) -> Self7020     fn from(value: &IMultisession) -> Self {
7021         ::std::convert::From::from(::std::clone::Clone::clone(value))
7022     }
7023 }
7024 #[cfg(feature = "Win32_System_Ole_Automation")]
7025 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IMultisession {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7026     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7027         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7028     }
7029 }
7030 #[cfg(feature = "Win32_System_Ole_Automation")]
7031 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IMultisession {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7032     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7033         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7034     }
7035 }
7036 #[repr(C)]
7037 #[doc(hidden)]
7038 pub struct IMultisession_abi(
7039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7043     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7044     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7045     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7046     #[cfg(not(feature = "Win32_Foundation"))] usize,
7047     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7048     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7049     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
7052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7054 );
7055 #[repr(transparent)]
7056 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7057 pub struct IMultisessionRandomWrite(::windows::runtime::IUnknown);
7058 impl IMultisessionRandomWrite {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>7059     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7060         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7061         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7062     }
7063     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>7064     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7065         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7066         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
7067     }
7068     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>7069     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7070         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7071     }
7072     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>7073     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7074         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7075     }
IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16>7076     pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16> {
7077         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7078         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7079     }
SetInUse(&self, value: i16) -> ::windows::runtime::Result<()>7080     pub unsafe fn SetInUse(&self, value: i16) -> ::windows::runtime::Result<()> {
7081         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7082     }
InUse(&self) -> ::windows::runtime::Result<i16>7083     pub unsafe fn InUse(&self) -> ::windows::runtime::Result<i16> {
7084         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7085         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7086     }
ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>7087     pub unsafe fn ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
7088         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7089         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
7090     }
WriteUnitSize(&self) -> ::windows::runtime::Result<i32>7091     pub unsafe fn WriteUnitSize(&self) -> ::windows::runtime::Result<i32> {
7092         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7093         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7094     }
LastWrittenAddress(&self) -> ::windows::runtime::Result<i32>7095     pub unsafe fn LastWrittenAddress(&self) -> ::windows::runtime::Result<i32> {
7096         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7097         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7098     }
TotalSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>7099     pub unsafe fn TotalSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
7100         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7101         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7102     }
7103 }
7104 unsafe impl ::windows::runtime::Interface for IMultisessionRandomWrite {
7105     type Vtable = IMultisessionRandomWrite_abi;
7106     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186595, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
7107 }
7108 impl ::std::convert::From<IMultisessionRandomWrite> for ::windows::runtime::IUnknown {
from(value: IMultisessionRandomWrite) -> Self7109     fn from(value: IMultisessionRandomWrite) -> Self {
7110         unsafe { ::std::mem::transmute(value) }
7111     }
7112 }
7113 impl ::std::convert::From<&IMultisessionRandomWrite> for ::windows::runtime::IUnknown {
from(value: &IMultisessionRandomWrite) -> Self7114     fn from(value: &IMultisessionRandomWrite) -> Self {
7115         ::std::convert::From::from(::std::clone::Clone::clone(value))
7116     }
7117 }
7118 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMultisessionRandomWrite {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7119     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7120         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7121     }
7122 }
7123 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMultisessionRandomWrite {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7124     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7125         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7126     }
7127 }
7128 impl ::std::convert::From<IMultisessionRandomWrite> for IMultisession {
from(value: IMultisessionRandomWrite) -> Self7129     fn from(value: IMultisessionRandomWrite) -> Self {
7130         unsafe { ::std::mem::transmute(value) }
7131     }
7132 }
7133 impl ::std::convert::From<&IMultisessionRandomWrite> for IMultisession {
from(value: &IMultisessionRandomWrite) -> Self7134     fn from(value: &IMultisessionRandomWrite) -> Self {
7135         ::std::convert::From::from(::std::clone::Clone::clone(value))
7136     }
7137 }
7138 impl<'a> ::windows::runtime::IntoParam<'a, IMultisession> for IMultisessionRandomWrite {
into_param(self) -> ::windows::runtime::Param<'a, IMultisession>7139     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisession> {
7140         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisession>::into(self))
7141     }
7142 }
7143 impl<'a> ::windows::runtime::IntoParam<'a, IMultisession> for &IMultisessionRandomWrite {
into_param(self) -> ::windows::runtime::Param<'a, IMultisession>7144     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisession> {
7145         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisession>::into(::std::clone::Clone::clone(self)))
7146     }
7147 }
7148 #[cfg(feature = "Win32_System_Ole_Automation")]
7149 impl ::std::convert::From<IMultisessionRandomWrite> for super::super::System::Ole::Automation::IDispatch {
from(value: IMultisessionRandomWrite) -> Self7150     fn from(value: IMultisessionRandomWrite) -> Self {
7151         unsafe { ::std::mem::transmute(value) }
7152     }
7153 }
7154 #[cfg(feature = "Win32_System_Ole_Automation")]
7155 impl ::std::convert::From<&IMultisessionRandomWrite> for super::super::System::Ole::Automation::IDispatch {
from(value: &IMultisessionRandomWrite) -> Self7156     fn from(value: &IMultisessionRandomWrite) -> Self {
7157         ::std::convert::From::from(::std::clone::Clone::clone(value))
7158     }
7159 }
7160 #[cfg(feature = "Win32_System_Ole_Automation")]
7161 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IMultisessionRandomWrite {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7162     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7163         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7164     }
7165 }
7166 #[cfg(feature = "Win32_System_Ole_Automation")]
7167 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IMultisessionRandomWrite {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7168     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7169         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7170     }
7171 }
7172 #[repr(C)]
7173 #[doc(hidden)]
7174 pub struct IMultisessionRandomWrite_abi(
7175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7179     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7180     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7181     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7182     #[cfg(not(feature = "Win32_Foundation"))] usize,
7183     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7184     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7185     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
7188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7193 );
7194 #[repr(transparent)]
7195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7196 pub struct IMultisessionSequential(::windows::runtime::IUnknown);
7197 impl IMultisessionSequential {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>7198     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7199         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7200         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7201     }
7202     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>7203     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7204         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7205         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
7206     }
7207     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>7208     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7209         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7210     }
7211     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>7212     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7213         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7214     }
IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16>7215     pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16> {
7216         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7217         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7218     }
SetInUse(&self, value: i16) -> ::windows::runtime::Result<()>7219     pub unsafe fn SetInUse(&self, value: i16) -> ::windows::runtime::Result<()> {
7220         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7221     }
InUse(&self) -> ::windows::runtime::Result<i16>7222     pub unsafe fn InUse(&self) -> ::windows::runtime::Result<i16> {
7223         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7224         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7225     }
ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>7226     pub unsafe fn ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
7227         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7228         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
7229     }
IsFirstDataSession(&self) -> ::windows::runtime::Result<i16>7230     pub unsafe fn IsFirstDataSession(&self) -> ::windows::runtime::Result<i16> {
7231         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7232         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7233     }
StartAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32>7234     pub unsafe fn StartAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32> {
7235         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7236         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7237     }
LastWrittenAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32>7238     pub unsafe fn LastWrittenAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32> {
7239         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7240         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7241     }
NextWritableAddress(&self) -> ::windows::runtime::Result<i32>7242     pub unsafe fn NextWritableAddress(&self) -> ::windows::runtime::Result<i32> {
7243         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7244         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7245     }
FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>7246     pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
7247         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7248         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7249     }
7250 }
7251 unsafe impl ::windows::runtime::Interface for IMultisessionSequential {
7252     type Vtable = IMultisessionSequential_abi;
7253     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801553, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
7254 }
7255 impl ::std::convert::From<IMultisessionSequential> for ::windows::runtime::IUnknown {
from(value: IMultisessionSequential) -> Self7256     fn from(value: IMultisessionSequential) -> Self {
7257         unsafe { ::std::mem::transmute(value) }
7258     }
7259 }
7260 impl ::std::convert::From<&IMultisessionSequential> for ::windows::runtime::IUnknown {
from(value: &IMultisessionSequential) -> Self7261     fn from(value: &IMultisessionSequential) -> Self {
7262         ::std::convert::From::from(::std::clone::Clone::clone(value))
7263     }
7264 }
7265 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMultisessionSequential {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7266     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7267         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7268     }
7269 }
7270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMultisessionSequential {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7272         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7273     }
7274 }
7275 impl ::std::convert::From<IMultisessionSequential> for IMultisession {
from(value: IMultisessionSequential) -> Self7276     fn from(value: IMultisessionSequential) -> Self {
7277         unsafe { ::std::mem::transmute(value) }
7278     }
7279 }
7280 impl ::std::convert::From<&IMultisessionSequential> for IMultisession {
from(value: &IMultisessionSequential) -> Self7281     fn from(value: &IMultisessionSequential) -> Self {
7282         ::std::convert::From::from(::std::clone::Clone::clone(value))
7283     }
7284 }
7285 impl<'a> ::windows::runtime::IntoParam<'a, IMultisession> for IMultisessionSequential {
into_param(self) -> ::windows::runtime::Param<'a, IMultisession>7286     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisession> {
7287         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisession>::into(self))
7288     }
7289 }
7290 impl<'a> ::windows::runtime::IntoParam<'a, IMultisession> for &IMultisessionSequential {
into_param(self) -> ::windows::runtime::Param<'a, IMultisession>7291     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisession> {
7292         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisession>::into(::std::clone::Clone::clone(self)))
7293     }
7294 }
7295 #[cfg(feature = "Win32_System_Ole_Automation")]
7296 impl ::std::convert::From<IMultisessionSequential> for super::super::System::Ole::Automation::IDispatch {
from(value: IMultisessionSequential) -> Self7297     fn from(value: IMultisessionSequential) -> Self {
7298         unsafe { ::std::mem::transmute(value) }
7299     }
7300 }
7301 #[cfg(feature = "Win32_System_Ole_Automation")]
7302 impl ::std::convert::From<&IMultisessionSequential> for super::super::System::Ole::Automation::IDispatch {
from(value: &IMultisessionSequential) -> Self7303     fn from(value: &IMultisessionSequential) -> Self {
7304         ::std::convert::From::from(::std::clone::Clone::clone(value))
7305     }
7306 }
7307 #[cfg(feature = "Win32_System_Ole_Automation")]
7308 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IMultisessionSequential {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7309     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7310         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7311     }
7312 }
7313 #[cfg(feature = "Win32_System_Ole_Automation")]
7314 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IMultisessionSequential {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7315     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7316         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7317     }
7318 }
7319 #[repr(C)]
7320 #[doc(hidden)]
7321 pub struct IMultisessionSequential_abi(
7322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7326     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7327     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7328     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7329     #[cfg(not(feature = "Win32_Foundation"))] usize,
7330     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7331     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7332     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
7335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7342 );
7343 #[repr(transparent)]
7344 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7345 pub struct IMultisessionSequential2(::windows::runtime::IUnknown);
7346 impl IMultisessionSequential2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>7347     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
7348         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7349         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7350     }
7351     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo>7352     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::super::System::Ole::Automation::ITypeInfo> {
7353         let mut result__: <super::super::System::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7354         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::System::Ole::Automation::ITypeInfo>(result__)
7355     }
7356     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>7357     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
7358         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
7359     }
7360     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>7361     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut super::super::System::Com::VARIANT, pexcepinfo: *mut super::super::System::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
7362         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
7363     }
IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16>7364     pub unsafe fn IsSupportedOnCurrentMediaState(&self) -> ::windows::runtime::Result<i16> {
7365         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7366         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7367     }
SetInUse(&self, value: i16) -> ::windows::runtime::Result<()>7368     pub unsafe fn SetInUse(&self, value: i16) -> ::windows::runtime::Result<()> {
7369         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7370     }
InUse(&self) -> ::windows::runtime::Result<i16>7371     pub unsafe fn InUse(&self) -> ::windows::runtime::Result<i16> {
7372         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7373         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7374     }
ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2>7375     pub unsafe fn ImportRecorder(&self) -> ::windows::runtime::Result<IDiscRecorder2> {
7376         let mut result__: <IDiscRecorder2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7377         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2>(result__)
7378     }
IsFirstDataSession(&self) -> ::windows::runtime::Result<i16>7379     pub unsafe fn IsFirstDataSession(&self) -> ::windows::runtime::Result<i16> {
7380         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7381         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7382     }
StartAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32>7383     pub unsafe fn StartAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32> {
7384         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7385         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7386     }
LastWrittenAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32>7387     pub unsafe fn LastWrittenAddressOfPreviousSession(&self) -> ::windows::runtime::Result<i32> {
7388         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7389         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7390     }
NextWritableAddress(&self) -> ::windows::runtime::Result<i32>7391     pub unsafe fn NextWritableAddress(&self) -> ::windows::runtime::Result<i32> {
7392         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7393         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7394     }
FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32>7395     pub unsafe fn FreeSectorsOnMedia(&self) -> ::windows::runtime::Result<i32> {
7396         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7397         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7398     }
WriteUnitSize(&self) -> ::windows::runtime::Result<i32>7399     pub unsafe fn WriteUnitSize(&self) -> ::windows::runtime::Result<i32> {
7400         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7401         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7402     }
7403 }
7404 unsafe impl ::windows::runtime::Interface for IMultisessionSequential2 {
7405     type Vtable = IMultisessionSequential2_abi;
7406     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186594, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
7407 }
7408 impl ::std::convert::From<IMultisessionSequential2> for ::windows::runtime::IUnknown {
from(value: IMultisessionSequential2) -> Self7409     fn from(value: IMultisessionSequential2) -> Self {
7410         unsafe { ::std::mem::transmute(value) }
7411     }
7412 }
7413 impl ::std::convert::From<&IMultisessionSequential2> for ::windows::runtime::IUnknown {
from(value: &IMultisessionSequential2) -> Self7414     fn from(value: &IMultisessionSequential2) -> Self {
7415         ::std::convert::From::from(::std::clone::Clone::clone(value))
7416     }
7417 }
7418 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7419     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7420         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7421     }
7422 }
7423 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7424     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7425         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7426     }
7427 }
7428 impl ::std::convert::From<IMultisessionSequential2> for IMultisessionSequential {
from(value: IMultisessionSequential2) -> Self7429     fn from(value: IMultisessionSequential2) -> Self {
7430         unsafe { ::std::mem::transmute(value) }
7431     }
7432 }
7433 impl ::std::convert::From<&IMultisessionSequential2> for IMultisessionSequential {
from(value: &IMultisessionSequential2) -> Self7434     fn from(value: &IMultisessionSequential2) -> Self {
7435         ::std::convert::From::from(::std::clone::Clone::clone(value))
7436     }
7437 }
7438 impl<'a> ::windows::runtime::IntoParam<'a, IMultisessionSequential> for IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, IMultisessionSequential>7439     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisessionSequential> {
7440         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisessionSequential>::into(self))
7441     }
7442 }
7443 impl<'a> ::windows::runtime::IntoParam<'a, IMultisessionSequential> for &IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, IMultisessionSequential>7444     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisessionSequential> {
7445         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisessionSequential>::into(::std::clone::Clone::clone(self)))
7446     }
7447 }
7448 impl ::std::convert::From<IMultisessionSequential2> for IMultisession {
from(value: IMultisessionSequential2) -> Self7449     fn from(value: IMultisessionSequential2) -> Self {
7450         unsafe { ::std::mem::transmute(value) }
7451     }
7452 }
7453 impl ::std::convert::From<&IMultisessionSequential2> for IMultisession {
from(value: &IMultisessionSequential2) -> Self7454     fn from(value: &IMultisessionSequential2) -> Self {
7455         ::std::convert::From::from(::std::clone::Clone::clone(value))
7456     }
7457 }
7458 impl<'a> ::windows::runtime::IntoParam<'a, IMultisession> for IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, IMultisession>7459     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisession> {
7460         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisession>::into(self))
7461     }
7462 }
7463 impl<'a> ::windows::runtime::IntoParam<'a, IMultisession> for &IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, IMultisession>7464     fn into_param(self) -> ::windows::runtime::Param<'a, IMultisession> {
7465         ::windows::runtime::Param::Owned(::std::convert::Into::<IMultisession>::into(::std::clone::Clone::clone(self)))
7466     }
7467 }
7468 #[cfg(feature = "Win32_System_Ole_Automation")]
7469 impl ::std::convert::From<IMultisessionSequential2> for super::super::System::Ole::Automation::IDispatch {
from(value: IMultisessionSequential2) -> Self7470     fn from(value: IMultisessionSequential2) -> Self {
7471         unsafe { ::std::mem::transmute(value) }
7472     }
7473 }
7474 #[cfg(feature = "Win32_System_Ole_Automation")]
7475 impl ::std::convert::From<&IMultisessionSequential2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IMultisessionSequential2) -> Self7476     fn from(value: &IMultisessionSequential2) -> Self {
7477         ::std::convert::From::from(::std::clone::Clone::clone(value))
7478     }
7479 }
7480 #[cfg(feature = "Win32_System_Ole_Automation")]
7481 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7482     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7483         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7484     }
7485 }
7486 #[cfg(feature = "Win32_System_Ole_Automation")]
7487 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IMultisessionSequential2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7488     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7489         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7490     }
7491 }
7492 #[repr(C)]
7493 #[doc(hidden)]
7494 pub struct IMultisessionSequential2_abi(
7495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7499     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7500     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7501     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7502     #[cfg(not(feature = "Win32_Foundation"))] usize,
7503     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7504     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7505     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
7508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7516 );
7517 #[repr(transparent)]
7518 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7519 pub struct IProgressItem(::windows::runtime::IUnknown);
7520 impl IProgressItem {
7521     #[cfg(feature = "Win32_Foundation")]
Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7522     pub unsafe fn Description(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7523         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7524         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7525     }
FirstBlock(&self) -> ::windows::runtime::Result<u32>7526     pub unsafe fn FirstBlock(&self) -> ::windows::runtime::Result<u32> {
7527         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7528         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7529     }
LastBlock(&self) -> ::windows::runtime::Result<u32>7530     pub unsafe fn LastBlock(&self) -> ::windows::runtime::Result<u32> {
7531         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7532         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7533     }
BlockCount(&self) -> ::windows::runtime::Result<u32>7534     pub unsafe fn BlockCount(&self) -> ::windows::runtime::Result<u32> {
7535         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7536         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7537     }
7538 }
7539 unsafe impl ::windows::runtime::Interface for IProgressItem {
7540     type Vtable = IProgressItem_abi;
7541     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904981, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
7542 }
7543 impl ::std::convert::From<IProgressItem> for ::windows::runtime::IUnknown {
from(value: IProgressItem) -> Self7544     fn from(value: IProgressItem) -> Self {
7545         unsafe { ::std::mem::transmute(value) }
7546     }
7547 }
7548 impl ::std::convert::From<&IProgressItem> for ::windows::runtime::IUnknown {
from(value: &IProgressItem) -> Self7549     fn from(value: &IProgressItem) -> Self {
7550         ::std::convert::From::from(::std::clone::Clone::clone(value))
7551     }
7552 }
7553 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProgressItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7554     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7555         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7556     }
7557 }
7558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProgressItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7560         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7561     }
7562 }
7563 #[cfg(feature = "Win32_System_Ole_Automation")]
7564 impl ::std::convert::From<IProgressItem> for super::super::System::Ole::Automation::IDispatch {
from(value: IProgressItem) -> Self7565     fn from(value: IProgressItem) -> Self {
7566         unsafe { ::std::mem::transmute(value) }
7567     }
7568 }
7569 #[cfg(feature = "Win32_System_Ole_Automation")]
7570 impl ::std::convert::From<&IProgressItem> for super::super::System::Ole::Automation::IDispatch {
from(value: &IProgressItem) -> Self7571     fn from(value: &IProgressItem) -> Self {
7572         ::std::convert::From::from(::std::clone::Clone::clone(value))
7573     }
7574 }
7575 #[cfg(feature = "Win32_System_Ole_Automation")]
7576 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IProgressItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7577     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7578         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7579     }
7580 }
7581 #[cfg(feature = "Win32_System_Ole_Automation")]
7582 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IProgressItem {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7583     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7584         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7585     }
7586 }
7587 #[repr(C)]
7588 #[doc(hidden)]
7589 pub struct IProgressItem_abi(
7590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7594     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7595     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7596     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7597     #[cfg(not(feature = "Win32_Foundation"))] usize,
7598     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7599     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7600     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7601     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desc: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7602     #[cfg(not(feature = "Win32_Foundation"))] usize,
7603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, block: *mut u32) -> ::windows::runtime::HRESULT,
7604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, block: *mut u32) -> ::windows::runtime::HRESULT,
7605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, blocks: *mut u32) -> ::windows::runtime::HRESULT,
7606 );
7607 #[repr(transparent)]
7608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7609 pub struct IProgressItems(::windows::runtime::IUnknown);
7610 impl IProgressItems {
7611     #[cfg(feature = "Win32_System_Ole_Automation")]
_NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT>7612     pub unsafe fn _NewEnum(&self) -> ::windows::runtime::Result<super::super::System::Ole::Automation::IEnumVARIANT> {
7613         let mut result__: <super::super::System::Ole::Automation::IEnumVARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7614         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Ole::Automation::IEnumVARIANT>(result__)
7615     }
Item(&self, index: i32) -> ::windows::runtime::Result<IProgressItem>7616     pub unsafe fn Item(&self, index: i32) -> ::windows::runtime::Result<IProgressItem> {
7617         let mut result__: <IProgressItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7618         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IProgressItem>(result__)
7619     }
Count(&self) -> ::windows::runtime::Result<i32>7620     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
7621         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7622         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7623     }
ProgressItemFromBlock(&self, block: u32) -> ::windows::runtime::Result<IProgressItem>7624     pub unsafe fn ProgressItemFromBlock(&self, block: u32) -> ::windows::runtime::Result<IProgressItem> {
7625         let mut result__: <IProgressItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7626         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(block), &mut result__).from_abi::<IProgressItem>(result__)
7627     }
7628     #[cfg(feature = "Win32_Foundation")]
ProgressItemFromDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<IProgressItem>7629     pub unsafe fn ProgressItemFromDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, description: Param0) -> ::windows::runtime::Result<IProgressItem> {
7630         let mut result__: <IProgressItem as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7631         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), description.into_param().abi(), &mut result__).from_abi::<IProgressItem>(result__)
7632     }
EnumProgressItems(&self) -> ::windows::runtime::Result<IEnumProgressItems>7633     pub unsafe fn EnumProgressItems(&self) -> ::windows::runtime::Result<IEnumProgressItems> {
7634         let mut result__: <IEnumProgressItems as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7635         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumProgressItems>(result__)
7636     }
7637 }
7638 unsafe impl ::windows::runtime::Interface for IProgressItems {
7639     type Vtable = IProgressItems_abi;
7640     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904983, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
7641 }
7642 impl ::std::convert::From<IProgressItems> for ::windows::runtime::IUnknown {
from(value: IProgressItems) -> Self7643     fn from(value: IProgressItems) -> Self {
7644         unsafe { ::std::mem::transmute(value) }
7645     }
7646 }
7647 impl ::std::convert::From<&IProgressItems> for ::windows::runtime::IUnknown {
from(value: &IProgressItems) -> Self7648     fn from(value: &IProgressItems) -> Self {
7649         ::std::convert::From::from(::std::clone::Clone::clone(value))
7650     }
7651 }
7652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProgressItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7655     }
7656 }
7657 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProgressItems {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7658     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7659         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7660     }
7661 }
7662 #[cfg(feature = "Win32_System_Ole_Automation")]
7663 impl ::std::convert::From<IProgressItems> for super::super::System::Ole::Automation::IDispatch {
from(value: IProgressItems) -> Self7664     fn from(value: IProgressItems) -> Self {
7665         unsafe { ::std::mem::transmute(value) }
7666     }
7667 }
7668 #[cfg(feature = "Win32_System_Ole_Automation")]
7669 impl ::std::convert::From<&IProgressItems> for super::super::System::Ole::Automation::IDispatch {
from(value: &IProgressItems) -> Self7670     fn from(value: &IProgressItems) -> Self {
7671         ::std::convert::From::from(::std::clone::Clone::clone(value))
7672     }
7673 }
7674 #[cfg(feature = "Win32_System_Ole_Automation")]
7675 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IProgressItems {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7676     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7677         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7678     }
7679 }
7680 #[cfg(feature = "Win32_System_Ole_Automation")]
7681 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IProgressItems {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7682     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7683         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7684     }
7685 }
7686 #[repr(C)]
7687 #[doc(hidden)]
7688 pub struct IProgressItems_abi(
7689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7693     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7694     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7695     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7696     #[cfg(not(feature = "Win32_Foundation"))] usize,
7697     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7698     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7699     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7700     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7701     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, item: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut i32) -> ::windows::runtime::HRESULT,
7704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, block: u32, item: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7705     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, description: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, item: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7706     #[cfg(not(feature = "Win32_Foundation"))] usize,
7707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7708 );
7709 #[repr(transparent)]
7710 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7711 pub struct IRawCDImageCreator(::windows::runtime::IUnknown);
7712 impl IRawCDImageCreator {
7713     #[cfg(feature = "Win32_System_Com")]
CreateResultImage(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>7714     pub unsafe fn CreateResultImage(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
7715         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7716         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
7717     }
7718     #[cfg(feature = "Win32_System_Com")]
AddTrack<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, datatype: IMAPI_CD_SECTOR_TYPE, data: Param1) -> ::windows::runtime::Result<i32>7719     pub unsafe fn AddTrack<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, datatype: IMAPI_CD_SECTOR_TYPE, data: Param1) -> ::windows::runtime::Result<i32> {
7720         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7721         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(datatype), data.into_param().abi(), &mut result__).from_abi::<i32>(result__)
7722     }
7723     #[cfg(feature = "Win32_System_Com")]
AddSpecialPregap<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()>7724     pub unsafe fn AddSpecialPregap<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0) -> ::windows::runtime::Result<()> {
7725         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), data.into_param().abi()).ok()
7726     }
7727     #[cfg(feature = "Win32_System_Com")]
AddSubcodeRWGenerator<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, subcode: Param0) -> ::windows::runtime::Result<()>7728     pub unsafe fn AddSubcodeRWGenerator<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, subcode: Param0) -> ::windows::runtime::Result<()> {
7729         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), subcode.into_param().abi()).ok()
7730     }
SetResultingImageType(&self, value: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::Result<()>7731     pub unsafe fn SetResultingImageType(&self, value: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::Result<()> {
7732         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7733     }
ResultingImageType(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE>7734     pub unsafe fn ResultingImageType(&self) -> ::windows::runtime::Result<IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE> {
7735         let mut result__: <IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7736         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE>(result__)
7737     }
StartOfLeadout(&self) -> ::windows::runtime::Result<i32>7738     pub unsafe fn StartOfLeadout(&self) -> ::windows::runtime::Result<i32> {
7739         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7740         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7741     }
SetStartOfLeadoutLimit(&self, value: i32) -> ::windows::runtime::Result<()>7742     pub unsafe fn SetStartOfLeadoutLimit(&self, value: i32) -> ::windows::runtime::Result<()> {
7743         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7744     }
StartOfLeadoutLimit(&self) -> ::windows::runtime::Result<i32>7745     pub unsafe fn StartOfLeadoutLimit(&self) -> ::windows::runtime::Result<i32> {
7746         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7747         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7748     }
SetDisableGaplessAudio(&self, value: i16) -> ::windows::runtime::Result<()>7749     pub unsafe fn SetDisableGaplessAudio(&self, value: i16) -> ::windows::runtime::Result<()> {
7750         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7751     }
DisableGaplessAudio(&self) -> ::windows::runtime::Result<i16>7752     pub unsafe fn DisableGaplessAudio(&self) -> ::windows::runtime::Result<i16> {
7753         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7754         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7755     }
7756     #[cfg(feature = "Win32_Foundation")]
SetMediaCatalogNumber<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()>7757     pub unsafe fn SetMediaCatalogNumber<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7758         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
7759     }
7760     #[cfg(feature = "Win32_Foundation")]
MediaCatalogNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7761     pub unsafe fn MediaCatalogNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7762         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7763         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7764     }
SetStartingTrackNumber(&self, value: i32) -> ::windows::runtime::Result<()>7765     pub unsafe fn SetStartingTrackNumber(&self, value: i32) -> ::windows::runtime::Result<()> {
7766         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7767     }
StartingTrackNumber(&self) -> ::windows::runtime::Result<i32>7768     pub unsafe fn StartingTrackNumber(&self) -> ::windows::runtime::Result<i32> {
7769         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7770         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7771     }
TrackInfo(&self, trackindex: i32) -> ::windows::runtime::Result<IRawCDImageTrackInfo>7772     pub unsafe fn TrackInfo(&self, trackindex: i32) -> ::windows::runtime::Result<IRawCDImageTrackInfo> {
7773         let mut result__: <IRawCDImageTrackInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7774         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(trackindex), &mut result__).from_abi::<IRawCDImageTrackInfo>(result__)
7775     }
NumberOfExistingTracks(&self) -> ::windows::runtime::Result<i32>7776     pub unsafe fn NumberOfExistingTracks(&self) -> ::windows::runtime::Result<i32> {
7777         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7778         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7779     }
LastUsedUserSectorInImage(&self) -> ::windows::runtime::Result<i32>7780     pub unsafe fn LastUsedUserSectorInImage(&self) -> ::windows::runtime::Result<i32> {
7781         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7782         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7783     }
7784     #[cfg(feature = "Win32_System_Com")]
ExpectedTableOfContents(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>7785     pub unsafe fn ExpectedTableOfContents(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7786         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7787         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7788     }
7789 }
7790 unsafe impl ::windows::runtime::Interface for IRawCDImageCreator {
7791     type Vtable = IRawCDImageCreator_abi;
7792     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(630732112, 40293, 18894, [179, 53, 64, 99, 13, 144, 18, 39]);
7793 }
7794 impl ::std::convert::From<IRawCDImageCreator> for ::windows::runtime::IUnknown {
from(value: IRawCDImageCreator) -> Self7795     fn from(value: IRawCDImageCreator) -> Self {
7796         unsafe { ::std::mem::transmute(value) }
7797     }
7798 }
7799 impl ::std::convert::From<&IRawCDImageCreator> for ::windows::runtime::IUnknown {
from(value: &IRawCDImageCreator) -> Self7800     fn from(value: &IRawCDImageCreator) -> Self {
7801         ::std::convert::From::from(::std::clone::Clone::clone(value))
7802     }
7803 }
7804 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawCDImageCreator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7805     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7806         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7807     }
7808 }
7809 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawCDImageCreator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7810     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7811         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7812     }
7813 }
7814 #[cfg(feature = "Win32_System_Ole_Automation")]
7815 impl ::std::convert::From<IRawCDImageCreator> for super::super::System::Ole::Automation::IDispatch {
from(value: IRawCDImageCreator) -> Self7816     fn from(value: IRawCDImageCreator) -> Self {
7817         unsafe { ::std::mem::transmute(value) }
7818     }
7819 }
7820 #[cfg(feature = "Win32_System_Ole_Automation")]
7821 impl ::std::convert::From<&IRawCDImageCreator> for super::super::System::Ole::Automation::IDispatch {
from(value: &IRawCDImageCreator) -> Self7822     fn from(value: &IRawCDImageCreator) -> Self {
7823         ::std::convert::From::from(::std::clone::Clone::clone(value))
7824     }
7825 }
7826 #[cfg(feature = "Win32_System_Ole_Automation")]
7827 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IRawCDImageCreator {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7828     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7829         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7830     }
7831 }
7832 #[cfg(feature = "Win32_System_Ole_Automation")]
7833 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IRawCDImageCreator {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7834     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7835         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7836     }
7837 }
7838 #[repr(C)]
7839 #[doc(hidden)]
7840 pub struct IRawCDImageCreator_abi(
7841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7845     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7846     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7847     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7848     #[cfg(not(feature = "Win32_Foundation"))] usize,
7849     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7850     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7851     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7852     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resultstream: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7853     #[cfg(not(feature = "Win32_System_Com"))] usize,
7854     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, datatype: IMAPI_CD_SECTOR_TYPE, data: ::windows::runtime::RawPtr, trackindex: *mut i32) -> ::windows::runtime::HRESULT,
7855     #[cfg(not(feature = "Win32_System_Com"))] usize,
7856     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7857     #[cfg(not(feature = "Win32_System_Com"))] usize,
7858     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, subcode: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7859     #[cfg(not(feature = "Win32_System_Com"))] usize,
7860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::HRESULT,
7861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE) -> ::windows::runtime::HRESULT,
7862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
7864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
7866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
7867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7868     #[cfg(not(feature = "Win32_Foundation"))] usize,
7869     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
7870     #[cfg(not(feature = "Win32_Foundation"))] usize,
7871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
7872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, trackindex: i32, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7876     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
7877     #[cfg(not(feature = "Win32_System_Com"))] usize,
7878 );
7879 #[repr(transparent)]
7880 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7881 pub struct IRawCDImageTrackInfo(::windows::runtime::IUnknown);
7882 impl IRawCDImageTrackInfo {
StartingLba(&self) -> ::windows::runtime::Result<i32>7883     pub unsafe fn StartingLba(&self) -> ::windows::runtime::Result<i32> {
7884         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7885         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7886     }
SectorCount(&self) -> ::windows::runtime::Result<i32>7887     pub unsafe fn SectorCount(&self) -> ::windows::runtime::Result<i32> {
7888         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7889         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7890     }
TrackNumber(&self) -> ::windows::runtime::Result<i32>7891     pub unsafe fn TrackNumber(&self) -> ::windows::runtime::Result<i32> {
7892         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7893         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
7894     }
SectorType(&self) -> ::windows::runtime::Result<IMAPI_CD_SECTOR_TYPE>7895     pub unsafe fn SectorType(&self) -> ::windows::runtime::Result<IMAPI_CD_SECTOR_TYPE> {
7896         let mut result__: <IMAPI_CD_SECTOR_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7897         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_CD_SECTOR_TYPE>(result__)
7898     }
7899     #[cfg(feature = "Win32_Foundation")]
ISRC(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>7900     pub unsafe fn ISRC(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
7901         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7902         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
7903     }
7904     #[cfg(feature = "Win32_Foundation")]
SetISRC<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()>7905     pub unsafe fn SetISRC<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7906         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
7907     }
DigitalAudioCopySetting(&self) -> ::windows::runtime::Result<IMAPI_CD_TRACK_DIGITAL_COPY_SETTING>7908     pub unsafe fn DigitalAudioCopySetting(&self) -> ::windows::runtime::Result<IMAPI_CD_TRACK_DIGITAL_COPY_SETTING> {
7909         let mut result__: <IMAPI_CD_TRACK_DIGITAL_COPY_SETTING as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7910         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_CD_TRACK_DIGITAL_COPY_SETTING>(result__)
7911     }
SetDigitalAudioCopySetting(&self, value: IMAPI_CD_TRACK_DIGITAL_COPY_SETTING) -> ::windows::runtime::Result<()>7912     pub unsafe fn SetDigitalAudioCopySetting(&self, value: IMAPI_CD_TRACK_DIGITAL_COPY_SETTING) -> ::windows::runtime::Result<()> {
7913         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7914     }
AudioHasPreemphasis(&self) -> ::windows::runtime::Result<i16>7915     pub unsafe fn AudioHasPreemphasis(&self) -> ::windows::runtime::Result<i16> {
7916         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7917         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
7918     }
SetAudioHasPreemphasis(&self, value: i16) -> ::windows::runtime::Result<()>7919     pub unsafe fn SetAudioHasPreemphasis(&self, value: i16) -> ::windows::runtime::Result<()> {
7920         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
7921     }
7922     #[cfg(feature = "Win32_System_Com")]
TrackIndexes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY>7923     pub unsafe fn TrackIndexes(&self) -> ::windows::runtime::Result<*mut super::super::System::Com::SAFEARRAY> {
7924         let mut result__: <*mut super::super::System::Com::SAFEARRAY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7925         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<*mut super::super::System::Com::SAFEARRAY>(result__)
7926     }
AddTrackIndex(&self, lbaoffset: i32) -> ::windows::runtime::Result<()>7927     pub unsafe fn AddTrackIndex(&self, lbaoffset: i32) -> ::windows::runtime::Result<()> {
7928         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbaoffset)).ok()
7929     }
ClearTrackIndex(&self, lbaoffset: i32) -> ::windows::runtime::Result<()>7930     pub unsafe fn ClearTrackIndex(&self, lbaoffset: i32) -> ::windows::runtime::Result<()> {
7931         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(lbaoffset)).ok()
7932     }
7933 }
7934 unsafe impl ::windows::runtime::Interface for IRawCDImageTrackInfo {
7935     type Vtable = IRawCDImageTrackInfo_abi;
7936     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(630732113, 40293, 18894, [179, 53, 64, 99, 13, 144, 18, 39]);
7937 }
7938 impl ::std::convert::From<IRawCDImageTrackInfo> for ::windows::runtime::IUnknown {
from(value: IRawCDImageTrackInfo) -> Self7939     fn from(value: IRawCDImageTrackInfo) -> Self {
7940         unsafe { ::std::mem::transmute(value) }
7941     }
7942 }
7943 impl ::std::convert::From<&IRawCDImageTrackInfo> for ::windows::runtime::IUnknown {
from(value: &IRawCDImageTrackInfo) -> Self7944     fn from(value: &IRawCDImageTrackInfo) -> Self {
7945         ::std::convert::From::from(::std::clone::Clone::clone(value))
7946     }
7947 }
7948 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRawCDImageTrackInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7949     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7950         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7951     }
7952 }
7953 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRawCDImageTrackInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7954     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7955         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7956     }
7957 }
7958 #[cfg(feature = "Win32_System_Ole_Automation")]
7959 impl ::std::convert::From<IRawCDImageTrackInfo> for super::super::System::Ole::Automation::IDispatch {
from(value: IRawCDImageTrackInfo) -> Self7960     fn from(value: IRawCDImageTrackInfo) -> Self {
7961         unsafe { ::std::mem::transmute(value) }
7962     }
7963 }
7964 #[cfg(feature = "Win32_System_Ole_Automation")]
7965 impl ::std::convert::From<&IRawCDImageTrackInfo> for super::super::System::Ole::Automation::IDispatch {
from(value: &IRawCDImageTrackInfo) -> Self7966     fn from(value: &IRawCDImageTrackInfo) -> Self {
7967         ::std::convert::From::from(::std::clone::Clone::clone(value))
7968     }
7969 }
7970 #[cfg(feature = "Win32_System_Ole_Automation")]
7971 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IRawCDImageTrackInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7972     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7973         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
7974     }
7975 }
7976 #[cfg(feature = "Win32_System_Ole_Automation")]
7977 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IRawCDImageTrackInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>7978     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
7979         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
7980     }
7981 }
7982 #[repr(C)]
7983 #[doc(hidden)]
7984 pub struct IRawCDImageTrackInfo_abi(
7985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
7989     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7990     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
7991     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
7992     #[cfg(not(feature = "Win32_Foundation"))] usize,
7993     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
7994     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
7995     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
7996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
7999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_CD_SECTOR_TYPE) -> ::windows::runtime::HRESULT,
8000     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8001     #[cfg(not(feature = "Win32_Foundation"))] usize,
8002     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8003     #[cfg(not(feature = "Win32_Foundation"))] usize,
8004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_CD_TRACK_DIGITAL_COPY_SETTING) -> ::windows::runtime::HRESULT,
8005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: IMAPI_CD_TRACK_DIGITAL_COPY_SETTING) -> ::windows::runtime::HRESULT,
8006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
8007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
8008     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut *mut super::super::System::Com::SAFEARRAY) -> ::windows::runtime::HRESULT,
8009     #[cfg(not(feature = "Win32_System_Com"))] usize,
8010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbaoffset: i32) -> ::windows::runtime::HRESULT,
8011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lbaoffset: i32) -> ::windows::runtime::HRESULT,
8012 );
8013 #[repr(transparent)]
8014 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8015 pub struct IRedbookDiscMaster(::windows::runtime::IUnknown);
8016 impl IRedbookDiscMaster {
GetTotalAudioTracks(&self) -> ::windows::runtime::Result<i32>8017     pub unsafe fn GetTotalAudioTracks(&self) -> ::windows::runtime::Result<i32> {
8018         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8019         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8020     }
GetTotalAudioBlocks(&self) -> ::windows::runtime::Result<i32>8021     pub unsafe fn GetTotalAudioBlocks(&self) -> ::windows::runtime::Result<i32> {
8022         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8023         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8024     }
GetUsedAudioBlocks(&self) -> ::windows::runtime::Result<i32>8025     pub unsafe fn GetUsedAudioBlocks(&self) -> ::windows::runtime::Result<i32> {
8026         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8027         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8028     }
GetAvailableAudioTrackBlocks(&self) -> ::windows::runtime::Result<i32>8029     pub unsafe fn GetAvailableAudioTrackBlocks(&self) -> ::windows::runtime::Result<i32> {
8030         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8031         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8032     }
GetAudioBlockSize(&self) -> ::windows::runtime::Result<i32>8033     pub unsafe fn GetAudioBlockSize(&self) -> ::windows::runtime::Result<i32> {
8034         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8035         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8036     }
CreateAudioTrack(&self, nblocks: i32) -> ::windows::runtime::Result<()>8037     pub unsafe fn CreateAudioTrack(&self, nblocks: i32) -> ::windows::runtime::Result<()> {
8038         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(nblocks)).ok()
8039     }
AddAudioTrackBlocks(&self, pby: *const u8, cb: i32) -> ::windows::runtime::Result<()>8040     pub unsafe fn AddAudioTrackBlocks(&self, pby: *const u8, cb: i32) -> ::windows::runtime::Result<()> {
8041         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pby), ::std::mem::transmute(cb)).ok()
8042     }
CloseAudioTrack(&self) -> ::windows::runtime::Result<()>8043     pub unsafe fn CloseAudioTrack(&self) -> ::windows::runtime::Result<()> {
8044         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
8045     }
8046 }
8047 unsafe impl ::windows::runtime::Interface for IRedbookDiscMaster {
8048     type Vtable = IRedbookDiscMaster_abi;
8049     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3820765901, 20060, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
8050 }
8051 impl ::std::convert::From<IRedbookDiscMaster> for ::windows::runtime::IUnknown {
from(value: IRedbookDiscMaster) -> Self8052     fn from(value: IRedbookDiscMaster) -> Self {
8053         unsafe { ::std::mem::transmute(value) }
8054     }
8055 }
8056 impl ::std::convert::From<&IRedbookDiscMaster> for ::windows::runtime::IUnknown {
from(value: &IRedbookDiscMaster) -> Self8057     fn from(value: &IRedbookDiscMaster) -> Self {
8058         ::std::convert::From::from(::std::clone::Clone::clone(value))
8059     }
8060 }
8061 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRedbookDiscMaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8062     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8063         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8064     }
8065 }
8066 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRedbookDiscMaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8067     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8068         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8069     }
8070 }
8071 #[repr(C)]
8072 #[doc(hidden)]
8073 pub struct IRedbookDiscMaster_abi(
8074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pntracks: *mut i32) -> ::windows::runtime::HRESULT,
8078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnblocks: *mut i32) -> ::windows::runtime::HRESULT,
8079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnblocks: *mut i32) -> ::windows::runtime::HRESULT,
8080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnblocks: *mut i32) -> ::windows::runtime::HRESULT,
8081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnblockbytes: *mut i32) -> ::windows::runtime::HRESULT,
8082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nblocks: i32) -> ::windows::runtime::HRESULT,
8083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pby: *const u8, cb: i32) -> ::windows::runtime::HRESULT,
8084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8085 );
8086 #[repr(transparent)]
8087 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8088 pub struct IStreamConcatenate(::windows::runtime::IUnknown);
8089 impl IStreamConcatenate {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>8090     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
8091         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
8092     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>8093     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
8094         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8095         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
8096     }
8097     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>8098     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
8099         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8100         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
8101     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>8102     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
8103         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
8104     }
8105     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>8106     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
8107         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
8108     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>8109     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
8110         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
8111     }
Revert(&self) -> ::windows::runtime::Result<()>8112     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
8113         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
8114     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>8115     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
8116         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
8117     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>8118     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
8119         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
8120     }
8121     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>8122     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
8123         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
8124     }
8125     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>8126     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
8127         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8128         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
8129     }
8130     #[cfg(feature = "Win32_System_Com")]
Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, stream1: Param0, stream2: Param1) -> ::windows::runtime::Result<()>8131     pub unsafe fn Initialize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, stream1: Param0, stream2: Param1) -> ::windows::runtime::Result<()> {
8132         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), stream1.into_param().abi(), stream2.into_param().abi()).ok()
8133     }
8134     #[cfg(feature = "Win32_System_Com")]
Initialize2(&self, streams: *const ::std::option::Option<super::super::System::Com::IStream>, streamcount: u32) -> ::windows::runtime::Result<()>8135     pub unsafe fn Initialize2(&self, streams: *const ::std::option::Option<super::super::System::Com::IStream>, streamcount: u32) -> ::windows::runtime::Result<()> {
8136         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(streams), ::std::mem::transmute(streamcount)).ok()
8137     }
8138     #[cfg(feature = "Win32_System_Com")]
Append<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, stream: Param0) -> ::windows::runtime::Result<()>8139     pub unsafe fn Append<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, stream: Param0) -> ::windows::runtime::Result<()> {
8140         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), stream.into_param().abi()).ok()
8141     }
8142     #[cfg(feature = "Win32_System_Com")]
Append2(&self, streams: *const ::std::option::Option<super::super::System::Com::IStream>, streamcount: u32) -> ::windows::runtime::Result<()>8143     pub unsafe fn Append2(&self, streams: *const ::std::option::Option<super::super::System::Com::IStream>, streamcount: u32) -> ::windows::runtime::Result<()> {
8144         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(streams), ::std::mem::transmute(streamcount)).ok()
8145     }
8146 }
8147 unsafe impl ::windows::runtime::Interface for IStreamConcatenate {
8148     type Vtable = IStreamConcatenate_abi;
8149     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801542, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8150 }
8151 impl ::std::convert::From<IStreamConcatenate> for ::windows::runtime::IUnknown {
from(value: IStreamConcatenate) -> Self8152     fn from(value: IStreamConcatenate) -> Self {
8153         unsafe { ::std::mem::transmute(value) }
8154     }
8155 }
8156 impl ::std::convert::From<&IStreamConcatenate> for ::windows::runtime::IUnknown {
from(value: &IStreamConcatenate) -> Self8157     fn from(value: &IStreamConcatenate) -> Self {
8158         ::std::convert::From::from(::std::clone::Clone::clone(value))
8159     }
8160 }
8161 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStreamConcatenate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8162     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8163         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8164     }
8165 }
8166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStreamConcatenate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8168         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8169     }
8170 }
8171 #[cfg(feature = "Win32_System_Com")]
8172 impl ::std::convert::From<IStreamConcatenate> for super::super::System::Com::IStream {
from(value: IStreamConcatenate) -> Self8173     fn from(value: IStreamConcatenate) -> Self {
8174         unsafe { ::std::mem::transmute(value) }
8175     }
8176 }
8177 #[cfg(feature = "Win32_System_Com")]
8178 impl ::std::convert::From<&IStreamConcatenate> for super::super::System::Com::IStream {
from(value: &IStreamConcatenate) -> Self8179     fn from(value: &IStreamConcatenate) -> Self {
8180         ::std::convert::From::from(::std::clone::Clone::clone(value))
8181     }
8182 }
8183 #[cfg(feature = "Win32_System_Com")]
8184 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for IStreamConcatenate {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>8185     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
8186         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
8187     }
8188 }
8189 #[cfg(feature = "Win32_System_Com")]
8190 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &IStreamConcatenate {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>8191     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
8192         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
8193     }
8194 }
8195 #[cfg(feature = "Win32_System_Com")]
8196 impl ::std::convert::From<IStreamConcatenate> for super::super::System::Com::ISequentialStream {
from(value: IStreamConcatenate) -> Self8197     fn from(value: IStreamConcatenate) -> Self {
8198         unsafe { ::std::mem::transmute(value) }
8199     }
8200 }
8201 #[cfg(feature = "Win32_System_Com")]
8202 impl ::std::convert::From<&IStreamConcatenate> for super::super::System::Com::ISequentialStream {
from(value: &IStreamConcatenate) -> Self8203     fn from(value: &IStreamConcatenate) -> Self {
8204         ::std::convert::From::from(::std::clone::Clone::clone(value))
8205     }
8206 }
8207 #[cfg(feature = "Win32_System_Com")]
8208 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for IStreamConcatenate {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>8209     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
8210         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
8211     }
8212 }
8213 #[cfg(feature = "Win32_System_Com")]
8214 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &IStreamConcatenate {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>8215     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
8216         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
8217     }
8218 }
8219 #[repr(C)]
8220 #[doc(hidden)]
8221 pub struct IStreamConcatenate_abi(
8222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
8226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
8227     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
8228     #[cfg(not(feature = "Win32_System_Com"))] usize,
8229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
8230     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
8231     #[cfg(not(feature = "Win32_System_Com"))] usize,
8232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
8233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
8235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
8236     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
8237     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
8238     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8239     #[cfg(not(feature = "Win32_System_Com"))] usize,
8240     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stream1: ::windows::runtime::RawPtr, stream2: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8241     #[cfg(not(feature = "Win32_System_Com"))] usize,
8242     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streams: *const ::windows::runtime::RawPtr, streamcount: u32) -> ::windows::runtime::HRESULT,
8243     #[cfg(not(feature = "Win32_System_Com"))] usize,
8244     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8245     #[cfg(not(feature = "Win32_System_Com"))] usize,
8246     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streams: *const ::windows::runtime::RawPtr, streamcount: u32) -> ::windows::runtime::HRESULT,
8247     #[cfg(not(feature = "Win32_System_Com"))] usize,
8248 );
8249 #[repr(transparent)]
8250 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8251 pub struct IStreamInterleave(::windows::runtime::IUnknown);
8252 impl IStreamInterleave {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>8253     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
8254         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
8255     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>8256     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
8257         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8258         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
8259     }
8260     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>8261     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
8262         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8263         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
8264     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>8265     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
8266         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
8267     }
8268     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>8269     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
8270         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
8271     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>8272     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
8273         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
8274     }
Revert(&self) -> ::windows::runtime::Result<()>8275     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
8276         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
8277     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>8278     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
8279         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
8280     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>8281     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
8282         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
8283     }
8284     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>8285     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
8286         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
8287     }
8288     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>8289     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
8290         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8291         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
8292     }
8293     #[cfg(feature = "Win32_System_Com")]
Initialize(&self, streams: *const ::std::option::Option<super::super::System::Com::IStream>, interleavesizes: *const u32, streamcount: u32) -> ::windows::runtime::Result<()>8294     pub unsafe fn Initialize(&self, streams: *const ::std::option::Option<super::super::System::Com::IStream>, interleavesizes: *const u32, streamcount: u32) -> ::windows::runtime::Result<()> {
8295         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(streams), ::std::mem::transmute(interleavesizes), ::std::mem::transmute(streamcount)).ok()
8296     }
8297 }
8298 unsafe impl ::windows::runtime::Interface for IStreamInterleave {
8299     type Vtable = IStreamInterleave_abi;
8300     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801543, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8301 }
8302 impl ::std::convert::From<IStreamInterleave> for ::windows::runtime::IUnknown {
from(value: IStreamInterleave) -> Self8303     fn from(value: IStreamInterleave) -> Self {
8304         unsafe { ::std::mem::transmute(value) }
8305     }
8306 }
8307 impl ::std::convert::From<&IStreamInterleave> for ::windows::runtime::IUnknown {
from(value: &IStreamInterleave) -> Self8308     fn from(value: &IStreamInterleave) -> Self {
8309         ::std::convert::From::from(::std::clone::Clone::clone(value))
8310     }
8311 }
8312 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStreamInterleave {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8313     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8314         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8315     }
8316 }
8317 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStreamInterleave {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8318     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8319         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8320     }
8321 }
8322 #[cfg(feature = "Win32_System_Com")]
8323 impl ::std::convert::From<IStreamInterleave> for super::super::System::Com::IStream {
from(value: IStreamInterleave) -> Self8324     fn from(value: IStreamInterleave) -> Self {
8325         unsafe { ::std::mem::transmute(value) }
8326     }
8327 }
8328 #[cfg(feature = "Win32_System_Com")]
8329 impl ::std::convert::From<&IStreamInterleave> for super::super::System::Com::IStream {
from(value: &IStreamInterleave) -> Self8330     fn from(value: &IStreamInterleave) -> Self {
8331         ::std::convert::From::from(::std::clone::Clone::clone(value))
8332     }
8333 }
8334 #[cfg(feature = "Win32_System_Com")]
8335 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for IStreamInterleave {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>8336     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
8337         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
8338     }
8339 }
8340 #[cfg(feature = "Win32_System_Com")]
8341 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &IStreamInterleave {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>8342     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
8343         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
8344     }
8345 }
8346 #[cfg(feature = "Win32_System_Com")]
8347 impl ::std::convert::From<IStreamInterleave> for super::super::System::Com::ISequentialStream {
from(value: IStreamInterleave) -> Self8348     fn from(value: IStreamInterleave) -> Self {
8349         unsafe { ::std::mem::transmute(value) }
8350     }
8351 }
8352 #[cfg(feature = "Win32_System_Com")]
8353 impl ::std::convert::From<&IStreamInterleave> for super::super::System::Com::ISequentialStream {
from(value: &IStreamInterleave) -> Self8354     fn from(value: &IStreamInterleave) -> Self {
8355         ::std::convert::From::from(::std::clone::Clone::clone(value))
8356     }
8357 }
8358 #[cfg(feature = "Win32_System_Com")]
8359 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for IStreamInterleave {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>8360     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
8361         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
8362     }
8363 }
8364 #[cfg(feature = "Win32_System_Com")]
8365 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &IStreamInterleave {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>8366     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
8367         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
8368     }
8369 }
8370 #[repr(C)]
8371 #[doc(hidden)]
8372 pub struct IStreamInterleave_abi(
8373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
8377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
8378     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
8379     #[cfg(not(feature = "Win32_System_Com"))] usize,
8380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
8381     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
8382     #[cfg(not(feature = "Win32_System_Com"))] usize,
8383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
8384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
8386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
8387     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
8388     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
8389     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8390     #[cfg(not(feature = "Win32_System_Com"))] usize,
8391     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, streams: *const ::windows::runtime::RawPtr, interleavesizes: *const u32, streamcount: u32) -> ::windows::runtime::HRESULT,
8392     #[cfg(not(feature = "Win32_System_Com"))] usize,
8393 );
8394 #[repr(transparent)]
8395 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8396 pub struct IStreamPseudoRandomBased(::windows::runtime::IUnknown);
8397 impl IStreamPseudoRandomBased {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>8398     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
8399         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
8400     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>8401     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
8402         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8403         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
8404     }
8405     #[cfg(feature = "Win32_System_Com")]
Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64>8406     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK) -> ::windows::runtime::Result<u64> {
8407         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8408         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
8409     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>8410     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
8411         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
8412     }
8413     #[cfg(feature = "Win32_System_Com")]
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>8414     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
8415         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
8416     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>8417     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
8418         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
8419     }
Revert(&self) -> ::windows::runtime::Result<()>8420     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
8421         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
8422     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>8423     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
8424         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
8425     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>8426     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
8427         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
8428     }
8429     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>8430     pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
8431         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
8432     }
8433     #[cfg(feature = "Win32_System_Com")]
Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream>8434     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<super::super::System::Com::IStream> {
8435         let mut result__: <super::super::System::Com::IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8436         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::System::Com::IStream>(result__)
8437     }
SetSeed(&self, value: u32) -> ::windows::runtime::Result<()>8438     pub unsafe fn SetSeed(&self, value: u32) -> ::windows::runtime::Result<()> {
8439         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
8440     }
Seed(&self) -> ::windows::runtime::Result<u32>8441     pub unsafe fn Seed(&self) -> ::windows::runtime::Result<u32> {
8442         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8443         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8444     }
SetExtendedSeed(&self, values: *const u32, ecount: u32) -> ::windows::runtime::Result<()>8445     pub unsafe fn SetExtendedSeed(&self, values: *const u32, ecount: u32) -> ::windows::runtime::Result<()> {
8446         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(values), ::std::mem::transmute(ecount)).ok()
8447     }
ExtendedSeed(&self, values: *mut *mut u32, ecount: *mut u32) -> ::windows::runtime::Result<()>8448     pub unsafe fn ExtendedSeed(&self, values: *mut *mut u32, ecount: *mut u32) -> ::windows::runtime::Result<()> {
8449         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(values), ::std::mem::transmute(ecount)).ok()
8450     }
8451 }
8452 unsafe impl ::windows::runtime::Interface for IStreamPseudoRandomBased {
8453     type Vtable = IStreamPseudoRandomBased_abi;
8454     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801541, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8455 }
8456 impl ::std::convert::From<IStreamPseudoRandomBased> for ::windows::runtime::IUnknown {
from(value: IStreamPseudoRandomBased) -> Self8457     fn from(value: IStreamPseudoRandomBased) -> Self {
8458         unsafe { ::std::mem::transmute(value) }
8459     }
8460 }
8461 impl ::std::convert::From<&IStreamPseudoRandomBased> for ::windows::runtime::IUnknown {
from(value: &IStreamPseudoRandomBased) -> Self8462     fn from(value: &IStreamPseudoRandomBased) -> Self {
8463         ::std::convert::From::from(::std::clone::Clone::clone(value))
8464     }
8465 }
8466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStreamPseudoRandomBased {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8468         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8469     }
8470 }
8471 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStreamPseudoRandomBased {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8472     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8473         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8474     }
8475 }
8476 #[cfg(feature = "Win32_System_Com")]
8477 impl ::std::convert::From<IStreamPseudoRandomBased> for super::super::System::Com::IStream {
from(value: IStreamPseudoRandomBased) -> Self8478     fn from(value: IStreamPseudoRandomBased) -> Self {
8479         unsafe { ::std::mem::transmute(value) }
8480     }
8481 }
8482 #[cfg(feature = "Win32_System_Com")]
8483 impl ::std::convert::From<&IStreamPseudoRandomBased> for super::super::System::Com::IStream {
from(value: &IStreamPseudoRandomBased) -> Self8484     fn from(value: &IStreamPseudoRandomBased) -> Self {
8485         ::std::convert::From::from(::std::clone::Clone::clone(value))
8486     }
8487 }
8488 #[cfg(feature = "Win32_System_Com")]
8489 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for IStreamPseudoRandomBased {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>8490     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
8491         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(self))
8492     }
8493 }
8494 #[cfg(feature = "Win32_System_Com")]
8495 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream> for &IStreamPseudoRandomBased {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream>8496     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::IStream> {
8497         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::IStream>::into(::std::clone::Clone::clone(self)))
8498     }
8499 }
8500 #[cfg(feature = "Win32_System_Com")]
8501 impl ::std::convert::From<IStreamPseudoRandomBased> for super::super::System::Com::ISequentialStream {
from(value: IStreamPseudoRandomBased) -> Self8502     fn from(value: IStreamPseudoRandomBased) -> Self {
8503         unsafe { ::std::mem::transmute(value) }
8504     }
8505 }
8506 #[cfg(feature = "Win32_System_Com")]
8507 impl ::std::convert::From<&IStreamPseudoRandomBased> for super::super::System::Com::ISequentialStream {
from(value: &IStreamPseudoRandomBased) -> Self8508     fn from(value: &IStreamPseudoRandomBased) -> Self {
8509         ::std::convert::From::from(::std::clone::Clone::clone(value))
8510     }
8511 }
8512 #[cfg(feature = "Win32_System_Com")]
8513 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for IStreamPseudoRandomBased {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>8514     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
8515         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(self))
8516     }
8517 }
8518 #[cfg(feature = "Win32_System_Com")]
8519 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Com::ISequentialStream> for &IStreamPseudoRandomBased {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream>8520     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Com::ISequentialStream> {
8521         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Com::ISequentialStream>::into(::std::clone::Clone::clone(self)))
8522     }
8523 }
8524 #[repr(C)]
8525 #[doc(hidden)]
8526 pub struct IStreamPseudoRandomBased_abi(
8527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
8531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
8532     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
8533     #[cfg(not(feature = "Win32_System_Com"))] usize,
8534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
8535     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
8536     #[cfg(not(feature = "Win32_System_Com"))] usize,
8537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
8538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
8540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
8541     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
8542     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))] usize,
8543     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8544     #[cfg(not(feature = "Win32_System_Com"))] usize,
8545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
8546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32) -> ::windows::runtime::HRESULT,
8547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, values: *const u32, ecount: u32) -> ::windows::runtime::HRESULT,
8548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, values: *mut *mut u32, ecount: *mut u32) -> ::windows::runtime::HRESULT,
8549 );
8550 #[repr(transparent)]
8551 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8552 pub struct IWriteEngine2(::windows::runtime::IUnknown);
8553 impl IWriteEngine2 {
8554     #[cfg(feature = "Win32_System_Com")]
WriteSection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0, startingblockaddress: i32, numberofblocks: i32) -> ::windows::runtime::Result<()>8555     pub unsafe fn WriteSection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IStream>>(&self, data: Param0, startingblockaddress: i32, numberofblocks: i32) -> ::windows::runtime::Result<()> {
8556         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), data.into_param().abi(), ::std::mem::transmute(startingblockaddress), ::std::mem::transmute(numberofblocks)).ok()
8557     }
CancelWrite(&self) -> ::windows::runtime::Result<()>8558     pub unsafe fn CancelWrite(&self) -> ::windows::runtime::Result<()> {
8559         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
8560     }
SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2Ex>>(&self, value: Param0) -> ::windows::runtime::Result<()>8561     pub unsafe fn SetRecorder<'a, Param0: ::windows::runtime::IntoParam<'a, IDiscRecorder2Ex>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8562         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), value.into_param().abi()).ok()
8563     }
Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2Ex>8564     pub unsafe fn Recorder(&self) -> ::windows::runtime::Result<IDiscRecorder2Ex> {
8565         let mut result__: <IDiscRecorder2Ex as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8566         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IDiscRecorder2Ex>(result__)
8567     }
SetUseStreamingWrite12(&self, value: i16) -> ::windows::runtime::Result<()>8568     pub unsafe fn SetUseStreamingWrite12(&self, value: i16) -> ::windows::runtime::Result<()> {
8569         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
8570     }
UseStreamingWrite12(&self) -> ::windows::runtime::Result<i16>8571     pub unsafe fn UseStreamingWrite12(&self) -> ::windows::runtime::Result<i16> {
8572         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8573         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
8574     }
SetStartingSectorsPerSecond(&self, value: i32) -> ::windows::runtime::Result<()>8575     pub unsafe fn SetStartingSectorsPerSecond(&self, value: i32) -> ::windows::runtime::Result<()> {
8576         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
8577     }
StartingSectorsPerSecond(&self) -> ::windows::runtime::Result<i32>8578     pub unsafe fn StartingSectorsPerSecond(&self) -> ::windows::runtime::Result<i32> {
8579         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8580         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8581     }
SetEndingSectorsPerSecond(&self, value: i32) -> ::windows::runtime::Result<()>8582     pub unsafe fn SetEndingSectorsPerSecond(&self, value: i32) -> ::windows::runtime::Result<()> {
8583         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
8584     }
EndingSectorsPerSecond(&self) -> ::windows::runtime::Result<i32>8585     pub unsafe fn EndingSectorsPerSecond(&self) -> ::windows::runtime::Result<i32> {
8586         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8587         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8588     }
SetBytesPerSector(&self, value: i32) -> ::windows::runtime::Result<()>8589     pub unsafe fn SetBytesPerSector(&self, value: i32) -> ::windows::runtime::Result<()> {
8590         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
8591     }
BytesPerSector(&self) -> ::windows::runtime::Result<i32>8592     pub unsafe fn BytesPerSector(&self) -> ::windows::runtime::Result<i32> {
8593         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8594         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8595     }
WriteInProgress(&self) -> ::windows::runtime::Result<i16>8596     pub unsafe fn WriteInProgress(&self) -> ::windows::runtime::Result<i16> {
8597         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8598         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
8599     }
8600 }
8601 unsafe impl ::windows::runtime::Interface for IWriteEngine2 {
8602     type Vtable = IWriteEngine2_abi;
8603     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801525, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8604 }
8605 impl ::std::convert::From<IWriteEngine2> for ::windows::runtime::IUnknown {
from(value: IWriteEngine2) -> Self8606     fn from(value: IWriteEngine2) -> Self {
8607         unsafe { ::std::mem::transmute(value) }
8608     }
8609 }
8610 impl ::std::convert::From<&IWriteEngine2> for ::windows::runtime::IUnknown {
from(value: &IWriteEngine2) -> Self8611     fn from(value: &IWriteEngine2) -> Self {
8612         ::std::convert::From::from(::std::clone::Clone::clone(value))
8613     }
8614 }
8615 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWriteEngine2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8616     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8617         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8618     }
8619 }
8620 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWriteEngine2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8621     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8622         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8623     }
8624 }
8625 #[cfg(feature = "Win32_System_Ole_Automation")]
8626 impl ::std::convert::From<IWriteEngine2> for super::super::System::Ole::Automation::IDispatch {
from(value: IWriteEngine2) -> Self8627     fn from(value: IWriteEngine2) -> Self {
8628         unsafe { ::std::mem::transmute(value) }
8629     }
8630 }
8631 #[cfg(feature = "Win32_System_Ole_Automation")]
8632 impl ::std::convert::From<&IWriteEngine2> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWriteEngine2) -> Self8633     fn from(value: &IWriteEngine2) -> Self {
8634         ::std::convert::From::from(::std::clone::Clone::clone(value))
8635     }
8636 }
8637 #[cfg(feature = "Win32_System_Ole_Automation")]
8638 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWriteEngine2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8639     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8640         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8641     }
8642 }
8643 #[cfg(feature = "Win32_System_Ole_Automation")]
8644 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWriteEngine2 {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8645     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8646         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8647     }
8648 }
8649 #[repr(C)]
8650 #[doc(hidden)]
8651 pub struct IWriteEngine2_abi(
8652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8656     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8657     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8658     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8659     #[cfg(not(feature = "Win32_Foundation"))] usize,
8660     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8661     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8662     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8663     #[cfg(feature = "Win32_System_Com")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr, startingblockaddress: i32, numberofblocks: i32) -> ::windows::runtime::HRESULT,
8664     #[cfg(not(feature = "Win32_System_Com"))] usize,
8665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i16) -> ::windows::runtime::HRESULT,
8669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
8670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
8671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
8673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
8675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
8677 );
8678 #[repr(transparent)]
8679 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8680 pub struct IWriteEngine2EventArgs(::windows::runtime::IUnknown);
8681 impl IWriteEngine2EventArgs {
StartLba(&self) -> ::windows::runtime::Result<i32>8682     pub unsafe fn StartLba(&self) -> ::windows::runtime::Result<i32> {
8683         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8684         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8685     }
SectorCount(&self) -> ::windows::runtime::Result<i32>8686     pub unsafe fn SectorCount(&self) -> ::windows::runtime::Result<i32> {
8687         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8688         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8689     }
LastReadLba(&self) -> ::windows::runtime::Result<i32>8690     pub unsafe fn LastReadLba(&self) -> ::windows::runtime::Result<i32> {
8691         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8692         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8693     }
LastWrittenLba(&self) -> ::windows::runtime::Result<i32>8694     pub unsafe fn LastWrittenLba(&self) -> ::windows::runtime::Result<i32> {
8695         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8696         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8697     }
TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32>8698     pub unsafe fn TotalSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
8699         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8700         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8701     }
UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32>8702     pub unsafe fn UsedSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
8703         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8704         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8705     }
FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32>8706     pub unsafe fn FreeSystemBuffer(&self) -> ::windows::runtime::Result<i32> {
8707         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8708         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8709     }
8710 }
8711 unsafe impl ::windows::runtime::Interface for IWriteEngine2EventArgs {
8712     type Vtable = IWriteEngine2EventArgs_abi;
8713     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801526, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8714 }
8715 impl ::std::convert::From<IWriteEngine2EventArgs> for ::windows::runtime::IUnknown {
from(value: IWriteEngine2EventArgs) -> Self8716     fn from(value: IWriteEngine2EventArgs) -> Self {
8717         unsafe { ::std::mem::transmute(value) }
8718     }
8719 }
8720 impl ::std::convert::From<&IWriteEngine2EventArgs> for ::windows::runtime::IUnknown {
from(value: &IWriteEngine2EventArgs) -> Self8721     fn from(value: &IWriteEngine2EventArgs) -> Self {
8722         ::std::convert::From::from(::std::clone::Clone::clone(value))
8723     }
8724 }
8725 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWriteEngine2EventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8726     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8727         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8728     }
8729 }
8730 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWriteEngine2EventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8731     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8732         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8733     }
8734 }
8735 #[cfg(feature = "Win32_System_Ole_Automation")]
8736 impl ::std::convert::From<IWriteEngine2EventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: IWriteEngine2EventArgs) -> Self8737     fn from(value: IWriteEngine2EventArgs) -> Self {
8738         unsafe { ::std::mem::transmute(value) }
8739     }
8740 }
8741 #[cfg(feature = "Win32_System_Ole_Automation")]
8742 impl ::std::convert::From<&IWriteEngine2EventArgs> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWriteEngine2EventArgs) -> Self8743     fn from(value: &IWriteEngine2EventArgs) -> Self {
8744         ::std::convert::From::from(::std::clone::Clone::clone(value))
8745     }
8746 }
8747 #[cfg(feature = "Win32_System_Ole_Automation")]
8748 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWriteEngine2EventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8749     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8750         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8751     }
8752 }
8753 #[cfg(feature = "Win32_System_Ole_Automation")]
8754 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWriteEngine2EventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8755     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8756         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8757     }
8758 }
8759 #[repr(C)]
8760 #[doc(hidden)]
8761 pub struct IWriteEngine2EventArgs_abi(
8762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8766     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8767     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8768     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8769     #[cfg(not(feature = "Win32_Foundation"))] usize,
8770     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8771     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8772     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8780 );
8781 #[repr(transparent)]
8782 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8783 pub struct IWriteSpeedDescriptor(::windows::runtime::IUnknown);
8784 impl IWriteSpeedDescriptor {
MediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE>8785     pub unsafe fn MediaType(&self) -> ::windows::runtime::Result<IMAPI_MEDIA_PHYSICAL_TYPE> {
8786         let mut result__: <IMAPI_MEDIA_PHYSICAL_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8787         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMAPI_MEDIA_PHYSICAL_TYPE>(result__)
8788     }
RotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16>8789     pub unsafe fn RotationTypeIsPureCAV(&self) -> ::windows::runtime::Result<i16> {
8790         let mut result__: <i16 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8791         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i16>(result__)
8792     }
WriteSpeed(&self) -> ::windows::runtime::Result<i32>8793     pub unsafe fn WriteSpeed(&self) -> ::windows::runtime::Result<i32> {
8794         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8795         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
8796     }
8797 }
8798 unsafe impl ::windows::runtime::Interface for IWriteSpeedDescriptor {
8799     type Vtable = IWriteSpeedDescriptor_abi;
8800     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801540, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8801 }
8802 impl ::std::convert::From<IWriteSpeedDescriptor> for ::windows::runtime::IUnknown {
from(value: IWriteSpeedDescriptor) -> Self8803     fn from(value: IWriteSpeedDescriptor) -> Self {
8804         unsafe { ::std::mem::transmute(value) }
8805     }
8806 }
8807 impl ::std::convert::From<&IWriteSpeedDescriptor> for ::windows::runtime::IUnknown {
from(value: &IWriteSpeedDescriptor) -> Self8808     fn from(value: &IWriteSpeedDescriptor) -> Self {
8809         ::std::convert::From::from(::std::clone::Clone::clone(value))
8810     }
8811 }
8812 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWriteSpeedDescriptor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8813     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8814         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8815     }
8816 }
8817 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWriteSpeedDescriptor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8818     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8819         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8820     }
8821 }
8822 #[cfg(feature = "Win32_System_Ole_Automation")]
8823 impl ::std::convert::From<IWriteSpeedDescriptor> for super::super::System::Ole::Automation::IDispatch {
from(value: IWriteSpeedDescriptor) -> Self8824     fn from(value: IWriteSpeedDescriptor) -> Self {
8825         unsafe { ::std::mem::transmute(value) }
8826     }
8827 }
8828 #[cfg(feature = "Win32_System_Ole_Automation")]
8829 impl ::std::convert::From<&IWriteSpeedDescriptor> for super::super::System::Ole::Automation::IDispatch {
from(value: &IWriteSpeedDescriptor) -> Self8830     fn from(value: &IWriteSpeedDescriptor) -> Self {
8831         ::std::convert::From::from(::std::clone::Clone::clone(value))
8832     }
8833 }
8834 #[cfg(feature = "Win32_System_Ole_Automation")]
8835 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IWriteSpeedDescriptor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8836     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8837         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
8838     }
8839 }
8840 #[cfg(feature = "Win32_System_Ole_Automation")]
8841 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IWriteSpeedDescriptor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>8842     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
8843         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
8844     }
8845 }
8846 #[repr(C)]
8847 #[doc(hidden)]
8848 pub struct IWriteSpeedDescriptor_abi(
8849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
8853     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8854     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
8855     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
8856     #[cfg(not(feature = "Win32_Foundation"))] usize,
8857     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
8858     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::super::System::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
8859     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
8860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut IMAPI_MEDIA_PHYSICAL_TYPE) -> ::windows::runtime::HRESULT,
8861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i16) -> ::windows::runtime::HRESULT,
8862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
8863 );
8864 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8865 #[repr(transparent)]
8866 pub struct MEDIA_FLAGS(pub i32);
8867 pub const MEDIA_BLANK: MEDIA_FLAGS = MEDIA_FLAGS(1i32);
8868 pub const MEDIA_RW: MEDIA_FLAGS = MEDIA_FLAGS(2i32);
8869 pub const MEDIA_WRITABLE: MEDIA_FLAGS = MEDIA_FLAGS(4i32);
8870 pub const MEDIA_FORMAT_UNUSABLE_BY_IMAPI: MEDIA_FLAGS = MEDIA_FLAGS(8i32);
8871 impl ::std::convert::From<i32> for MEDIA_FLAGS {
from(value: i32) -> Self8872     fn from(value: i32) -> Self {
8873         Self(value)
8874     }
8875 }
8876 unsafe impl ::windows::runtime::Abi for MEDIA_FLAGS {
8877     type Abi = Self;
8878     type DefaultType = Self;
8879 }
8880 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8881 #[repr(transparent)]
8882 pub struct MEDIA_TYPES(pub i32);
8883 pub const MEDIA_CDDA_CDROM: MEDIA_TYPES = MEDIA_TYPES(1i32);
8884 pub const MEDIA_CD_ROM_XA: MEDIA_TYPES = MEDIA_TYPES(2i32);
8885 pub const MEDIA_CD_I: MEDIA_TYPES = MEDIA_TYPES(3i32);
8886 pub const MEDIA_CD_EXTRA: MEDIA_TYPES = MEDIA_TYPES(4i32);
8887 pub const MEDIA_CD_OTHER: MEDIA_TYPES = MEDIA_TYPES(5i32);
8888 pub const MEDIA_SPECIAL: MEDIA_TYPES = MEDIA_TYPES(6i32);
8889 impl ::std::convert::From<i32> for MEDIA_TYPES {
from(value: i32) -> Self8890     fn from(value: i32) -> Self {
8891         Self(value)
8892     }
8893 }
8894 unsafe impl ::windows::runtime::Abi for MEDIA_TYPES {
8895     type Abi = Self;
8896     type DefaultType = Self;
8897 }
8898 pub const MPV_INBOUND_CUTOFF_EXCEEDED: u32 = 1u32;
8899 pub const MPV_WRITE_CONTENT: u32 = 2u32;
8900 pub const MP_MSGCLASS_DELIVERY_REPORT: u32 = 3u32;
8901 pub const MP_MSGCLASS_NONDELIVERY_REPORT: u32 = 4u32;
8902 pub const MP_MSGCLASS_REPLICATION: u32 = 2u32;
8903 pub const MP_MSGCLASS_SYSTEM: u32 = 1u32;
8904 pub const MP_STATUS_ABANDON_DELIVERY: u32 = 6u32;
8905 pub const MP_STATUS_ABORT_DELIVERY: u32 = 2u32;
8906 pub const MP_STATUS_BAD_MAIL: u32 = 3u32;
8907 pub const MP_STATUS_CATEGORIZED: u32 = 5u32;
8908 pub const MP_STATUS_RETRY: u32 = 1u32;
8909 pub const MP_STATUS_SUBMITTED: u32 = 4u32;
8910 pub const MP_STATUS_SUCCESS: u32 = 0u32;
8911 pub const MSDiscMasterObj: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1376569955, 20901, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
8912 pub const MSDiscRecorderObj: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1376569953, 20901, 4563, [145, 68, 0, 16, 75, 161, 28, 94]);
8913 pub const MSEnumDiscRecordersObj: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2315474554, 25547, 19368, [186, 246, 82, 17, 152, 22, 209, 239]);
8914 #[cfg(feature = "Win32_System_AddressBook")]
8915 pub type MSGCALLRELEASE = unsafe extern "system" fn(ulcallerdata: u32, lpmessage: ::windows::runtime::RawPtr);
8916 #[inline]
MapStorageSCode(stgscode: i32) -> i328917 pub unsafe fn MapStorageSCode(stgscode: i32) -> i32 {
8918     #[cfg(windows)]
8919     {
8920         #[link(name = "windows")]
8921         extern "system" {
8922             fn MapStorageSCode(stgscode: i32) -> i32;
8923         }
8924         ::std::mem::transmute(MapStorageSCode(::std::mem::transmute(stgscode)))
8925     }
8926     #[cfg(not(windows))]
8927     unimplemented!("Unsupported target OS");
8928 }
8929 pub const MsftDiscFormat2Data: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801514, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8930 pub const MsftDiscFormat2Erase: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801515, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8931 pub const MsftDiscFormat2RawCD: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801512, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8932 pub const MsftDiscFormat2TrackAtOnce: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801513, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8933 pub const MsftDiscMaster2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801518, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8934 pub const MsftDiscRecorder2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801517, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8935 pub const MsftFileSystemImage: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904965, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
8936 pub const MsftIsoImageManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3471719266, 36694, 16470, [134, 155, 239, 22, 145, 126, 62, 252]);
8937 pub const MsftMultisessionRandomWrite: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3037186596, 8708, 4573, [150, 106, 0, 26, 160, 27, 188, 88]);
8938 pub const MsftMultisessionSequential: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801506, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8939 pub const MsftRawCDImageCreator: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(630732129, 40293, 18894, [179, 53, 64, 99, 13, 144, 18, 39]);
8940 pub const MsftStreamConcatenate: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801509, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8941 pub const MsftStreamInterleave: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801508, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8942 pub const MsftStreamPrng001: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801510, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8943 pub const MsftStreamZero: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801511, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8944 pub const MsftWriteEngine2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801516, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8945 pub const MsftWriteSpeedDescriptor: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(657801507, 32612, 23311, [143, 0, 93, 119, 175, 190, 38, 30]);
8946 pub const NMP_PROCESS_CONTROL: u32 = 2u32;
8947 pub const NMP_PROCESS_MODERATOR: u32 = 4u32;
8948 pub const NMP_PROCESS_POST: u32 = 1u32;
8949 #[cfg(all(feature = "Win32_System_AddressBook", feature = "Win32_System_Com", feature = "Win32_System_Com_StructuredStorage"))]
8950 #[inline]
OpenIMsgOnIStg<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::System::Com::IMalloc>, Param6: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IStorage>>( lpmsgsess: *mut _MSGSESS, lpallocatebuffer: ::std::option::Option<super::super::System::AddressBook::LPALLOCATEBUFFER>, lpallocatemore: ::std::option::Option<super::super::System::AddressBook::LPALLOCATEMORE>, lpfreebuffer: ::std::option::Option<super::super::System::AddressBook::LPFREEBUFFER>, lpmalloc: Param4, lpmapisup: *mut ::std::ffi::c_void, lpstg: Param6, lpfmsgcallrelease: *mut ::std::option::Option<MSGCALLRELEASE>, ulcallerdata: u32, ulflags: u32, lppmsg: *mut ::std::option::Option<super::super::System::AddressBook::IMessage>, ) -> i328951 pub unsafe fn OpenIMsgOnIStg<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::System::Com::IMalloc>, Param6: ::windows::runtime::IntoParam<'a, super::super::System::Com::StructuredStorage::IStorage>>(
8952     lpmsgsess: *mut _MSGSESS,
8953     lpallocatebuffer: ::std::option::Option<super::super::System::AddressBook::LPALLOCATEBUFFER>,
8954     lpallocatemore: ::std::option::Option<super::super::System::AddressBook::LPALLOCATEMORE>,
8955     lpfreebuffer: ::std::option::Option<super::super::System::AddressBook::LPFREEBUFFER>,
8956     lpmalloc: Param4,
8957     lpmapisup: *mut ::std::ffi::c_void,
8958     lpstg: Param6,
8959     lpfmsgcallrelease: *mut ::std::option::Option<MSGCALLRELEASE>,
8960     ulcallerdata: u32,
8961     ulflags: u32,
8962     lppmsg: *mut ::std::option::Option<super::super::System::AddressBook::IMessage>,
8963 ) -> i32 {
8964     #[cfg(windows)]
8965     {
8966         #[link(name = "windows")]
8967         extern "system" {
8968             fn OpenIMsgOnIStg(lpmsgsess: *mut _MSGSESS, lpallocatebuffer: ::windows::runtime::RawPtr, lpallocatemore: ::windows::runtime::RawPtr, lpfreebuffer: ::windows::runtime::RawPtr, lpmalloc: ::windows::runtime::RawPtr, lpmapisup: *mut ::std::ffi::c_void, lpstg: ::windows::runtime::RawPtr, lpfmsgcallrelease: *mut ::windows::runtime::RawPtr, ulcallerdata: u32, ulflags: u32, lppmsg: *mut ::windows::runtime::RawPtr) -> i32;
8969         }
8970         ::std::mem::transmute(OpenIMsgOnIStg(
8971             ::std::mem::transmute(lpmsgsess),
8972             ::std::mem::transmute(lpallocatebuffer),
8973             ::std::mem::transmute(lpallocatemore),
8974             ::std::mem::transmute(lpfreebuffer),
8975             lpmalloc.into_param().abi(),
8976             ::std::mem::transmute(lpmapisup),
8977             lpstg.into_param().abi(),
8978             ::std::mem::transmute(lpfmsgcallrelease),
8979             ::std::mem::transmute(ulcallerdata),
8980             ::std::mem::transmute(ulflags),
8981             ::std::mem::transmute(lppmsg),
8982         ))
8983     }
8984     #[cfg(not(windows))]
8985     unimplemented!("Unsupported target OS");
8986 }
8987 #[cfg(feature = "Win32_System_Com")]
8988 #[inline]
OpenIMsgSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IMalloc>>(lpmalloc: Param0, ulflags: u32, lppmsgsess: *mut *mut _MSGSESS) -> i328989 pub unsafe fn OpenIMsgSession<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::Com::IMalloc>>(lpmalloc: Param0, ulflags: u32, lppmsgsess: *mut *mut _MSGSESS) -> i32 {
8990     #[cfg(windows)]
8991     {
8992         #[link(name = "windows")]
8993         extern "system" {
8994             fn OpenIMsgSession(lpmalloc: ::windows::runtime::RawPtr, ulflags: u32, lppmsgsess: *mut *mut _MSGSESS) -> i32;
8995         }
8996         ::std::mem::transmute(OpenIMsgSession(lpmalloc.into_param().abi(), ::std::mem::transmute(ulflags), ::std::mem::transmute(lppmsgsess)))
8997     }
8998     #[cfg(not(windows))]
8999     unimplemented!("Unsupported target OS");
9000 }
9001 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9002 #[repr(transparent)]
9003 pub struct PlatformId(pub i32);
9004 pub const PlatformX86: PlatformId = PlatformId(0i32);
9005 pub const PlatformPowerPC: PlatformId = PlatformId(1i32);
9006 pub const PlatformMac: PlatformId = PlatformId(2i32);
9007 pub const PlatformEFI: PlatformId = PlatformId(239i32);
9008 impl ::std::convert::From<i32> for PlatformId {
from(value: i32) -> Self9009     fn from(value: i32) -> Self {
9010         Self(value)
9011     }
9012 }
9013 unsafe impl ::windows::runtime::Abi for PlatformId {
9014     type Abi = Self;
9015     type DefaultType = Self;
9016 }
9017 pub const ProgressItem: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904971, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
9018 pub const ProgressItems: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747904969, 38747, 22974, [169, 96, 154, 42, 38, 40, 83, 165]);
9019 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9020 #[repr(transparent)]
9021 pub struct RECORDER_TYPES(pub i32);
9022 pub const RECORDER_CDR: RECORDER_TYPES = RECORDER_TYPES(1i32);
9023 pub const RECORDER_CDRW: RECORDER_TYPES = RECORDER_TYPES(2i32);
9024 impl ::std::convert::From<i32> for RECORDER_TYPES {
from(value: i32) -> Self9025     fn from(value: i32) -> Self {
9026         Self(value)
9027     }
9028 }
9029 unsafe impl ::windows::runtime::Abi for RECORDER_TYPES {
9030     type Abi = Self;
9031     type DefaultType = Self;
9032 }
9033 pub const RP_DELIVERED: u32 = 272u32;
9034 pub const RP_DSN_HANDLED: u32 = 64u32;
9035 pub const RP_DSN_NOTIFY_DELAY: u32 = 67108864u32;
9036 pub const RP_DSN_NOTIFY_FAILURE: u32 = 33554432u32;
9037 pub const RP_DSN_NOTIFY_INVALID: u32 = 0u32;
9038 pub const RP_DSN_NOTIFY_MASK: u32 = 251658240u32;
9039 pub const RP_DSN_NOTIFY_NEVER: u32 = 134217728u32;
9040 pub const RP_DSN_NOTIFY_SUCCESS: u32 = 16777216u32;
9041 pub const RP_DSN_SENT_DELAYED: u32 = 16384u32;
9042 pub const RP_DSN_SENT_DELIVERED: u32 = 131136u32;
9043 pub const RP_DSN_SENT_EXPANDED: u32 = 32832u32;
9044 pub const RP_DSN_SENT_NDR: u32 = 1104u32;
9045 pub const RP_DSN_SENT_RELAYED: u32 = 65600u32;
9046 pub const RP_ENPANDED: u32 = 8208u32;
9047 pub const RP_ERROR_CONTEXT_CAT: u32 = 2097152u32;
9048 pub const RP_ERROR_CONTEXT_MTA: u32 = 4194304u32;
9049 pub const RP_ERROR_CONTEXT_STORE: u32 = 1048576u32;
9050 pub const RP_EXPANDED: u32 = 8208u32;
9051 pub const RP_FAILED: u32 = 2096u32;
9052 pub const RP_GENERAL_FAILURE: u32 = 32u32;
9053 pub const RP_HANDLED: u32 = 16u32;
9054 pub const RP_RECIP_FLAGS_RESERVED: u32 = 15u32;
9055 pub const RP_REMOTE_MTA_NO_DSN: u32 = 524288u32;
9056 pub const RP_UNRESOLVED: u32 = 4144u32;
9057 pub const RP_VOLATILE_FLAGS_MASK: u32 = 4026531840u32;
9058 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9059 #[repr(C)]
9060 pub struct SPropAttrArray {
9061     pub cValues: u32,
9062     pub aPropAttr: [u32; 1],
9063 }
9064 impl SPropAttrArray {}
9065 impl ::std::default::Default for SPropAttrArray {
default() -> Self9066     fn default() -> Self {
9067         unsafe { ::std::mem::zeroed() }
9068     }
9069 }
9070 impl ::std::fmt::Debug for SPropAttrArray {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9071     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9072         fmt.debug_struct("SPropAttrArray").field("cValues", &self.cValues).field("aPropAttr", &self.aPropAttr).finish()
9073     }
9074 }
9075 impl ::std::cmp::PartialEq for SPropAttrArray {
eq(&self, other: &Self) -> bool9076     fn eq(&self, other: &Self) -> bool {
9077         self.cValues == other.cValues && self.aPropAttr == other.aPropAttr
9078     }
9079 }
9080 impl ::std::cmp::Eq for SPropAttrArray {}
9081 unsafe impl ::windows::runtime::Abi for SPropAttrArray {
9082     type Abi = Self;
9083     type DefaultType = Self;
9084 }
9085 #[cfg(feature = "Win32_System_AddressBook")]
9086 #[inline]
SetAttribIMsgOnIStg(lpobject: *mut ::std::ffi::c_void, lpproptags: *mut super::super::System::AddressBook::SPropTagArray, lppropattrs: *mut SPropAttrArray, lpppropproblems: *mut *mut super::super::System::AddressBook::SPropProblemArray) -> ::windows::runtime::Result<()>9087 pub unsafe fn SetAttribIMsgOnIStg(lpobject: *mut ::std::ffi::c_void, lpproptags: *mut super::super::System::AddressBook::SPropTagArray, lppropattrs: *mut SPropAttrArray, lpppropproblems: *mut *mut super::super::System::AddressBook::SPropProblemArray) -> ::windows::runtime::Result<()> {
9088     #[cfg(windows)]
9089     {
9090         #[link(name = "windows")]
9091         extern "system" {
9092             fn SetAttribIMsgOnIStg(lpobject: *mut ::std::ffi::c_void, lpproptags: *mut super::super::System::AddressBook::SPropTagArray, lppropattrs: *mut SPropAttrArray, lpppropproblems: *mut *mut super::super::System::AddressBook::SPropProblemArray) -> ::windows::runtime::HRESULT;
9093         }
9094         SetAttribIMsgOnIStg(::std::mem::transmute(lpobject), ::std::mem::transmute(lpproptags), ::std::mem::transmute(lppropattrs), ::std::mem::transmute(lpppropproblems)).ok()
9095     }
9096     #[cfg(not(windows))]
9097     unimplemented!("Unsupported target OS");
9098 }
9099 #[repr(C)]
9100 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
9101 pub struct _MSGSESS(pub u8);
9102 pub const tagIMMPID_CPV_STRUCT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2728880938, 58669, 4561, [170, 100, 0, 192, 79, 163, 91, 130]);
9103 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9104 #[repr(C)]
9105 pub struct tagIMMPID_GUIDLIST_ITEM {
9106     pub pguid: *mut ::windows::runtime::GUID,
9107     pub dwStart: u32,
9108     pub dwLast: u32,
9109 }
9110 impl tagIMMPID_GUIDLIST_ITEM {}
9111 impl ::std::default::Default for tagIMMPID_GUIDLIST_ITEM {
default() -> Self9112     fn default() -> Self {
9113         unsafe { ::std::mem::zeroed() }
9114     }
9115 }
9116 impl ::std::fmt::Debug for tagIMMPID_GUIDLIST_ITEM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9117     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9118         fmt.debug_struct("tagIMMPID_GUIDLIST_ITEM").field("pguid", &self.pguid).field("dwStart", &self.dwStart).field("dwLast", &self.dwLast).finish()
9119     }
9120 }
9121 impl ::std::cmp::PartialEq for tagIMMPID_GUIDLIST_ITEM {
eq(&self, other: &Self) -> bool9122     fn eq(&self, other: &Self) -> bool {
9123         self.pguid == other.pguid && self.dwStart == other.dwStart && self.dwLast == other.dwLast
9124     }
9125 }
9126 impl ::std::cmp::Eq for tagIMMPID_GUIDLIST_ITEM {}
9127 unsafe impl ::windows::runtime::Abi for tagIMMPID_GUIDLIST_ITEM {
9128     type Abi = Self;
9129     type DefaultType = Self;
9130 }
9131 pub const tagIMMPID_MPV_STRUCT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3420886790, 51645, 4561, [159, 242, 0, 192, 79, 163, 115, 72]);
9132 pub const tagIMMPID_MP_STRUCT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(322456816, 46020, 4561, [170, 146, 0, 170, 0, 107, 200, 11]);
9133 pub const tagIMMPID_NMP_STRUCT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1949542826, 8418, 4562, [148, 214, 0, 192, 79, 163, 121, 241]);
9134 pub const tagIMMPID_RPV_STRUCT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2045255753, 54048, 4561, [159, 244, 0, 192, 79, 163, 115, 72]);
9135 pub const tagIMMPID_RP_STRUCT: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2045255752, 54048, 4561, [159, 244, 0, 192, 79, 163, 115, 72]);
9136