1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 pub struct AsyncIBackgroundCopyCallback(::windows::runtime::IUnknown);
5 impl AsyncIBackgroundCopyCallback {
Begin_JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()>6     pub unsafe fn Begin_JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()> {
7         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pjob.into_param().abi()).ok()
8     }
Finish_JobTransferred(&self) -> ::windows::runtime::Result<()>9     pub unsafe fn Finish_JobTransferred(&self) -> ::windows::runtime::Result<()> {
10         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
11     }
Begin_JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()>12     pub unsafe fn Begin_JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()> {
13         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pjob.into_param().abi(), perror.into_param().abi()).ok()
14     }
Finish_JobError(&self) -> ::windows::runtime::Result<()>15     pub unsafe fn Finish_JobError(&self) -> ::windows::runtime::Result<()> {
16         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
17     }
Begin_JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()>18     pub unsafe fn Begin_JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()> {
19         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pjob.into_param().abi(), ::std::mem::transmute(dwreserved)).ok()
20     }
Finish_JobModification(&self) -> ::windows::runtime::Result<()>21     pub unsafe fn Finish_JobModification(&self) -> ::windows::runtime::Result<()> {
22         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
23     }
24 }
25 unsafe impl ::windows::runtime::Interface for AsyncIBackgroundCopyCallback {
26     type Vtable = AsyncIBackgroundCopyCallback_abi;
27     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3391738449, 46267, 18041, [163, 217, 174, 128, 6, 17, 157, 84]);
28 }
29 impl ::std::convert::From<AsyncIBackgroundCopyCallback> for ::windows::runtime::IUnknown {
from(value: AsyncIBackgroundCopyCallback) -> Self30     fn from(value: AsyncIBackgroundCopyCallback) -> Self {
31         unsafe { ::std::mem::transmute(value) }
32     }
33 }
34 impl ::std::convert::From<&AsyncIBackgroundCopyCallback> for ::windows::runtime::IUnknown {
from(value: &AsyncIBackgroundCopyCallback) -> Self35     fn from(value: &AsyncIBackgroundCopyCallback) -> Self {
36         ::std::convert::From::from(::std::clone::Clone::clone(value))
37     }
38 }
39 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIBackgroundCopyCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>40     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
41         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
42     }
43 }
44 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIBackgroundCopyCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>45     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
46         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
47     }
48 }
49 #[repr(C)]
50 #[doc(hidden)]
51 pub struct AsyncIBackgroundCopyCallback_abi(
52     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
53     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
54     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
55     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
56     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
57     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, perror: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
58     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
59     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
60     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
61 );
62 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
63 #[repr(C)]
64 #[cfg(feature = "Win32_Foundation")]
65 pub struct BG_AUTH_CREDENTIALS {
66     pub Target: BG_AUTH_TARGET,
67     pub Scheme: BG_AUTH_SCHEME,
68     pub Credentials: BG_AUTH_CREDENTIALS_UNION,
69 }
70 #[cfg(feature = "Win32_Foundation")]
71 impl BG_AUTH_CREDENTIALS {}
72 #[cfg(feature = "Win32_Foundation")]
73 impl ::std::default::Default for BG_AUTH_CREDENTIALS {
default() -> Self74     fn default() -> Self {
75         unsafe { ::std::mem::zeroed() }
76     }
77 }
78 #[cfg(feature = "Win32_Foundation")]
79 impl ::std::cmp::PartialEq for BG_AUTH_CREDENTIALS {
eq(&self, _other: &Self) -> bool80     fn eq(&self, _other: &Self) -> bool {
81         unimplemented!()
82     }
83 }
84 #[cfg(feature = "Win32_Foundation")]
85 impl ::std::cmp::Eq for BG_AUTH_CREDENTIALS {}
86 #[cfg(feature = "Win32_Foundation")]
87 unsafe impl ::windows::runtime::Abi for BG_AUTH_CREDENTIALS {
88     type Abi = Self;
89     type DefaultType = Self;
90 }
91 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
92 #[repr(C)]
93 #[cfg(feature = "Win32_Foundation")]
94 pub union BG_AUTH_CREDENTIALS_UNION {
95     pub Basic: BG_BASIC_CREDENTIALS,
96 }
97 #[cfg(feature = "Win32_Foundation")]
98 impl BG_AUTH_CREDENTIALS_UNION {}
99 #[cfg(feature = "Win32_Foundation")]
100 impl ::std::default::Default for BG_AUTH_CREDENTIALS_UNION {
default() -> Self101     fn default() -> Self {
102         unsafe { ::std::mem::zeroed() }
103     }
104 }
105 #[cfg(feature = "Win32_Foundation")]
106 impl ::std::cmp::PartialEq for BG_AUTH_CREDENTIALS_UNION {
eq(&self, _other: &Self) -> bool107     fn eq(&self, _other: &Self) -> bool {
108         unimplemented!()
109     }
110 }
111 #[cfg(feature = "Win32_Foundation")]
112 impl ::std::cmp::Eq for BG_AUTH_CREDENTIALS_UNION {}
113 #[cfg(feature = "Win32_Foundation")]
114 unsafe impl ::windows::runtime::Abi for BG_AUTH_CREDENTIALS_UNION {
115     type Abi = Self;
116     type DefaultType = Self;
117 }
118 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
119 #[repr(transparent)]
120 pub struct BG_AUTH_SCHEME(pub i32);
121 pub const BG_AUTH_SCHEME_BASIC: BG_AUTH_SCHEME = BG_AUTH_SCHEME(1i32);
122 pub const BG_AUTH_SCHEME_DIGEST: BG_AUTH_SCHEME = BG_AUTH_SCHEME(2i32);
123 pub const BG_AUTH_SCHEME_NTLM: BG_AUTH_SCHEME = BG_AUTH_SCHEME(3i32);
124 pub const BG_AUTH_SCHEME_NEGOTIATE: BG_AUTH_SCHEME = BG_AUTH_SCHEME(4i32);
125 pub const BG_AUTH_SCHEME_PASSPORT: BG_AUTH_SCHEME = BG_AUTH_SCHEME(5i32);
126 impl ::std::convert::From<i32> for BG_AUTH_SCHEME {
from(value: i32) -> Self127     fn from(value: i32) -> Self {
128         Self(value)
129     }
130 }
131 unsafe impl ::windows::runtime::Abi for BG_AUTH_SCHEME {
132     type Abi = Self;
133     type DefaultType = Self;
134 }
135 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
136 #[repr(transparent)]
137 pub struct BG_AUTH_TARGET(pub i32);
138 pub const BG_AUTH_TARGET_SERVER: BG_AUTH_TARGET = BG_AUTH_TARGET(1i32);
139 pub const BG_AUTH_TARGET_PROXY: BG_AUTH_TARGET = BG_AUTH_TARGET(2i32);
140 impl ::std::convert::From<i32> for BG_AUTH_TARGET {
from(value: i32) -> Self141     fn from(value: i32) -> Self {
142         Self(value)
143     }
144 }
145 unsafe impl ::windows::runtime::Abi for BG_AUTH_TARGET {
146     type Abi = Self;
147     type DefaultType = Self;
148 }
149 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
150 #[repr(C)]
151 #[cfg(feature = "Win32_Foundation")]
152 pub struct BG_BASIC_CREDENTIALS {
153     pub UserName: super::super::Foundation::PWSTR,
154     pub Password: super::super::Foundation::PWSTR,
155 }
156 #[cfg(feature = "Win32_Foundation")]
157 impl BG_BASIC_CREDENTIALS {}
158 #[cfg(feature = "Win32_Foundation")]
159 impl ::std::default::Default for BG_BASIC_CREDENTIALS {
default() -> Self160     fn default() -> Self {
161         unsafe { ::std::mem::zeroed() }
162     }
163 }
164 #[cfg(feature = "Win32_Foundation")]
165 impl ::std::fmt::Debug for BG_BASIC_CREDENTIALS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result166     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
167         fmt.debug_struct("BG_BASIC_CREDENTIALS").field("UserName", &self.UserName).field("Password", &self.Password).finish()
168     }
169 }
170 #[cfg(feature = "Win32_Foundation")]
171 impl ::std::cmp::PartialEq for BG_BASIC_CREDENTIALS {
eq(&self, other: &Self) -> bool172     fn eq(&self, other: &Self) -> bool {
173         self.UserName == other.UserName && self.Password == other.Password
174     }
175 }
176 #[cfg(feature = "Win32_Foundation")]
177 impl ::std::cmp::Eq for BG_BASIC_CREDENTIALS {}
178 #[cfg(feature = "Win32_Foundation")]
179 unsafe impl ::windows::runtime::Abi for BG_BASIC_CREDENTIALS {
180     type Abi = Self;
181     type DefaultType = Self;
182 }
183 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
184 #[repr(transparent)]
185 pub struct BG_CERT_STORE_LOCATION(pub i32);
186 pub const BG_CERT_STORE_LOCATION_CURRENT_USER: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(0i32);
187 pub const BG_CERT_STORE_LOCATION_LOCAL_MACHINE: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(1i32);
188 pub const BG_CERT_STORE_LOCATION_CURRENT_SERVICE: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(2i32);
189 pub const BG_CERT_STORE_LOCATION_SERVICES: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(3i32);
190 pub const BG_CERT_STORE_LOCATION_USERS: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(4i32);
191 pub const BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(5i32);
192 pub const BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(6i32);
193 pub const BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE: BG_CERT_STORE_LOCATION = BG_CERT_STORE_LOCATION(7i32);
194 impl ::std::convert::From<i32> for BG_CERT_STORE_LOCATION {
from(value: i32) -> Self195     fn from(value: i32) -> Self {
196         Self(value)
197     }
198 }
199 unsafe impl ::windows::runtime::Abi for BG_CERT_STORE_LOCATION {
200     type Abi = Self;
201     type DefaultType = Self;
202 }
203 pub const BG_COPY_FILE_ALL: u32 = 15u32;
204 pub const BG_COPY_FILE_DACL: u32 = 4u32;
205 pub const BG_COPY_FILE_GROUP: u32 = 2u32;
206 pub const BG_COPY_FILE_OWNER: u32 = 1u32;
207 pub const BG_COPY_FILE_SACL: u32 = 8u32;
208 pub const BG_DISABLE_BRANCH_CACHE: u32 = 4u32;
209 pub const BG_ENABLE_PEERCACHING_CLIENT: u32 = 1u32;
210 pub const BG_ENABLE_PEERCACHING_SERVER: u32 = 2u32;
211 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
212 #[repr(transparent)]
213 pub struct BG_ERROR_CONTEXT(pub i32);
214 pub const BG_ERROR_CONTEXT_NONE: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(0i32);
215 pub const BG_ERROR_CONTEXT_UNKNOWN: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(1i32);
216 pub const BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(2i32);
217 pub const BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(3i32);
218 pub const BG_ERROR_CONTEXT_LOCAL_FILE: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(4i32);
219 pub const BG_ERROR_CONTEXT_REMOTE_FILE: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(5i32);
220 pub const BG_ERROR_CONTEXT_GENERAL_TRANSPORT: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(6i32);
221 pub const BG_ERROR_CONTEXT_REMOTE_APPLICATION: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(7i32);
222 pub const BG_ERROR_CONTEXT_SERVER_CERTIFICATE_CALLBACK: BG_ERROR_CONTEXT = BG_ERROR_CONTEXT(8i32);
223 impl ::std::convert::From<i32> for BG_ERROR_CONTEXT {
from(value: i32) -> Self224     fn from(value: i32) -> Self {
225         Self(value)
226     }
227 }
228 unsafe impl ::windows::runtime::Abi for BG_ERROR_CONTEXT {
229     type Abi = Self;
230     type DefaultType = Self;
231 }
232 pub const BG_E_APP_PACKAGE_NOT_FOUND: i32 = -2145386390i32;
233 pub const BG_E_APP_PACKAGE_SCENARIO_NOT_SUPPORTED: i32 = -2145386389i32;
234 pub const BG_E_BLOCKED_BY_BACKGROUND_ACCESS_POLICY: i32 = -2145386386i32;
235 pub const BG_E_BLOCKED_BY_BATTERY_POLICY: i32 = -2145386393i32;
236 pub const BG_E_BLOCKED_BY_BATTERY_SAVER: i32 = -2145386392i32;
237 pub const BG_E_BLOCKED_BY_COST_TRANSFER_POLICY: i32 = -2145386407i32;
238 pub const BG_E_BLOCKED_BY_GAME_MODE: i32 = -2145386385i32;
239 pub const BG_E_BLOCKED_BY_POLICY: i32 = -2145386434i32;
240 pub const BG_E_BLOCKED_BY_SYSTEM_POLICY: i32 = -2145386384i32;
241 pub const BG_E_BUSYCACHERECORD: i32 = -2145386424i32;
242 pub const BG_E_CLIENT_SERVER_PROTOCOL_MISMATCH: i32 = -2145386462i32;
243 pub const BG_E_COMMIT_IN_PROGRESS: i32 = -2145386429i32;
244 pub const BG_E_CONNECTION_CLOSED: i32 = -2145386450i32;
245 pub const BG_E_CONNECT_FAILURE: i32 = -2145386451i32;
246 pub const BG_E_DATABASE_CORRUPT: i32 = -2145386388i32;
247 pub const BG_E_DESTINATION_LOCKED: i32 = -2145386483i32;
248 pub const BG_E_DISCOVERY_IN_PROGRESS: i32 = -2145386428i32;
249 pub const BG_E_EMPTY: i32 = -2145386493i32;
250 pub const BG_E_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER: i32 = -2145386488i32;
251 pub const BG_E_ERROR_CONTEXT_GENERAL_TRANSPORT: i32 = -2145386485i32;
252 pub const BG_E_ERROR_CONTEXT_LOCAL_FILE: i32 = -2145386487i32;
253 pub const BG_E_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION: i32 = -2145386484i32;
254 pub const BG_E_ERROR_CONTEXT_REMOTE_APPLICATION: i32 = -2145386466i32;
255 pub const BG_E_ERROR_CONTEXT_REMOTE_FILE: i32 = -2145386486i32;
256 pub const BG_E_ERROR_CONTEXT_SERVER_CERTIFICATE_CALLBACK: i32 = -2145386378i32;
257 pub const BG_E_ERROR_CONTEXT_UNKNOWN: i32 = -2145386489i32;
258 pub const BG_E_ERROR_INFORMATION_UNAVAILABLE: i32 = -2145386481i32;
259 pub const BG_E_FILE_NOT_AVAILABLE: i32 = -2145386492i32;
260 pub const BG_E_FILE_NOT_FOUND: i32 = -2145386455i32;
261 pub const BG_E_HTTP_ERROR_100: i32 = -2145845148i32;
262 pub const BG_E_HTTP_ERROR_101: i32 = -2145845147i32;
263 pub const BG_E_HTTP_ERROR_200: i32 = -2145845048i32;
264 pub const BG_E_HTTP_ERROR_201: i32 = -2145845047i32;
265 pub const BG_E_HTTP_ERROR_202: i32 = -2145845046i32;
266 pub const BG_E_HTTP_ERROR_203: i32 = -2145845045i32;
267 pub const BG_E_HTTP_ERROR_204: i32 = -2145845044i32;
268 pub const BG_E_HTTP_ERROR_205: i32 = -2145845043i32;
269 pub const BG_E_HTTP_ERROR_206: i32 = -2145845042i32;
270 pub const BG_E_HTTP_ERROR_300: i32 = -2145844948i32;
271 pub const BG_E_HTTP_ERROR_301: i32 = -2145844947i32;
272 pub const BG_E_HTTP_ERROR_302: i32 = -2145844946i32;
273 pub const BG_E_HTTP_ERROR_303: i32 = -2145844945i32;
274 pub const BG_E_HTTP_ERROR_304: i32 = -2145844944i32;
275 pub const BG_E_HTTP_ERROR_305: i32 = -2145844943i32;
276 pub const BG_E_HTTP_ERROR_307: i32 = -2145844941i32;
277 pub const BG_E_HTTP_ERROR_400: i32 = -2145844848i32;
278 pub const BG_E_HTTP_ERROR_401: i32 = -2145844847i32;
279 pub const BG_E_HTTP_ERROR_402: i32 = -2145844846i32;
280 pub const BG_E_HTTP_ERROR_403: i32 = -2145844845i32;
281 pub const BG_E_HTTP_ERROR_404: i32 = -2145844844i32;
282 pub const BG_E_HTTP_ERROR_405: i32 = -2145844843i32;
283 pub const BG_E_HTTP_ERROR_406: i32 = -2145844842i32;
284 pub const BG_E_HTTP_ERROR_407: i32 = -2145844841i32;
285 pub const BG_E_HTTP_ERROR_408: i32 = -2145844840i32;
286 pub const BG_E_HTTP_ERROR_409: i32 = -2145844839i32;
287 pub const BG_E_HTTP_ERROR_410: i32 = -2145844838i32;
288 pub const BG_E_HTTP_ERROR_411: i32 = -2145844837i32;
289 pub const BG_E_HTTP_ERROR_412: i32 = -2145844836i32;
290 pub const BG_E_HTTP_ERROR_413: i32 = -2145844835i32;
291 pub const BG_E_HTTP_ERROR_414: i32 = -2145844834i32;
292 pub const BG_E_HTTP_ERROR_415: i32 = -2145844833i32;
293 pub const BG_E_HTTP_ERROR_416: i32 = -2145844832i32;
294 pub const BG_E_HTTP_ERROR_417: i32 = -2145844831i32;
295 pub const BG_E_HTTP_ERROR_449: i32 = -2145844799i32;
296 pub const BG_E_HTTP_ERROR_500: i32 = -2145844748i32;
297 pub const BG_E_HTTP_ERROR_501: i32 = -2145844747i32;
298 pub const BG_E_HTTP_ERROR_502: i32 = -2145844746i32;
299 pub const BG_E_HTTP_ERROR_503: i32 = -2145844745i32;
300 pub const BG_E_HTTP_ERROR_504: i32 = -2145844744i32;
301 pub const BG_E_HTTP_ERROR_505: i32 = -2145844743i32;
302 pub const BG_E_INSUFFICIENT_HTTP_SUPPORT: i32 = -2145386478i32;
303 pub const BG_E_INSUFFICIENT_RANGE_SUPPORT: i32 = -2145386477i32;
304 pub const BG_E_INVALID_AUTH_SCHEME: i32 = -2145386456i32;
305 pub const BG_E_INVALID_AUTH_TARGET: i32 = -2145386457i32;
306 pub const BG_E_INVALID_CREDENTIALS: i32 = -2145386432i32;
307 pub const BG_E_INVALID_HASH_ALGORITHM: i32 = -2145386431i32;
308 pub const BG_E_INVALID_PROXY_INFO: i32 = -2145386433i32;
309 pub const BG_E_INVALID_RANGE: i32 = -2145386453i32;
310 pub const BG_E_INVALID_SERVER_RESPONSE: i32 = -2145386469i32;
311 pub const BG_E_INVALID_STATE: i32 = -2145386494i32;
312 pub const BG_E_LOCAL_FILE_CHANGED: i32 = -2145386467i32;
313 pub const BG_E_MAXDOWNLOAD_TIMEOUT: i32 = -2145386412i32;
314 pub const BG_E_MAX_DOWNLOAD_SIZE_INVALID_VALUE: i32 = -2145386397i32;
315 pub const BG_E_MAX_DOWNLOAD_SIZE_LIMIT_REACHED: i32 = -2145386396i32;
316 pub const BG_E_MISSING_FILE_SIZE: i32 = -2145386479i32;
317 pub const BG_E_NETWORK_DISCONNECTED: i32 = -2145386480i32;
318 pub const BG_E_NEW_OWNER_DIFF_MAPPING: i32 = -2145386475i32;
319 pub const BG_E_NEW_OWNER_NO_FILE_ACCESS: i32 = -2145386474i32;
320 pub const BG_E_NOT_FOUND: i32 = -2145386495i32;
321 pub const BG_E_NOT_SUPPORTED_WITH_CUSTOM_HTTP_METHOD: i32 = -2145386383i32;
322 pub const BG_E_NO_PROGRESS: i32 = -2145386460i32;
323 pub const BG_E_OVERLAPPING_RANGES: i32 = -2145386452i32;
324 pub const BG_E_PASSWORD_TOO_LARGE: i32 = -2145386458i32;
325 pub const BG_E_PEERCACHING_DISABLED: i32 = -2145386425i32;
326 pub const BG_E_PROPERTY_SUPPORTED_FOR_DOWNLOAD_JOBS_ONLY: i32 = -2145386400i32;
327 pub const BG_E_PROTOCOL_NOT_AVAILABLE: i32 = -2145386491i32;
328 pub const BG_E_PROXY_BYPASS_LIST_TOO_LARGE: i32 = -2145386471i32;
329 pub const BG_E_PROXY_LIST_TOO_LARGE: i32 = -2145386472i32;
330 pub const BG_E_RANDOM_ACCESS_NOT_SUPPORTED: i32 = -2145386387i32;
331 pub const BG_E_READ_ONLY_PROPERTY: i32 = -2145386408i32;
332 pub const BG_E_READ_ONLY_PROPERTY_AFTER_ADDFILE: i32 = -2145386399i32;
333 pub const BG_E_READ_ONLY_PROPERTY_AFTER_RESUME: i32 = -2145386398i32;
334 pub const BG_E_READ_ONLY_WHEN_JOB_ACTIVE: i32 = -2145386379i32;
335 pub const BG_E_RECORD_DELETED: i32 = -2145386430i32;
336 pub const BG_E_REMOTE_FILE_CHANGED: i32 = -2145386381i32;
337 pub const BG_E_REMOTE_NOT_SUPPORTED: i32 = -2145386476i32;
338 pub const BG_E_SERVER_CERT_VALIDATION_INTERFACE_REQUIRED: i32 = -2145386380i32;
339 pub const BG_E_SERVER_EXECUTE_ENABLE: i32 = -2145386461i32;
340 pub const BG_E_SESSION_NOT_FOUND: i32 = -2145386465i32;
341 pub const BG_E_STANDBY_MODE: i32 = -2145386395i32;
342 pub const BG_E_STRING_TOO_LONG: i32 = -2145386463i32;
343 pub const BG_E_TEST_OPTION_BLOCKED_DOWNLOAD: i32 = -2145386426i32;
344 pub const BG_E_TOKEN_REQUIRED: i32 = -2145386410i32;
345 pub const BG_E_TOO_LARGE: i32 = -2145386464i32;
346 pub const BG_E_TOO_MANY_FILES: i32 = -2145386468i32;
347 pub const BG_E_TOO_MANY_FILES_IN_JOB: i32 = -2145386415i32;
348 pub const BG_E_TOO_MANY_JOBS_PER_MACHINE: i32 = -2145386416i32;
349 pub const BG_E_TOO_MANY_JOBS_PER_USER: i32 = -2145386423i32;
350 pub const BG_E_TOO_MANY_RANGES_IN_FILE: i32 = -2145386414i32;
351 pub const BG_E_UNKNOWN_PROPERTY_ID: i32 = -2145386409i32;
352 pub const BG_E_UNSUPPORTED_JOB_CONFIGURATION: i32 = -2145386382i32;
353 pub const BG_E_UPNP_ERROR: i32 = -2145386427i32;
354 pub const BG_E_USERNAME_TOO_LARGE: i32 = -2145386459i32;
355 pub const BG_E_USE_STORED_CREDENTIALS_NOT_SUPPORTED: i32 = -2145386394i32;
356 pub const BG_E_VALIDATION_FAILED: i32 = -2145386413i32;
357 pub const BG_E_VOLUME_CHANGED: i32 = -2145386482i32;
358 pub const BG_E_WATCHDOG_TIMEOUT: i32 = -2145386391i32;
359 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
360 #[repr(C)]
361 #[cfg(feature = "Win32_Foundation")]
362 pub struct BG_FILE_INFO {
363     pub RemoteName: super::super::Foundation::PWSTR,
364     pub LocalName: super::super::Foundation::PWSTR,
365 }
366 #[cfg(feature = "Win32_Foundation")]
367 impl BG_FILE_INFO {}
368 #[cfg(feature = "Win32_Foundation")]
369 impl ::std::default::Default for BG_FILE_INFO {
default() -> Self370     fn default() -> Self {
371         unsafe { ::std::mem::zeroed() }
372     }
373 }
374 #[cfg(feature = "Win32_Foundation")]
375 impl ::std::fmt::Debug for BG_FILE_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result376     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
377         fmt.debug_struct("BG_FILE_INFO").field("RemoteName", &self.RemoteName).field("LocalName", &self.LocalName).finish()
378     }
379 }
380 #[cfg(feature = "Win32_Foundation")]
381 impl ::std::cmp::PartialEq for BG_FILE_INFO {
eq(&self, other: &Self) -> bool382     fn eq(&self, other: &Self) -> bool {
383         self.RemoteName == other.RemoteName && self.LocalName == other.LocalName
384     }
385 }
386 #[cfg(feature = "Win32_Foundation")]
387 impl ::std::cmp::Eq for BG_FILE_INFO {}
388 #[cfg(feature = "Win32_Foundation")]
389 unsafe impl ::windows::runtime::Abi for BG_FILE_INFO {
390     type Abi = Self;
391     type DefaultType = Self;
392 }
393 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
394 #[repr(C)]
395 #[cfg(feature = "Win32_Foundation")]
396 pub struct BG_FILE_PROGRESS {
397     pub BytesTotal: u64,
398     pub BytesTransferred: u64,
399     pub Completed: super::super::Foundation::BOOL,
400 }
401 #[cfg(feature = "Win32_Foundation")]
402 impl BG_FILE_PROGRESS {}
403 #[cfg(feature = "Win32_Foundation")]
404 impl ::std::default::Default for BG_FILE_PROGRESS {
default() -> Self405     fn default() -> Self {
406         unsafe { ::std::mem::zeroed() }
407     }
408 }
409 #[cfg(feature = "Win32_Foundation")]
410 impl ::std::fmt::Debug for BG_FILE_PROGRESS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result411     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
412         fmt.debug_struct("BG_FILE_PROGRESS").field("BytesTotal", &self.BytesTotal).field("BytesTransferred", &self.BytesTransferred).field("Completed", &self.Completed).finish()
413     }
414 }
415 #[cfg(feature = "Win32_Foundation")]
416 impl ::std::cmp::PartialEq for BG_FILE_PROGRESS {
eq(&self, other: &Self) -> bool417     fn eq(&self, other: &Self) -> bool {
418         self.BytesTotal == other.BytesTotal && self.BytesTransferred == other.BytesTransferred && self.Completed == other.Completed
419     }
420 }
421 #[cfg(feature = "Win32_Foundation")]
422 impl ::std::cmp::Eq for BG_FILE_PROGRESS {}
423 #[cfg(feature = "Win32_Foundation")]
424 unsafe impl ::windows::runtime::Abi for BG_FILE_PROGRESS {
425     type Abi = Self;
426     type DefaultType = Self;
427 }
428 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
429 #[repr(C)]
430 pub struct BG_FILE_RANGE {
431     pub InitialOffset: u64,
432     pub Length: u64,
433 }
434 impl BG_FILE_RANGE {}
435 impl ::std::default::Default for BG_FILE_RANGE {
default() -> Self436     fn default() -> Self {
437         unsafe { ::std::mem::zeroed() }
438     }
439 }
440 impl ::std::fmt::Debug for BG_FILE_RANGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result441     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
442         fmt.debug_struct("BG_FILE_RANGE").field("InitialOffset", &self.InitialOffset).field("Length", &self.Length).finish()
443     }
444 }
445 impl ::std::cmp::PartialEq for BG_FILE_RANGE {
eq(&self, other: &Self) -> bool446     fn eq(&self, other: &Self) -> bool {
447         self.InitialOffset == other.InitialOffset && self.Length == other.Length
448     }
449 }
450 impl ::std::cmp::Eq for BG_FILE_RANGE {}
451 unsafe impl ::windows::runtime::Abi for BG_FILE_RANGE {
452     type Abi = Self;
453     type DefaultType = Self;
454 }
455 pub const BG_HTTP_REDIRECT_POLICY_ALLOW_HTTPS_TO_HTTP: u32 = 2048u32;
456 pub const BG_HTTP_REDIRECT_POLICY_ALLOW_REPORT: u32 = 256u32;
457 pub const BG_HTTP_REDIRECT_POLICY_ALLOW_SILENT: u32 = 0u32;
458 pub const BG_HTTP_REDIRECT_POLICY_DISALLOW: u32 = 512u32;
459 pub const BG_HTTP_REDIRECT_POLICY_MASK: u32 = 1792u32;
460 pub const BG_JOB_DISABLE_BRANCH_CACHE: u32 = 4u32;
461 pub const BG_JOB_ENABLE_PEERCACHING_CLIENT: u32 = 1u32;
462 pub const BG_JOB_ENABLE_PEERCACHING_SERVER: u32 = 2u32;
463 pub const BG_JOB_ENUM_ALL_USERS: u32 = 1u32;
464 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
465 #[repr(transparent)]
466 pub struct BG_JOB_PRIORITY(pub i32);
467 pub const BG_JOB_PRIORITY_FOREGROUND: BG_JOB_PRIORITY = BG_JOB_PRIORITY(0i32);
468 pub const BG_JOB_PRIORITY_HIGH: BG_JOB_PRIORITY = BG_JOB_PRIORITY(1i32);
469 pub const BG_JOB_PRIORITY_NORMAL: BG_JOB_PRIORITY = BG_JOB_PRIORITY(2i32);
470 pub const BG_JOB_PRIORITY_LOW: BG_JOB_PRIORITY = BG_JOB_PRIORITY(3i32);
471 impl ::std::convert::From<i32> for BG_JOB_PRIORITY {
from(value: i32) -> Self472     fn from(value: i32) -> Self {
473         Self(value)
474     }
475 }
476 unsafe impl ::windows::runtime::Abi for BG_JOB_PRIORITY {
477     type Abi = Self;
478     type DefaultType = Self;
479 }
480 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
481 #[repr(C)]
482 pub struct BG_JOB_PROGRESS {
483     pub BytesTotal: u64,
484     pub BytesTransferred: u64,
485     pub FilesTotal: u32,
486     pub FilesTransferred: u32,
487 }
488 impl BG_JOB_PROGRESS {}
489 impl ::std::default::Default for BG_JOB_PROGRESS {
default() -> Self490     fn default() -> Self {
491         unsafe { ::std::mem::zeroed() }
492     }
493 }
494 impl ::std::fmt::Debug for BG_JOB_PROGRESS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result495     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
496         fmt.debug_struct("BG_JOB_PROGRESS").field("BytesTotal", &self.BytesTotal).field("BytesTransferred", &self.BytesTransferred).field("FilesTotal", &self.FilesTotal).field("FilesTransferred", &self.FilesTransferred).finish()
497     }
498 }
499 impl ::std::cmp::PartialEq for BG_JOB_PROGRESS {
eq(&self, other: &Self) -> bool500     fn eq(&self, other: &Self) -> bool {
501         self.BytesTotal == other.BytesTotal && self.BytesTransferred == other.BytesTransferred && self.FilesTotal == other.FilesTotal && self.FilesTransferred == other.FilesTransferred
502     }
503 }
504 impl ::std::cmp::Eq for BG_JOB_PROGRESS {}
505 unsafe impl ::windows::runtime::Abi for BG_JOB_PROGRESS {
506     type Abi = Self;
507     type DefaultType = Self;
508 }
509 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
510 #[repr(transparent)]
511 pub struct BG_JOB_PROXY_USAGE(pub i32);
512 pub const BG_JOB_PROXY_USAGE_PRECONFIG: BG_JOB_PROXY_USAGE = BG_JOB_PROXY_USAGE(0i32);
513 pub const BG_JOB_PROXY_USAGE_NO_PROXY: BG_JOB_PROXY_USAGE = BG_JOB_PROXY_USAGE(1i32);
514 pub const BG_JOB_PROXY_USAGE_OVERRIDE: BG_JOB_PROXY_USAGE = BG_JOB_PROXY_USAGE(2i32);
515 pub const BG_JOB_PROXY_USAGE_AUTODETECT: BG_JOB_PROXY_USAGE = BG_JOB_PROXY_USAGE(3i32);
516 impl ::std::convert::From<i32> for BG_JOB_PROXY_USAGE {
from(value: i32) -> Self517     fn from(value: i32) -> Self {
518         Self(value)
519     }
520 }
521 unsafe impl ::windows::runtime::Abi for BG_JOB_PROXY_USAGE {
522     type Abi = Self;
523     type DefaultType = Self;
524 }
525 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
526 #[repr(C)]
527 pub struct BG_JOB_REPLY_PROGRESS {
528     pub BytesTotal: u64,
529     pub BytesTransferred: u64,
530 }
531 impl BG_JOB_REPLY_PROGRESS {}
532 impl ::std::default::Default for BG_JOB_REPLY_PROGRESS {
default() -> Self533     fn default() -> Self {
534         unsafe { ::std::mem::zeroed() }
535     }
536 }
537 impl ::std::fmt::Debug for BG_JOB_REPLY_PROGRESS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result538     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
539         fmt.debug_struct("BG_JOB_REPLY_PROGRESS").field("BytesTotal", &self.BytesTotal).field("BytesTransferred", &self.BytesTransferred).finish()
540     }
541 }
542 impl ::std::cmp::PartialEq for BG_JOB_REPLY_PROGRESS {
eq(&self, other: &Self) -> bool543     fn eq(&self, other: &Self) -> bool {
544         self.BytesTotal == other.BytesTotal && self.BytesTransferred == other.BytesTransferred
545     }
546 }
547 impl ::std::cmp::Eq for BG_JOB_REPLY_PROGRESS {}
548 unsafe impl ::windows::runtime::Abi for BG_JOB_REPLY_PROGRESS {
549     type Abi = Self;
550     type DefaultType = Self;
551 }
552 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
553 #[repr(transparent)]
554 pub struct BG_JOB_STATE(pub i32);
555 pub const BG_JOB_STATE_QUEUED: BG_JOB_STATE = BG_JOB_STATE(0i32);
556 pub const BG_JOB_STATE_CONNECTING: BG_JOB_STATE = BG_JOB_STATE(1i32);
557 pub const BG_JOB_STATE_TRANSFERRING: BG_JOB_STATE = BG_JOB_STATE(2i32);
558 pub const BG_JOB_STATE_SUSPENDED: BG_JOB_STATE = BG_JOB_STATE(3i32);
559 pub const BG_JOB_STATE_ERROR: BG_JOB_STATE = BG_JOB_STATE(4i32);
560 pub const BG_JOB_STATE_TRANSIENT_ERROR: BG_JOB_STATE = BG_JOB_STATE(5i32);
561 pub const BG_JOB_STATE_TRANSFERRED: BG_JOB_STATE = BG_JOB_STATE(6i32);
562 pub const BG_JOB_STATE_ACKNOWLEDGED: BG_JOB_STATE = BG_JOB_STATE(7i32);
563 pub const BG_JOB_STATE_CANCELLED: BG_JOB_STATE = BG_JOB_STATE(8i32);
564 impl ::std::convert::From<i32> for BG_JOB_STATE {
from(value: i32) -> Self565     fn from(value: i32) -> Self {
566         Self(value)
567     }
568 }
569 unsafe impl ::windows::runtime::Abi for BG_JOB_STATE {
570     type Abi = Self;
571     type DefaultType = Self;
572 }
573 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
574 #[repr(C)]
575 #[cfg(feature = "Win32_Foundation")]
576 pub struct BG_JOB_TIMES {
577     pub CreationTime: super::super::Foundation::FILETIME,
578     pub ModificationTime: super::super::Foundation::FILETIME,
579     pub TransferCompletionTime: super::super::Foundation::FILETIME,
580 }
581 #[cfg(feature = "Win32_Foundation")]
582 impl BG_JOB_TIMES {}
583 #[cfg(feature = "Win32_Foundation")]
584 impl ::std::default::Default for BG_JOB_TIMES {
default() -> Self585     fn default() -> Self {
586         unsafe { ::std::mem::zeroed() }
587     }
588 }
589 #[cfg(feature = "Win32_Foundation")]
590 impl ::std::fmt::Debug for BG_JOB_TIMES {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result591     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
592         fmt.debug_struct("BG_JOB_TIMES").field("CreationTime", &self.CreationTime).field("ModificationTime", &self.ModificationTime).field("TransferCompletionTime", &self.TransferCompletionTime).finish()
593     }
594 }
595 #[cfg(feature = "Win32_Foundation")]
596 impl ::std::cmp::PartialEq for BG_JOB_TIMES {
eq(&self, other: &Self) -> bool597     fn eq(&self, other: &Self) -> bool {
598         self.CreationTime == other.CreationTime && self.ModificationTime == other.ModificationTime && self.TransferCompletionTime == other.TransferCompletionTime
599     }
600 }
601 #[cfg(feature = "Win32_Foundation")]
602 impl ::std::cmp::Eq for BG_JOB_TIMES {}
603 #[cfg(feature = "Win32_Foundation")]
604 unsafe impl ::windows::runtime::Abi for BG_JOB_TIMES {
605     type Abi = Self;
606     type DefaultType = Self;
607 }
608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
609 #[repr(transparent)]
610 pub struct BG_JOB_TYPE(pub i32);
611 pub const BG_JOB_TYPE_DOWNLOAD: BG_JOB_TYPE = BG_JOB_TYPE(0i32);
612 pub const BG_JOB_TYPE_UPLOAD: BG_JOB_TYPE = BG_JOB_TYPE(1i32);
613 pub const BG_JOB_TYPE_UPLOAD_REPLY: BG_JOB_TYPE = BG_JOB_TYPE(2i32);
614 impl ::std::convert::From<i32> for BG_JOB_TYPE {
from(value: i32) -> Self615     fn from(value: i32) -> Self {
616         Self(value)
617     }
618 }
619 unsafe impl ::windows::runtime::Abi for BG_JOB_TYPE {
620     type Abi = Self;
621     type DefaultType = Self;
622 }
623 pub const BG_NOTIFY_DISABLE: u32 = 4u32;
624 pub const BG_NOTIFY_FILE_RANGES_TRANSFERRED: u32 = 32u32;
625 pub const BG_NOTIFY_FILE_TRANSFERRED: u32 = 16u32;
626 pub const BG_NOTIFY_JOB_ERROR: u32 = 2u32;
627 pub const BG_NOTIFY_JOB_MODIFICATION: u32 = 8u32;
628 pub const BG_NOTIFY_JOB_TRANSFERRED: u32 = 1u32;
629 pub const BG_SSL_ENABLE_CRL_CHECK: u32 = 1u32;
630 pub const BG_SSL_IGNORE_CERT_CN_INVALID: u32 = 2u32;
631 pub const BG_SSL_IGNORE_CERT_DATE_INVALID: u32 = 4u32;
632 pub const BG_SSL_IGNORE_CERT_WRONG_USAGE: u32 = 16u32;
633 pub const BG_SSL_IGNORE_UNKNOWN_CA: u32 = 8u32;
634 pub const BG_S_ERROR_CONTEXT_NONE: i32 = 2097158i32;
635 pub const BG_S_OVERRIDDEN_BY_POLICY: i32 = 2097237i32;
636 pub const BG_S_PARTIAL_COMPLETE: i32 = 2097175i32;
637 pub const BG_S_PROXY_CHANGED: i32 = 2097194i32;
638 pub const BG_S_UNABLE_TO_DELETE_FILES: i32 = 2097178i32;
639 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
640 #[repr(transparent)]
641 pub struct BG_TOKEN(pub u32);
642 pub const BG_TOKEN_LOCAL_FILE: BG_TOKEN = BG_TOKEN(1u32);
643 pub const BG_TOKEN_NETWORK: BG_TOKEN = BG_TOKEN(2u32);
644 impl ::std::convert::From<u32> for BG_TOKEN {
from(value: u32) -> Self645     fn from(value: u32) -> Self {
646         Self(value)
647     }
648 }
649 unsafe impl ::windows::runtime::Abi for BG_TOKEN {
650     type Abi = Self;
651     type DefaultType = Self;
652 }
653 impl ::std::ops::BitOr for BG_TOKEN {
654     type Output = Self;
bitor(self, rhs: Self) -> Self655     fn bitor(self, rhs: Self) -> Self {
656         Self(self.0 | rhs.0)
657     }
658 }
659 impl ::std::ops::BitAnd for BG_TOKEN {
660     type Output = Self;
bitand(self, rhs: Self) -> Self661     fn bitand(self, rhs: Self) -> Self {
662         Self(self.0 & rhs.0)
663     }
664 }
665 impl ::std::ops::BitOrAssign for BG_TOKEN {
bitor_assign(&mut self, rhs: Self)666     fn bitor_assign(&mut self, rhs: Self) {
667         self.0.bitor_assign(rhs.0)
668     }
669 }
670 impl ::std::ops::BitAndAssign for BG_TOKEN {
bitand_assign(&mut self, rhs: Self)671     fn bitand_assign(&mut self, rhs: Self) {
672         self.0.bitand_assign(rhs.0)
673     }
674 }
675 impl ::std::ops::Not for BG_TOKEN {
676     type Output = Self;
not(self) -> Self677     fn not(self) -> Self {
678         Self(self.0.not())
679     }
680 }
681 pub const BITSExtensionSetupFactory: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4022053736, 29318, 18307, [148, 191, 148, 97, 216, 183, 231, 233]);
682 pub const BITS_COST_OPTION_IGNORE_CONGESTION: u32 = 2147483648u32;
683 pub const BITS_COST_STATE_BELOW_CAP: u32 = 4u32;
684 pub const BITS_COST_STATE_CAPPED_USAGE_UNKNOWN: u32 = 2u32;
685 pub const BITS_COST_STATE_NEAR_CAP: u32 = 8u32;
686 pub const BITS_COST_STATE_OVERCAP_CHARGED: u32 = 16u32;
687 pub const BITS_COST_STATE_OVERCAP_THROTTLED: u32 = 32u32;
688 pub const BITS_COST_STATE_RESERVED: u32 = 1073741824u32;
689 pub const BITS_COST_STATE_ROAMING: u32 = 128u32;
690 pub const BITS_COST_STATE_UNRESTRICTED: u32 = 1u32;
691 pub const BITS_COST_STATE_USAGE_BASED: u32 = 64u32;
692 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
693 #[repr(transparent)]
694 pub struct BITS_FILE_PROPERTY_ID(pub i32);
695 pub const BITS_FILE_PROPERTY_ID_HTTP_RESPONSE_HEADERS: BITS_FILE_PROPERTY_ID = BITS_FILE_PROPERTY_ID(1i32);
696 impl ::std::convert::From<i32> for BITS_FILE_PROPERTY_ID {
from(value: i32) -> Self697     fn from(value: i32) -> Self {
698         Self(value)
699     }
700 }
701 unsafe impl ::windows::runtime::Abi for BITS_FILE_PROPERTY_ID {
702     type Abi = Self;
703     type DefaultType = Self;
704 }
705 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
706 #[repr(C)]
707 #[cfg(feature = "Win32_Foundation")]
708 pub union BITS_FILE_PROPERTY_VALUE {
709     pub String: super::super::Foundation::PWSTR,
710 }
711 #[cfg(feature = "Win32_Foundation")]
712 impl BITS_FILE_PROPERTY_VALUE {}
713 #[cfg(feature = "Win32_Foundation")]
714 impl ::std::default::Default for BITS_FILE_PROPERTY_VALUE {
default() -> Self715     fn default() -> Self {
716         unsafe { ::std::mem::zeroed() }
717     }
718 }
719 #[cfg(feature = "Win32_Foundation")]
720 impl ::std::cmp::PartialEq for BITS_FILE_PROPERTY_VALUE {
eq(&self, _other: &Self) -> bool721     fn eq(&self, _other: &Self) -> bool {
722         unimplemented!()
723     }
724 }
725 #[cfg(feature = "Win32_Foundation")]
726 impl ::std::cmp::Eq for BITS_FILE_PROPERTY_VALUE {}
727 #[cfg(feature = "Win32_Foundation")]
728 unsafe impl ::windows::runtime::Abi for BITS_FILE_PROPERTY_VALUE {
729     type Abi = Self;
730     type DefaultType = Self;
731 }
732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
733 #[repr(transparent)]
734 pub struct BITS_JOB_PROPERTY_ID(pub i32);
735 pub const BITS_JOB_PROPERTY_ID_COST_FLAGS: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(1i32);
736 pub const BITS_JOB_PROPERTY_NOTIFICATION_CLSID: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(2i32);
737 pub const BITS_JOB_PROPERTY_DYNAMIC_CONTENT: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(3i32);
738 pub const BITS_JOB_PROPERTY_HIGH_PERFORMANCE: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(4i32);
739 pub const BITS_JOB_PROPERTY_MAX_DOWNLOAD_SIZE: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(5i32);
740 pub const BITS_JOB_PROPERTY_USE_STORED_CREDENTIALS: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(7i32);
741 pub const BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL_MS: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(9i32);
742 pub const BITS_JOB_PROPERTY_ON_DEMAND_MODE: BITS_JOB_PROPERTY_ID = BITS_JOB_PROPERTY_ID(10i32);
743 impl ::std::convert::From<i32> for BITS_JOB_PROPERTY_ID {
from(value: i32) -> Self744     fn from(value: i32) -> Self {
745         Self(value)
746     }
747 }
748 unsafe impl ::windows::runtime::Abi for BITS_JOB_PROPERTY_ID {
749     type Abi = Self;
750     type DefaultType = Self;
751 }
752 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
753 #[repr(C)]
754 #[cfg(feature = "Win32_Foundation")]
755 pub union BITS_JOB_PROPERTY_VALUE {
756     pub Dword: u32,
757     pub ClsID: ::windows::runtime::GUID,
758     pub Enable: super::super::Foundation::BOOL,
759     pub Uint64: u64,
760     pub Target: BG_AUTH_TARGET,
761 }
762 #[cfg(feature = "Win32_Foundation")]
763 impl BITS_JOB_PROPERTY_VALUE {}
764 #[cfg(feature = "Win32_Foundation")]
765 impl ::std::default::Default for BITS_JOB_PROPERTY_VALUE {
default() -> Self766     fn default() -> Self {
767         unsafe { ::std::mem::zeroed() }
768     }
769 }
770 #[cfg(feature = "Win32_Foundation")]
771 impl ::std::cmp::PartialEq for BITS_JOB_PROPERTY_VALUE {
eq(&self, _other: &Self) -> bool772     fn eq(&self, _other: &Self) -> bool {
773         unimplemented!()
774     }
775 }
776 #[cfg(feature = "Win32_Foundation")]
777 impl ::std::cmp::Eq for BITS_JOB_PROPERTY_VALUE {}
778 #[cfg(feature = "Win32_Foundation")]
779 unsafe impl ::windows::runtime::Abi for BITS_JOB_PROPERTY_VALUE {
780     type Abi = Self;
781     type DefaultType = Self;
782 }
783 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
784 #[repr(transparent)]
785 pub struct BITS_JOB_TRANSFER_POLICY(pub i32);
786 pub const BITS_JOB_TRANSFER_POLICY_ALWAYS: BITS_JOB_TRANSFER_POLICY = BITS_JOB_TRANSFER_POLICY(-2147483393i32);
787 pub const BITS_JOB_TRANSFER_POLICY_NOT_ROAMING: BITS_JOB_TRANSFER_POLICY = BITS_JOB_TRANSFER_POLICY(-2147483521i32);
788 pub const BITS_JOB_TRANSFER_POLICY_NO_SURCHARGE: BITS_JOB_TRANSFER_POLICY = BITS_JOB_TRANSFER_POLICY(-2147483537i32);
789 pub const BITS_JOB_TRANSFER_POLICY_STANDARD: BITS_JOB_TRANSFER_POLICY = BITS_JOB_TRANSFER_POLICY(-2147483545i32);
790 pub const BITS_JOB_TRANSFER_POLICY_UNRESTRICTED: BITS_JOB_TRANSFER_POLICY = BITS_JOB_TRANSFER_POLICY(-2147483615i32);
791 impl ::std::convert::From<i32> for BITS_JOB_TRANSFER_POLICY {
from(value: i32) -> Self792     fn from(value: i32) -> Self {
793         Self(value)
794     }
795 }
796 unsafe impl ::windows::runtime::Abi for BITS_JOB_TRANSFER_POLICY {
797     type Abi = Self;
798     type DefaultType = Self;
799 }
800 pub const BITS_MC_FAILED_TO_START: i32 = -2145828856i32;
801 pub const BITS_MC_FATAL_IGD_ERROR: i32 = -2145828855i32;
802 pub const BITS_MC_FILE_DELETION_FAILED: i32 = -2145828863i32;
803 pub const BITS_MC_FILE_DELETION_FAILED_MORE: i32 = -2145828862i32;
804 pub const BITS_MC_JOB_CANCELLED: i32 = -2145828864i32;
805 pub const BITS_MC_JOB_NOTIFICATION_FAILURE: i32 = -2145828858i32;
806 pub const BITS_MC_JOB_PROPERTY_CHANGE: i32 = -2145828861i32;
807 pub const BITS_MC_JOB_SCAVENGED: i32 = -2145828859i32;
808 pub const BITS_MC_JOB_TAKE_OWNERSHIP: i32 = -2145828860i32;
809 pub const BITS_MC_PEERCACHING_PORT: i32 = -2145828854i32;
810 pub const BITS_MC_STATE_FILE_CORRUPT: i32 = -2145828857i32;
811 pub const BITS_MC_WSD_PORT: i32 = -2145828853i32;
812 pub const BackgroundCopyManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1234293579, 32929, 17041, [131, 182, 51, 40, 54, 107, 144, 151]);
813 pub const BackgroundCopyManager10_1: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1272177889, 31700, 18987, [153, 100, 73, 100, 0, 222, 81, 147]);
814 pub const BackgroundCopyManager10_2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1165312911, 42696, 18806, [176, 254, 47, 38, 184, 13, 149, 158]);
815 pub const BackgroundCopyManager10_3: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1607740117, 49230, 19766, [173, 199, 224, 143, 241, 87, 55, 173]);
816 pub const BackgroundCopyManager1_5: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4035409695, 55119, 19482, [187, 138, 225, 106, 202, 145, 36, 234]);
817 pub const BackgroundCopyManager2_0: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1830333714, 48611, 17299, [179, 17, 9, 156, 52, 110, 109, 249]);
818 pub const BackgroundCopyManager2_5: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(63609046, 65373, 18872, [171, 198, 3, 221, 132, 18, 112, 32]);
819 pub const BackgroundCopyManager3_0: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779431, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
820 pub const BackgroundCopyManager4_0: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3144545643, 51918, 4572, [153, 146, 0, 25, 185, 58, 58, 132]);
821 pub const BackgroundCopyManager5_0: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(516727628, 59530, 17635, [141, 106, 137, 33, 189, 233, 228, 82]);
822 pub const BackgroundCopyQMgr: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1772964590, 20926, 17307, [169, 44, 134, 174, 73, 14, 139, 48]);
823 #[derive(:: std :: clone :: Clone)]
824 #[repr(C)]
825 #[cfg(feature = "Win32_Foundation")]
826 pub struct FILESETINFO {
827     pub bstrRemoteFile: super::super::Foundation::BSTR,
828     pub bstrLocalFile: super::super::Foundation::BSTR,
829     pub dwSizeHint: u32,
830 }
831 #[cfg(feature = "Win32_Foundation")]
832 impl FILESETINFO {}
833 #[cfg(feature = "Win32_Foundation")]
834 impl ::std::default::Default for FILESETINFO {
default() -> Self835     fn default() -> Self {
836         unsafe { ::std::mem::zeroed() }
837     }
838 }
839 #[cfg(feature = "Win32_Foundation")]
840 impl ::std::fmt::Debug for FILESETINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result841     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
842         fmt.debug_struct("FILESETINFO").field("bstrRemoteFile", &self.bstrRemoteFile).field("bstrLocalFile", &self.bstrLocalFile).field("dwSizeHint", &self.dwSizeHint).finish()
843     }
844 }
845 #[cfg(feature = "Win32_Foundation")]
846 impl ::std::cmp::PartialEq for FILESETINFO {
eq(&self, other: &Self) -> bool847     fn eq(&self, other: &Self) -> bool {
848         self.bstrRemoteFile == other.bstrRemoteFile && self.bstrLocalFile == other.bstrLocalFile && self.dwSizeHint == other.dwSizeHint
849     }
850 }
851 #[cfg(feature = "Win32_Foundation")]
852 impl ::std::cmp::Eq for FILESETINFO {}
853 #[cfg(feature = "Win32_Foundation")]
854 unsafe impl ::windows::runtime::Abi for FILESETINFO {
855     type Abi = ::std::mem::ManuallyDrop<Self>;
856     type DefaultType = Self;
857 }
858 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
859 #[repr(transparent)]
860 pub struct GROUPPROP(pub i32);
861 pub const GROUPPROP_PRIORITY: GROUPPROP = GROUPPROP(0i32);
862 pub const GROUPPROP_REMOTEUSERID: GROUPPROP = GROUPPROP(1i32);
863 pub const GROUPPROP_REMOTEUSERPWD: GROUPPROP = GROUPPROP(2i32);
864 pub const GROUPPROP_LOCALUSERID: GROUPPROP = GROUPPROP(3i32);
865 pub const GROUPPROP_LOCALUSERPWD: GROUPPROP = GROUPPROP(4i32);
866 pub const GROUPPROP_PROTOCOLFLAGS: GROUPPROP = GROUPPROP(5i32);
867 pub const GROUPPROP_NOTIFYFLAGS: GROUPPROP = GROUPPROP(6i32);
868 pub const GROUPPROP_NOTIFYCLSID: GROUPPROP = GROUPPROP(7i32);
869 pub const GROUPPROP_PROGRESSSIZE: GROUPPROP = GROUPPROP(8i32);
870 pub const GROUPPROP_PROGRESSPERCENT: GROUPPROP = GROUPPROP(9i32);
871 pub const GROUPPROP_PROGRESSTIME: GROUPPROP = GROUPPROP(10i32);
872 pub const GROUPPROP_DISPLAYNAME: GROUPPROP = GROUPPROP(11i32);
873 pub const GROUPPROP_DESCRIPTION: GROUPPROP = GROUPPROP(12i32);
874 impl ::std::convert::From<i32> for GROUPPROP {
from(value: i32) -> Self875     fn from(value: i32) -> Self {
876         Self(value)
877     }
878 }
879 unsafe impl ::windows::runtime::Abi for GROUPPROP {
880     type Abi = Self;
881     type DefaultType = Self;
882 }
883 #[repr(transparent)]
884 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
885 pub struct IBITSExtensionSetup(::windows::runtime::IUnknown);
886 impl IBITSExtensionSetup {
EnableBITSUploads(&self) -> ::windows::runtime::Result<()>887     pub unsafe fn EnableBITSUploads(&self) -> ::windows::runtime::Result<()> {
888         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
889     }
DisableBITSUploads(&self) -> ::windows::runtime::Result<()>890     pub unsafe fn DisableBITSUploads(&self) -> ::windows::runtime::Result<()> {
891         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
892     }
893     #[cfg(feature = "Win32_Foundation")]
GetCleanupTaskName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>894     pub unsafe fn GetCleanupTaskName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
895         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
896         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
897     }
GetCleanupTask(&self, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::IUnknown>898     pub unsafe fn GetCleanupTask(&self, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
899         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
900         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
901     }
902 }
903 unsafe impl ::windows::runtime::Interface for IBITSExtensionSetup {
904     type Vtable = IBITSExtensionSetup_abi;
905     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(701479927, 2532, 19351, [176, 188, 242, 40, 126, 61, 142, 179]);
906 }
907 impl ::std::convert::From<IBITSExtensionSetup> for ::windows::runtime::IUnknown {
from(value: IBITSExtensionSetup) -> Self908     fn from(value: IBITSExtensionSetup) -> Self {
909         unsafe { ::std::mem::transmute(value) }
910     }
911 }
912 impl ::std::convert::From<&IBITSExtensionSetup> for ::windows::runtime::IUnknown {
from(value: &IBITSExtensionSetup) -> Self913     fn from(value: &IBITSExtensionSetup) -> Self {
914         ::std::convert::From::from(::std::clone::Clone::clone(value))
915     }
916 }
917 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBITSExtensionSetup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>918     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
919         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
920     }
921 }
922 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBITSExtensionSetup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>923     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
924         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
925     }
926 }
927 #[cfg(feature = "Win32_System_Ole_Automation")]
928 impl ::std::convert::From<IBITSExtensionSetup> for super::super::System::Ole::Automation::IDispatch {
from(value: IBITSExtensionSetup) -> Self929     fn from(value: IBITSExtensionSetup) -> Self {
930         unsafe { ::std::mem::transmute(value) }
931     }
932 }
933 #[cfg(feature = "Win32_System_Ole_Automation")]
934 impl ::std::convert::From<&IBITSExtensionSetup> for super::super::System::Ole::Automation::IDispatch {
from(value: &IBITSExtensionSetup) -> Self935     fn from(value: &IBITSExtensionSetup) -> Self {
936         ::std::convert::From::from(::std::clone::Clone::clone(value))
937     }
938 }
939 #[cfg(feature = "Win32_System_Ole_Automation")]
940 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IBITSExtensionSetup {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>941     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
942         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
943     }
944 }
945 #[cfg(feature = "Win32_System_Ole_Automation")]
946 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IBITSExtensionSetup {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>947     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
948         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
949     }
950 }
951 #[repr(C)]
952 #[doc(hidden)]
953 pub struct IBITSExtensionSetup_abi(
954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
958     #[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,
959     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
960     #[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,
961     #[cfg(not(feature = "Win32_Foundation"))] usize,
962     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
963     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,
964     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
967     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptaskname: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
968     #[cfg(not(feature = "Win32_Foundation"))] usize,
969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
970 );
971 #[repr(transparent)]
972 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
973 pub struct IBITSExtensionSetupFactory(::windows::runtime::IUnknown);
974 impl IBITSExtensionSetupFactory {
975     #[cfg(feature = "Win32_Foundation")]
GetObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IBITSExtensionSetup>976     pub unsafe fn GetObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, path: Param0) -> ::windows::runtime::Result<IBITSExtensionSetup> {
977         let mut result__: <IBITSExtensionSetup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
978         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), path.into_param().abi(), &mut result__).from_abi::<IBITSExtensionSetup>(result__)
979     }
980 }
981 unsafe impl ::windows::runtime::Interface for IBITSExtensionSetupFactory {
982     type Vtable = IBITSExtensionSetupFactory_abi;
983     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3587364162, 21763, 20068, [139, 72, 114, 239, 145, 163, 46, 225]);
984 }
985 impl ::std::convert::From<IBITSExtensionSetupFactory> for ::windows::runtime::IUnknown {
from(value: IBITSExtensionSetupFactory) -> Self986     fn from(value: IBITSExtensionSetupFactory) -> Self {
987         unsafe { ::std::mem::transmute(value) }
988     }
989 }
990 impl ::std::convert::From<&IBITSExtensionSetupFactory> for ::windows::runtime::IUnknown {
from(value: &IBITSExtensionSetupFactory) -> Self991     fn from(value: &IBITSExtensionSetupFactory) -> Self {
992         ::std::convert::From::from(::std::clone::Clone::clone(value))
993     }
994 }
995 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBITSExtensionSetupFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>996     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
997         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
998     }
999 }
1000 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBITSExtensionSetupFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1001     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1002         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1003     }
1004 }
1005 #[cfg(feature = "Win32_System_Ole_Automation")]
1006 impl ::std::convert::From<IBITSExtensionSetupFactory> for super::super::System::Ole::Automation::IDispatch {
from(value: IBITSExtensionSetupFactory) -> Self1007     fn from(value: IBITSExtensionSetupFactory) -> Self {
1008         unsafe { ::std::mem::transmute(value) }
1009     }
1010 }
1011 #[cfg(feature = "Win32_System_Ole_Automation")]
1012 impl ::std::convert::From<&IBITSExtensionSetupFactory> for super::super::System::Ole::Automation::IDispatch {
from(value: &IBITSExtensionSetupFactory) -> Self1013     fn from(value: &IBITSExtensionSetupFactory) -> Self {
1014         ::std::convert::From::from(::std::clone::Clone::clone(value))
1015     }
1016 }
1017 #[cfg(feature = "Win32_System_Ole_Automation")]
1018 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for IBITSExtensionSetupFactory {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1019     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1020         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(self))
1021     }
1022 }
1023 #[cfg(feature = "Win32_System_Ole_Automation")]
1024 impl<'a> ::windows::runtime::IntoParam<'a, super::super::System::Ole::Automation::IDispatch> for &IBITSExtensionSetupFactory {
into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch>1025     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::System::Ole::Automation::IDispatch> {
1026         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::System::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
1027     }
1028 }
1029 #[repr(C)]
1030 #[doc(hidden)]
1031 pub struct IBITSExtensionSetupFactory_abi(
1032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
1036     #[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,
1037     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
1038     #[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,
1039     #[cfg(not(feature = "Win32_Foundation"))] usize,
1040     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
1041     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,
1042     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
1043     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, ppextensionsetup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1044     #[cfg(not(feature = "Win32_Foundation"))] usize,
1045 );
1046 #[repr(transparent)]
1047 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1048 pub struct IBackgroundCopyCallback(::windows::runtime::IUnknown);
1049 impl IBackgroundCopyCallback {
JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()>1050     pub unsafe fn JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()> {
1051         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pjob.into_param().abi()).ok()
1052     }
JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()>1053     pub unsafe fn JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()> {
1054         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pjob.into_param().abi(), perror.into_param().abi()).ok()
1055     }
JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()>1056     pub unsafe fn JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()> {
1057         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pjob.into_param().abi(), ::std::mem::transmute(dwreserved)).ok()
1058     }
1059 }
1060 unsafe impl ::windows::runtime::Interface for IBackgroundCopyCallback {
1061     type Vtable = IBackgroundCopyCallback_abi;
1062     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2548734407, 390, 19156, [141, 249, 197, 180, 224, 237, 107, 34]);
1063 }
1064 impl ::std::convert::From<IBackgroundCopyCallback> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyCallback) -> Self1065     fn from(value: IBackgroundCopyCallback) -> Self {
1066         unsafe { ::std::mem::transmute(value) }
1067     }
1068 }
1069 impl ::std::convert::From<&IBackgroundCopyCallback> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyCallback) -> Self1070     fn from(value: &IBackgroundCopyCallback) -> Self {
1071         ::std::convert::From::from(::std::clone::Clone::clone(value))
1072     }
1073 }
1074 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1075     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1076         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1077     }
1078 }
1079 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1080     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1081         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1082     }
1083 }
1084 #[repr(C)]
1085 #[doc(hidden)]
1086 pub struct IBackgroundCopyCallback_abi(
1087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, perror: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
1093 );
1094 #[repr(transparent)]
1095 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1096 pub struct IBackgroundCopyCallback1(::windows::runtime::IUnknown);
1097 impl IBackgroundCopyCallback1 {
OnStatus<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyGroup>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob1>>(&self, pgroup: Param0, pjob: Param1, dwfileindex: u32, dwstatus: u32, dwnumofretries: u32, dwwin32result: u32, dwtransportresult: u32) -> ::windows::runtime::Result<()>1098     pub unsafe fn OnStatus<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyGroup>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob1>>(&self, pgroup: Param0, pjob: Param1, dwfileindex: u32, dwstatus: u32, dwnumofretries: u32, dwwin32result: u32, dwtransportresult: u32) -> ::windows::runtime::Result<()> {
1099         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pgroup.into_param().abi(), pjob.into_param().abi(), ::std::mem::transmute(dwfileindex), ::std::mem::transmute(dwstatus), ::std::mem::transmute(dwnumofretries), ::std::mem::transmute(dwwin32result), ::std::mem::transmute(dwtransportresult)).ok()
1100     }
OnProgress<'a, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyGroup>, Param2: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob1>>(&self, progresstype: u32, pgroup: Param1, pjob: Param2, dwfileindex: u32, dwprogressvalue: u32) -> ::windows::runtime::Result<()>1101     pub unsafe fn OnProgress<'a, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyGroup>, Param2: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob1>>(&self, progresstype: u32, pgroup: Param1, pjob: Param2, dwfileindex: u32, dwprogressvalue: u32) -> ::windows::runtime::Result<()> {
1102         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(progresstype), pgroup.into_param().abi(), pjob.into_param().abi(), ::std::mem::transmute(dwfileindex), ::std::mem::transmute(dwprogressvalue)).ok()
1103     }
OnProgressEx<'a, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyGroup>, Param2: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob1>>(&self, progresstype: u32, pgroup: Param1, pjob: Param2, dwfileindex: u32, dwprogressvalue: u32, dwbytearraysize: u32, pbyte: *const u8) -> ::windows::runtime::Result<()>1104     pub unsafe fn OnProgressEx<'a, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyGroup>, Param2: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob1>>(&self, progresstype: u32, pgroup: Param1, pjob: Param2, dwfileindex: u32, dwprogressvalue: u32, dwbytearraysize: u32, pbyte: *const u8) -> ::windows::runtime::Result<()> {
1105         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(progresstype), pgroup.into_param().abi(), pjob.into_param().abi(), ::std::mem::transmute(dwfileindex), ::std::mem::transmute(dwprogressvalue), ::std::mem::transmute(dwbytearraysize), ::std::mem::transmute(pbyte)).ok()
1106     }
1107 }
1108 unsafe impl ::windows::runtime::Interface for IBackgroundCopyCallback1 {
1109     type Vtable = IBackgroundCopyCallback1_abi;
1110     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(139421075, 14336, 19976, [155, 89, 153, 250, 89, 173, 223, 130]);
1111 }
1112 impl ::std::convert::From<IBackgroundCopyCallback1> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyCallback1) -> Self1113     fn from(value: IBackgroundCopyCallback1) -> Self {
1114         unsafe { ::std::mem::transmute(value) }
1115     }
1116 }
1117 impl ::std::convert::From<&IBackgroundCopyCallback1> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyCallback1) -> Self1118     fn from(value: &IBackgroundCopyCallback1) -> Self {
1119         ::std::convert::From::from(::std::clone::Clone::clone(value))
1120     }
1121 }
1122 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyCallback1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1123     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1124         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1125     }
1126 }
1127 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyCallback1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1128     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1129         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1130     }
1131 }
1132 #[repr(C)]
1133 #[doc(hidden)]
1134 pub struct IBackgroundCopyCallback1_abi(
1135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pgroup: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, dwfileindex: u32, dwstatus: u32, dwnumofretries: u32, dwwin32result: u32, dwtransportresult: u32) -> ::windows::runtime::HRESULT,
1139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, progresstype: u32, pgroup: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, dwfileindex: u32, dwprogressvalue: u32) -> ::windows::runtime::HRESULT,
1140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, progresstype: u32, pgroup: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, dwfileindex: u32, dwprogressvalue: u32, dwbytearraysize: u32, pbyte: *const u8) -> ::windows::runtime::HRESULT,
1141 );
1142 #[repr(transparent)]
1143 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1144 pub struct IBackgroundCopyCallback2(::windows::runtime::IUnknown);
1145 impl IBackgroundCopyCallback2 {
JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()>1146     pub unsafe fn JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()> {
1147         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pjob.into_param().abi()).ok()
1148     }
JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()>1149     pub unsafe fn JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()> {
1150         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pjob.into_param().abi(), perror.into_param().abi()).ok()
1151     }
JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()>1152     pub unsafe fn JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()> {
1153         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pjob.into_param().abi(), ::std::mem::transmute(dwreserved)).ok()
1154     }
FileTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, pjob: Param0, pfile: Param1) -> ::windows::runtime::Result<()>1155     pub unsafe fn FileTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, pjob: Param0, pfile: Param1) -> ::windows::runtime::Result<()> {
1156         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pjob.into_param().abi(), pfile.into_param().abi()).ok()
1157     }
1158 }
1159 unsafe impl ::windows::runtime::Interface for IBackgroundCopyCallback2 {
1160     type Vtable = IBackgroundCopyCallback2_abi;
1161     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779436, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
1162 }
1163 impl ::std::convert::From<IBackgroundCopyCallback2> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyCallback2) -> Self1164     fn from(value: IBackgroundCopyCallback2) -> Self {
1165         unsafe { ::std::mem::transmute(value) }
1166     }
1167 }
1168 impl ::std::convert::From<&IBackgroundCopyCallback2> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyCallback2) -> Self1169     fn from(value: &IBackgroundCopyCallback2) -> Self {
1170         ::std::convert::From::from(::std::clone::Clone::clone(value))
1171     }
1172 }
1173 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1174     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1175         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1176     }
1177 }
1178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1181     }
1182 }
1183 impl ::std::convert::From<IBackgroundCopyCallback2> for IBackgroundCopyCallback {
from(value: IBackgroundCopyCallback2) -> Self1184     fn from(value: IBackgroundCopyCallback2) -> Self {
1185         unsafe { ::std::mem::transmute(value) }
1186     }
1187 }
1188 impl ::std::convert::From<&IBackgroundCopyCallback2> for IBackgroundCopyCallback {
from(value: &IBackgroundCopyCallback2) -> Self1189     fn from(value: &IBackgroundCopyCallback2) -> Self {
1190         ::std::convert::From::from(::std::clone::Clone::clone(value))
1191     }
1192 }
1193 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyCallback> for IBackgroundCopyCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback>1194     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback> {
1195         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyCallback>::into(self))
1196     }
1197 }
1198 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyCallback> for &IBackgroundCopyCallback2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback>1199     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback> {
1200         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyCallback>::into(::std::clone::Clone::clone(self)))
1201     }
1202 }
1203 #[repr(C)]
1204 #[doc(hidden)]
1205 pub struct IBackgroundCopyCallback2_abi(
1206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, perror: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
1212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, pfile: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1213 );
1214 #[repr(transparent)]
1215 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1216 pub struct IBackgroundCopyCallback3(::windows::runtime::IUnknown);
1217 impl IBackgroundCopyCallback3 {
JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()>1218     pub unsafe fn JobTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0) -> ::windows::runtime::Result<()> {
1219         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pjob.into_param().abi()).ok()
1220     }
JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()>1221     pub unsafe fn JobError<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyError>>(&self, pjob: Param0, perror: Param1) -> ::windows::runtime::Result<()> {
1222         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pjob.into_param().abi(), perror.into_param().abi()).ok()
1223     }
JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()>1224     pub unsafe fn JobModification<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>>(&self, pjob: Param0, dwreserved: u32) -> ::windows::runtime::Result<()> {
1225         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pjob.into_param().abi(), ::std::mem::transmute(dwreserved)).ok()
1226     }
FileTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, pjob: Param0, pfile: Param1) -> ::windows::runtime::Result<()>1227     pub unsafe fn FileTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, pjob: Param0, pfile: Param1) -> ::windows::runtime::Result<()> {
1228         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pjob.into_param().abi(), pfile.into_param().abi()).ok()
1229     }
FileRangesTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, job: Param0, file: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()>1230     pub unsafe fn FileRangesTransferred<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, job: Param0, file: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
1231         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), job.into_param().abi(), file.into_param().abi(), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
1232     }
1233 }
1234 unsafe impl ::windows::runtime::Interface for IBackgroundCopyCallback3 {
1235     type Vtable = IBackgroundCopyCallback3_abi;
1236     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2563341266, 58155, 19160, [165, 40, 149, 253, 139, 22, 189, 66]);
1237 }
1238 impl ::std::convert::From<IBackgroundCopyCallback3> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyCallback3) -> Self1239     fn from(value: IBackgroundCopyCallback3) -> Self {
1240         unsafe { ::std::mem::transmute(value) }
1241     }
1242 }
1243 impl ::std::convert::From<&IBackgroundCopyCallback3> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyCallback3) -> Self1244     fn from(value: &IBackgroundCopyCallback3) -> Self {
1245         ::std::convert::From::from(::std::clone::Clone::clone(value))
1246     }
1247 }
1248 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyCallback3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1249     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1250         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1251     }
1252 }
1253 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyCallback3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1254     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1255         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1256     }
1257 }
1258 impl ::std::convert::From<IBackgroundCopyCallback3> for IBackgroundCopyCallback2 {
from(value: IBackgroundCopyCallback3) -> Self1259     fn from(value: IBackgroundCopyCallback3) -> Self {
1260         unsafe { ::std::mem::transmute(value) }
1261     }
1262 }
1263 impl ::std::convert::From<&IBackgroundCopyCallback3> for IBackgroundCopyCallback2 {
from(value: &IBackgroundCopyCallback3) -> Self1264     fn from(value: &IBackgroundCopyCallback3) -> Self {
1265         ::std::convert::From::from(::std::clone::Clone::clone(value))
1266     }
1267 }
1268 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyCallback2> for IBackgroundCopyCallback3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback2>1269     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback2> {
1270         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyCallback2>::into(self))
1271     }
1272 }
1273 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyCallback2> for &IBackgroundCopyCallback3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback2>1274     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback2> {
1275         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyCallback2>::into(::std::clone::Clone::clone(self)))
1276     }
1277 }
1278 impl ::std::convert::From<IBackgroundCopyCallback3> for IBackgroundCopyCallback {
from(value: IBackgroundCopyCallback3) -> Self1279     fn from(value: IBackgroundCopyCallback3) -> Self {
1280         unsafe { ::std::mem::transmute(value) }
1281     }
1282 }
1283 impl ::std::convert::From<&IBackgroundCopyCallback3> for IBackgroundCopyCallback {
from(value: &IBackgroundCopyCallback3) -> Self1284     fn from(value: &IBackgroundCopyCallback3) -> Self {
1285         ::std::convert::From::from(::std::clone::Clone::clone(value))
1286     }
1287 }
1288 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyCallback> for IBackgroundCopyCallback3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback>1289     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback> {
1290         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyCallback>::into(self))
1291     }
1292 }
1293 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyCallback> for &IBackgroundCopyCallback3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback>1294     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyCallback> {
1295         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyCallback>::into(::std::clone::Clone::clone(self)))
1296     }
1297 }
1298 #[repr(C)]
1299 #[doc(hidden)]
1300 pub struct IBackgroundCopyCallback3_abi(
1301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, perror: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
1307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pjob: ::windows::runtime::RawPtr, pfile: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, job: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
1309 );
1310 #[repr(transparent)]
1311 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1312 pub struct IBackgroundCopyError(::windows::runtime::IUnknown);
1313 impl IBackgroundCopyError {
GetError(&self, pcontext: *mut BG_ERROR_CONTEXT, pcode: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>1314     pub unsafe fn GetError(&self, pcontext: *mut BG_ERROR_CONTEXT, pcode: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
1315         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcontext), ::std::mem::transmute(pcode)).ok()
1316     }
GetFile(&self) -> ::windows::runtime::Result<IBackgroundCopyFile>1317     pub unsafe fn GetFile(&self) -> ::windows::runtime::Result<IBackgroundCopyFile> {
1318         let mut result__: <IBackgroundCopyFile as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1319         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBackgroundCopyFile>(result__)
1320     }
1321     #[cfg(feature = "Win32_Foundation")]
GetErrorDescription(&self, languageid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1322     pub unsafe fn GetErrorDescription(&self, languageid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1323         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1324         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(languageid), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1325     }
1326     #[cfg(feature = "Win32_Foundation")]
GetErrorContextDescription(&self, languageid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1327     pub unsafe fn GetErrorContextDescription(&self, languageid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1328         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1329         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(languageid), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1330     }
1331     #[cfg(feature = "Win32_Foundation")]
GetProtocol(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1332     pub unsafe fn GetProtocol(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1333         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1334         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1335     }
1336 }
1337 unsafe impl ::windows::runtime::Interface for IBackgroundCopyError {
1338     type Vtable = IBackgroundCopyError_abi;
1339     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(432411552, 64696, 20264, [129, 174, 137, 124, 61, 7, 143, 129]);
1340 }
1341 impl ::std::convert::From<IBackgroundCopyError> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyError) -> Self1342     fn from(value: IBackgroundCopyError) -> Self {
1343         unsafe { ::std::mem::transmute(value) }
1344     }
1345 }
1346 impl ::std::convert::From<&IBackgroundCopyError> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyError) -> Self1347     fn from(value: &IBackgroundCopyError) -> Self {
1348         ::std::convert::From::from(::std::clone::Clone::clone(value))
1349     }
1350 }
1351 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1352     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1353         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1354     }
1355 }
1356 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1357     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1358         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1359     }
1360 }
1361 #[repr(C)]
1362 #[doc(hidden)]
1363 pub struct IBackgroundCopyError_abi(
1364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcontext: *mut BG_ERROR_CONTEXT, pcode: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1369     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, languageid: u32, perrordescription: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1370     #[cfg(not(feature = "Win32_Foundation"))] usize,
1371     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, languageid: u32, pcontextdescription: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1372     #[cfg(not(feature = "Win32_Foundation"))] usize,
1373     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprotocol: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1374     #[cfg(not(feature = "Win32_Foundation"))] usize,
1375 );
1376 #[repr(transparent)]
1377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1378 pub struct IBackgroundCopyFile(::windows::runtime::IUnknown);
1379 impl IBackgroundCopyFile {
1380     #[cfg(feature = "Win32_Foundation")]
GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1381     pub unsafe fn GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1382         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1383         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1384     }
1385     #[cfg(feature = "Win32_Foundation")]
GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1386     pub unsafe fn GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1387         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1388         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1389     }
1390     #[cfg(feature = "Win32_Foundation")]
GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS>1391     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS> {
1392         let mut result__: <BG_FILE_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1393         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_FILE_PROGRESS>(result__)
1394     }
1395 }
1396 unsafe impl ::windows::runtime::Interface for IBackgroundCopyFile {
1397     type Vtable = IBackgroundCopyFile_abi;
1398     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(28818723, 64392, 19063, [132, 144, 88, 145, 211, 228, 101, 58]);
1399 }
1400 impl ::std::convert::From<IBackgroundCopyFile> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyFile) -> Self1401     fn from(value: IBackgroundCopyFile) -> Self {
1402         unsafe { ::std::mem::transmute(value) }
1403     }
1404 }
1405 impl ::std::convert::From<&IBackgroundCopyFile> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyFile) -> Self1406     fn from(value: &IBackgroundCopyFile) -> Self {
1407         ::std::convert::From::from(::std::clone::Clone::clone(value))
1408     }
1409 }
1410 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1411     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1412         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1413     }
1414 }
1415 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1416     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1417         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1418     }
1419 }
1420 #[repr(C)]
1421 #[doc(hidden)]
1422 pub struct IBackgroundCopyFile_abi(
1423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1426     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1427     #[cfg(not(feature = "Win32_Foundation"))] usize,
1428     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1429     #[cfg(not(feature = "Win32_Foundation"))] usize,
1430     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_FILE_PROGRESS) -> ::windows::runtime::HRESULT,
1431     #[cfg(not(feature = "Win32_Foundation"))] usize,
1432 );
1433 #[repr(transparent)]
1434 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1435 pub struct IBackgroundCopyFile2(::windows::runtime::IUnknown);
1436 impl IBackgroundCopyFile2 {
1437     #[cfg(feature = "Win32_Foundation")]
GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1438     pub unsafe fn GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1439         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1440         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1441     }
1442     #[cfg(feature = "Win32_Foundation")]
GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1443     pub unsafe fn GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1444         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1445         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1446     }
1447     #[cfg(feature = "Win32_Foundation")]
GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS>1448     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS> {
1449         let mut result__: <BG_FILE_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1450         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_FILE_PROGRESS>(result__)
1451     }
GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()>1452     pub unsafe fn GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
1453         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
1454     }
1455     #[cfg(feature = "Win32_Foundation")]
SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>1456     pub unsafe fn SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
1457         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
1458     }
1459 }
1460 unsafe impl ::windows::runtime::Interface for IBackgroundCopyFile2 {
1461     type Vtable = IBackgroundCopyFile2_abi;
1462     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2213026707, 2163, 18253, [138, 140, 242, 1, 139, 26, 147, 156]);
1463 }
1464 impl ::std::convert::From<IBackgroundCopyFile2> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyFile2) -> Self1465     fn from(value: IBackgroundCopyFile2) -> Self {
1466         unsafe { ::std::mem::transmute(value) }
1467     }
1468 }
1469 impl ::std::convert::From<&IBackgroundCopyFile2> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyFile2) -> Self1470     fn from(value: &IBackgroundCopyFile2) -> Self {
1471         ::std::convert::From::from(::std::clone::Clone::clone(value))
1472     }
1473 }
1474 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyFile2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1475     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1476         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1477     }
1478 }
1479 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyFile2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1480     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1481         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1482     }
1483 }
1484 impl ::std::convert::From<IBackgroundCopyFile2> for IBackgroundCopyFile {
from(value: IBackgroundCopyFile2) -> Self1485     fn from(value: IBackgroundCopyFile2) -> Self {
1486         unsafe { ::std::mem::transmute(value) }
1487     }
1488 }
1489 impl ::std::convert::From<&IBackgroundCopyFile2> for IBackgroundCopyFile {
from(value: &IBackgroundCopyFile2) -> Self1490     fn from(value: &IBackgroundCopyFile2) -> Self {
1491         ::std::convert::From::from(::std::clone::Clone::clone(value))
1492     }
1493 }
1494 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for IBackgroundCopyFile2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1495     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1496         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(self))
1497     }
1498 }
1499 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for &IBackgroundCopyFile2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1500     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1501         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(::std::clone::Clone::clone(self)))
1502     }
1503 }
1504 #[repr(C)]
1505 #[doc(hidden)]
1506 pub struct IBackgroundCopyFile2_abi(
1507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1510     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1511     #[cfg(not(feature = "Win32_Foundation"))] usize,
1512     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1513     #[cfg(not(feature = "Win32_Foundation"))] usize,
1514     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_FILE_PROGRESS) -> ::windows::runtime::HRESULT,
1515     #[cfg(not(feature = "Win32_Foundation"))] usize,
1516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
1517     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1518     #[cfg(not(feature = "Win32_Foundation"))] usize,
1519 );
1520 #[repr(transparent)]
1521 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1522 pub struct IBackgroundCopyFile3(::windows::runtime::IUnknown);
1523 impl IBackgroundCopyFile3 {
1524     #[cfg(feature = "Win32_Foundation")]
GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1525     pub unsafe fn GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1526         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1527         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1528     }
1529     #[cfg(feature = "Win32_Foundation")]
GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1530     pub unsafe fn GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1531         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1532         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1533     }
1534     #[cfg(feature = "Win32_Foundation")]
GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS>1535     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS> {
1536         let mut result__: <BG_FILE_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1537         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_FILE_PROGRESS>(result__)
1538     }
GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()>1539     pub unsafe fn GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
1540         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
1541     }
1542     #[cfg(feature = "Win32_Foundation")]
SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>1543     pub unsafe fn SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
1544         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
1545     }
1546     #[cfg(feature = "Win32_Foundation")]
GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1547     pub unsafe fn GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1548         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1549         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1550     }
1551     #[cfg(feature = "Win32_Foundation")]
SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()>1552     pub unsafe fn SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()> {
1553         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), state.into_param().abi()).ok()
1554     }
1555     #[cfg(feature = "Win32_Foundation")]
GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1556     pub unsafe fn GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1557         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1558         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1559     }
1560     #[cfg(feature = "Win32_Foundation")]
IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1561     pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1562         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1563         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1564     }
1565 }
1566 unsafe impl ::windows::runtime::Interface for IBackgroundCopyFile3 {
1567     type Vtable = IBackgroundCopyFile3_abi;
1568     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779434, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
1569 }
1570 impl ::std::convert::From<IBackgroundCopyFile3> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyFile3) -> Self1571     fn from(value: IBackgroundCopyFile3) -> Self {
1572         unsafe { ::std::mem::transmute(value) }
1573     }
1574 }
1575 impl ::std::convert::From<&IBackgroundCopyFile3> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyFile3) -> Self1576     fn from(value: &IBackgroundCopyFile3) -> Self {
1577         ::std::convert::From::from(::std::clone::Clone::clone(value))
1578     }
1579 }
1580 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyFile3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1581     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1582         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1583     }
1584 }
1585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyFile3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1587         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1588     }
1589 }
1590 impl ::std::convert::From<IBackgroundCopyFile3> for IBackgroundCopyFile2 {
from(value: IBackgroundCopyFile3) -> Self1591     fn from(value: IBackgroundCopyFile3) -> Self {
1592         unsafe { ::std::mem::transmute(value) }
1593     }
1594 }
1595 impl ::std::convert::From<&IBackgroundCopyFile3> for IBackgroundCopyFile2 {
from(value: &IBackgroundCopyFile3) -> Self1596     fn from(value: &IBackgroundCopyFile3) -> Self {
1597         ::std::convert::From::from(::std::clone::Clone::clone(value))
1598     }
1599 }
1600 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for IBackgroundCopyFile3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>1601     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
1602         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(self))
1603     }
1604 }
1605 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for &IBackgroundCopyFile3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>1606     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
1607         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(::std::clone::Clone::clone(self)))
1608     }
1609 }
1610 impl ::std::convert::From<IBackgroundCopyFile3> for IBackgroundCopyFile {
from(value: IBackgroundCopyFile3) -> Self1611     fn from(value: IBackgroundCopyFile3) -> Self {
1612         unsafe { ::std::mem::transmute(value) }
1613     }
1614 }
1615 impl ::std::convert::From<&IBackgroundCopyFile3> for IBackgroundCopyFile {
from(value: &IBackgroundCopyFile3) -> Self1616     fn from(value: &IBackgroundCopyFile3) -> Self {
1617         ::std::convert::From::from(::std::clone::Clone::clone(value))
1618     }
1619 }
1620 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for IBackgroundCopyFile3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1621     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1622         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(self))
1623     }
1624 }
1625 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for &IBackgroundCopyFile3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1626     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1627         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(::std::clone::Clone::clone(self)))
1628     }
1629 }
1630 #[repr(C)]
1631 #[doc(hidden)]
1632 pub struct IBackgroundCopyFile3_abi(
1633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1636     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1637     #[cfg(not(feature = "Win32_Foundation"))] usize,
1638     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1639     #[cfg(not(feature = "Win32_Foundation"))] usize,
1640     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_FILE_PROGRESS) -> ::windows::runtime::HRESULT,
1641     #[cfg(not(feature = "Win32_Foundation"))] usize,
1642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
1643     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1644     #[cfg(not(feature = "Win32_Foundation"))] usize,
1645     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1646     #[cfg(not(feature = "Win32_Foundation"))] usize,
1647     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1648     #[cfg(not(feature = "Win32_Foundation"))] usize,
1649     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1650     #[cfg(not(feature = "Win32_Foundation"))] usize,
1651     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1652     #[cfg(not(feature = "Win32_Foundation"))] usize,
1653 );
1654 #[repr(transparent)]
1655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1656 pub struct IBackgroundCopyFile4(::windows::runtime::IUnknown);
1657 impl IBackgroundCopyFile4 {
1658     #[cfg(feature = "Win32_Foundation")]
GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1659     pub unsafe fn GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1660         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1661         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1662     }
1663     #[cfg(feature = "Win32_Foundation")]
GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1664     pub unsafe fn GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1665         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1666         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1667     }
1668     #[cfg(feature = "Win32_Foundation")]
GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS>1669     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS> {
1670         let mut result__: <BG_FILE_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1671         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_FILE_PROGRESS>(result__)
1672     }
GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()>1673     pub unsafe fn GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
1674         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
1675     }
1676     #[cfg(feature = "Win32_Foundation")]
SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>1677     pub unsafe fn SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
1678         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
1679     }
1680     #[cfg(feature = "Win32_Foundation")]
GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1681     pub unsafe fn GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1682         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1683         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1684     }
1685     #[cfg(feature = "Win32_Foundation")]
SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()>1686     pub unsafe fn SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()> {
1687         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), state.into_param().abi()).ok()
1688     }
1689     #[cfg(feature = "Win32_Foundation")]
GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1690     pub unsafe fn GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1691         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1692         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1693     }
1694     #[cfg(feature = "Win32_Foundation")]
IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1695     pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1696         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1697         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1698     }
GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::Result<()>1699     pub unsafe fn GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::Result<()> {
1700         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfromorigin), ::std::mem::transmute(pfrompeers)).ok()
1701     }
1702 }
1703 unsafe impl ::windows::runtime::Interface for IBackgroundCopyFile4 {
1704     type Vtable = IBackgroundCopyFile4_abi;
1705     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4018013781, 30856, 18784, [176, 229, 115, 8, 70, 224, 52, 146]);
1706 }
1707 impl ::std::convert::From<IBackgroundCopyFile4> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyFile4) -> Self1708     fn from(value: IBackgroundCopyFile4) -> Self {
1709         unsafe { ::std::mem::transmute(value) }
1710     }
1711 }
1712 impl ::std::convert::From<&IBackgroundCopyFile4> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyFile4) -> Self1713     fn from(value: &IBackgroundCopyFile4) -> Self {
1714         ::std::convert::From::from(::std::clone::Clone::clone(value))
1715     }
1716 }
1717 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1718     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1719         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1720     }
1721 }
1722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1724         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1725     }
1726 }
1727 impl ::std::convert::From<IBackgroundCopyFile4> for IBackgroundCopyFile3 {
from(value: IBackgroundCopyFile4) -> Self1728     fn from(value: IBackgroundCopyFile4) -> Self {
1729         unsafe { ::std::mem::transmute(value) }
1730     }
1731 }
1732 impl ::std::convert::From<&IBackgroundCopyFile4> for IBackgroundCopyFile3 {
from(value: &IBackgroundCopyFile4) -> Self1733     fn from(value: &IBackgroundCopyFile4) -> Self {
1734         ::std::convert::From::from(::std::clone::Clone::clone(value))
1735     }
1736 }
1737 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile3> for IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3>1738     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3> {
1739         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile3>::into(self))
1740     }
1741 }
1742 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile3> for &IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3>1743     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3> {
1744         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile3>::into(::std::clone::Clone::clone(self)))
1745     }
1746 }
1747 impl ::std::convert::From<IBackgroundCopyFile4> for IBackgroundCopyFile2 {
from(value: IBackgroundCopyFile4) -> Self1748     fn from(value: IBackgroundCopyFile4) -> Self {
1749         unsafe { ::std::mem::transmute(value) }
1750     }
1751 }
1752 impl ::std::convert::From<&IBackgroundCopyFile4> for IBackgroundCopyFile2 {
from(value: &IBackgroundCopyFile4) -> Self1753     fn from(value: &IBackgroundCopyFile4) -> Self {
1754         ::std::convert::From::from(::std::clone::Clone::clone(value))
1755     }
1756 }
1757 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>1758     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
1759         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(self))
1760     }
1761 }
1762 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for &IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>1763     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
1764         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(::std::clone::Clone::clone(self)))
1765     }
1766 }
1767 impl ::std::convert::From<IBackgroundCopyFile4> for IBackgroundCopyFile {
from(value: IBackgroundCopyFile4) -> Self1768     fn from(value: IBackgroundCopyFile4) -> Self {
1769         unsafe { ::std::mem::transmute(value) }
1770     }
1771 }
1772 impl ::std::convert::From<&IBackgroundCopyFile4> for IBackgroundCopyFile {
from(value: &IBackgroundCopyFile4) -> Self1773     fn from(value: &IBackgroundCopyFile4) -> Self {
1774         ::std::convert::From::from(::std::clone::Clone::clone(value))
1775     }
1776 }
1777 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1778     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1779         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(self))
1780     }
1781 }
1782 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for &IBackgroundCopyFile4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1783     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1784         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(::std::clone::Clone::clone(self)))
1785     }
1786 }
1787 #[repr(C)]
1788 #[doc(hidden)]
1789 pub struct IBackgroundCopyFile4_abi(
1790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1793     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1794     #[cfg(not(feature = "Win32_Foundation"))] usize,
1795     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1796     #[cfg(not(feature = "Win32_Foundation"))] usize,
1797     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_FILE_PROGRESS) -> ::windows::runtime::HRESULT,
1798     #[cfg(not(feature = "Win32_Foundation"))] usize,
1799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
1800     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1801     #[cfg(not(feature = "Win32_Foundation"))] usize,
1802     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1803     #[cfg(not(feature = "Win32_Foundation"))] usize,
1804     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1805     #[cfg(not(feature = "Win32_Foundation"))] usize,
1806     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1807     #[cfg(not(feature = "Win32_Foundation"))] usize,
1808     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1809     #[cfg(not(feature = "Win32_Foundation"))] usize,
1810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::HRESULT,
1811 );
1812 #[repr(transparent)]
1813 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1814 pub struct IBackgroundCopyFile5(::windows::runtime::IUnknown);
1815 impl IBackgroundCopyFile5 {
1816     #[cfg(feature = "Win32_Foundation")]
GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1817     pub unsafe fn GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1818         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1819         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1820     }
1821     #[cfg(feature = "Win32_Foundation")]
GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1822     pub unsafe fn GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1823         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1824         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1825     }
1826     #[cfg(feature = "Win32_Foundation")]
GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS>1827     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS> {
1828         let mut result__: <BG_FILE_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1829         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_FILE_PROGRESS>(result__)
1830     }
GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()>1831     pub unsafe fn GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
1832         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
1833     }
1834     #[cfg(feature = "Win32_Foundation")]
SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>1835     pub unsafe fn SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
1836         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
1837     }
1838     #[cfg(feature = "Win32_Foundation")]
GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>1839     pub unsafe fn GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
1840         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1841         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
1842     }
1843     #[cfg(feature = "Win32_Foundation")]
SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()>1844     pub unsafe fn SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()> {
1845         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), state.into_param().abi()).ok()
1846     }
1847     #[cfg(feature = "Win32_Foundation")]
GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1848     pub unsafe fn GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1849         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1850         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1851     }
1852     #[cfg(feature = "Win32_Foundation")]
IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>1853     pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
1854         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1855         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
1856     }
GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::Result<()>1857     pub unsafe fn GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::Result<()> {
1858         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfromorigin), ::std::mem::transmute(pfrompeers)).ok()
1859     }
1860     #[cfg(feature = "Win32_Foundation")]
SetProperty<'a, Param1: ::windows::runtime::IntoParam<'a, BITS_FILE_PROPERTY_VALUE>>(&self, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: Param1) -> ::windows::runtime::Result<()>1861     pub unsafe fn SetProperty<'a, Param1: ::windows::runtime::IntoParam<'a, BITS_FILE_PROPERTY_VALUE>>(&self, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: Param1) -> ::windows::runtime::Result<()> {
1862         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), propertyvalue.into_param().abi()).ok()
1863     }
1864     #[cfg(feature = "Win32_Foundation")]
GetProperty(&self, propertyid: BITS_FILE_PROPERTY_ID) -> ::windows::runtime::Result<BITS_FILE_PROPERTY_VALUE>1865     pub unsafe fn GetProperty(&self, propertyid: BITS_FILE_PROPERTY_ID) -> ::windows::runtime::Result<BITS_FILE_PROPERTY_VALUE> {
1866         let mut result__: <BITS_FILE_PROPERTY_VALUE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1867         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<BITS_FILE_PROPERTY_VALUE>(result__)
1868     }
1869 }
1870 unsafe impl ::windows::runtime::Interface for IBackgroundCopyFile5 {
1871     type Vtable = IBackgroundCopyFile5_abi;
1872     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2244044159, 56060, 16616, [136, 52, 223, 24, 234, 37, 113, 126]);
1873 }
1874 impl ::std::convert::From<IBackgroundCopyFile5> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyFile5) -> Self1875     fn from(value: IBackgroundCopyFile5) -> Self {
1876         unsafe { ::std::mem::transmute(value) }
1877     }
1878 }
1879 impl ::std::convert::From<&IBackgroundCopyFile5> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyFile5) -> Self1880     fn from(value: &IBackgroundCopyFile5) -> Self {
1881         ::std::convert::From::from(::std::clone::Clone::clone(value))
1882     }
1883 }
1884 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1885     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1886         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1887     }
1888 }
1889 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1890     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1891         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1892     }
1893 }
1894 impl ::std::convert::From<IBackgroundCopyFile5> for IBackgroundCopyFile4 {
from(value: IBackgroundCopyFile5) -> Self1895     fn from(value: IBackgroundCopyFile5) -> Self {
1896         unsafe { ::std::mem::transmute(value) }
1897     }
1898 }
1899 impl ::std::convert::From<&IBackgroundCopyFile5> for IBackgroundCopyFile4 {
from(value: &IBackgroundCopyFile5) -> Self1900     fn from(value: &IBackgroundCopyFile5) -> Self {
1901         ::std::convert::From::from(::std::clone::Clone::clone(value))
1902     }
1903 }
1904 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile4> for IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4>1905     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4> {
1906         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile4>::into(self))
1907     }
1908 }
1909 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile4> for &IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4>1910     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4> {
1911         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile4>::into(::std::clone::Clone::clone(self)))
1912     }
1913 }
1914 impl ::std::convert::From<IBackgroundCopyFile5> for IBackgroundCopyFile3 {
from(value: IBackgroundCopyFile5) -> Self1915     fn from(value: IBackgroundCopyFile5) -> Self {
1916         unsafe { ::std::mem::transmute(value) }
1917     }
1918 }
1919 impl ::std::convert::From<&IBackgroundCopyFile5> for IBackgroundCopyFile3 {
from(value: &IBackgroundCopyFile5) -> Self1920     fn from(value: &IBackgroundCopyFile5) -> Self {
1921         ::std::convert::From::from(::std::clone::Clone::clone(value))
1922     }
1923 }
1924 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile3> for IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3>1925     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3> {
1926         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile3>::into(self))
1927     }
1928 }
1929 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile3> for &IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3>1930     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3> {
1931         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile3>::into(::std::clone::Clone::clone(self)))
1932     }
1933 }
1934 impl ::std::convert::From<IBackgroundCopyFile5> for IBackgroundCopyFile2 {
from(value: IBackgroundCopyFile5) -> Self1935     fn from(value: IBackgroundCopyFile5) -> Self {
1936         unsafe { ::std::mem::transmute(value) }
1937     }
1938 }
1939 impl ::std::convert::From<&IBackgroundCopyFile5> for IBackgroundCopyFile2 {
from(value: &IBackgroundCopyFile5) -> Self1940     fn from(value: &IBackgroundCopyFile5) -> Self {
1941         ::std::convert::From::from(::std::clone::Clone::clone(value))
1942     }
1943 }
1944 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>1945     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
1946         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(self))
1947     }
1948 }
1949 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for &IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>1950     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
1951         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(::std::clone::Clone::clone(self)))
1952     }
1953 }
1954 impl ::std::convert::From<IBackgroundCopyFile5> for IBackgroundCopyFile {
from(value: IBackgroundCopyFile5) -> Self1955     fn from(value: IBackgroundCopyFile5) -> Self {
1956         unsafe { ::std::mem::transmute(value) }
1957     }
1958 }
1959 impl ::std::convert::From<&IBackgroundCopyFile5> for IBackgroundCopyFile {
from(value: &IBackgroundCopyFile5) -> Self1960     fn from(value: &IBackgroundCopyFile5) -> Self {
1961         ::std::convert::From::from(::std::clone::Clone::clone(value))
1962     }
1963 }
1964 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1965     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1966         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(self))
1967     }
1968 }
1969 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for &IBackgroundCopyFile5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>1970     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
1971         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(::std::clone::Clone::clone(self)))
1972     }
1973 }
1974 #[repr(C)]
1975 #[doc(hidden)]
1976 pub struct IBackgroundCopyFile5_abi(
1977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1980     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1981     #[cfg(not(feature = "Win32_Foundation"))] usize,
1982     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1983     #[cfg(not(feature = "Win32_Foundation"))] usize,
1984     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_FILE_PROGRESS) -> ::windows::runtime::HRESULT,
1985     #[cfg(not(feature = "Win32_Foundation"))] usize,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
1987     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1988     #[cfg(not(feature = "Win32_Foundation"))] usize,
1989     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
1990     #[cfg(not(feature = "Win32_Foundation"))] usize,
1991     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1992     #[cfg(not(feature = "Win32_Foundation"))] usize,
1993     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1994     #[cfg(not(feature = "Win32_Foundation"))] usize,
1995     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1996     #[cfg(not(feature = "Win32_Foundation"))] usize,
1997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::HRESULT,
1998     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: BITS_FILE_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
1999     #[cfg(not(feature = "Win32_Foundation"))] usize,
2000     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: *mut BITS_FILE_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
2001     #[cfg(not(feature = "Win32_Foundation"))] usize,
2002 );
2003 #[repr(transparent)]
2004 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2005 pub struct IBackgroundCopyFile6(::windows::runtime::IUnknown);
2006 impl IBackgroundCopyFile6 {
2007     #[cfg(feature = "Win32_Foundation")]
GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2008     pub unsafe fn GetRemoteName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2009         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2010         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2011     }
2012     #[cfg(feature = "Win32_Foundation")]
GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2013     pub unsafe fn GetLocalName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2014         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2015         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2016     }
2017     #[cfg(feature = "Win32_Foundation")]
GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS>2018     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_FILE_PROGRESS> {
2019         let mut result__: <BG_FILE_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2020         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_FILE_PROGRESS>(result__)
2021     }
GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()>2022     pub unsafe fn GetFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
2023         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
2024     }
2025     #[cfg(feature = "Win32_Foundation")]
SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>2026     pub unsafe fn SetRemoteName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2027         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2028     }
2029     #[cfg(feature = "Win32_Foundation")]
GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2030     pub unsafe fn GetTemporaryName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2031         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2032         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2033     }
2034     #[cfg(feature = "Win32_Foundation")]
SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()>2035     pub unsafe fn SetValidationState<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, state: Param0) -> ::windows::runtime::Result<()> {
2036         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), state.into_param().abi()).ok()
2037     }
2038     #[cfg(feature = "Win32_Foundation")]
GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>2039     pub unsafe fn GetValidationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
2040         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2041         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
2042     }
2043     #[cfg(feature = "Win32_Foundation")]
IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>2044     pub unsafe fn IsDownloadedFromPeer(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
2045         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2046         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
2047     }
GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::Result<()>2048     pub unsafe fn GetPeerDownloadStats(&self, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::Result<()> {
2049         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfromorigin), ::std::mem::transmute(pfrompeers)).ok()
2050     }
2051     #[cfg(feature = "Win32_Foundation")]
SetProperty<'a, Param1: ::windows::runtime::IntoParam<'a, BITS_FILE_PROPERTY_VALUE>>(&self, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: Param1) -> ::windows::runtime::Result<()>2052     pub unsafe fn SetProperty<'a, Param1: ::windows::runtime::IntoParam<'a, BITS_FILE_PROPERTY_VALUE>>(&self, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: Param1) -> ::windows::runtime::Result<()> {
2053         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), propertyvalue.into_param().abi()).ok()
2054     }
2055     #[cfg(feature = "Win32_Foundation")]
GetProperty(&self, propertyid: BITS_FILE_PROPERTY_ID) -> ::windows::runtime::Result<BITS_FILE_PROPERTY_VALUE>2056     pub unsafe fn GetProperty(&self, propertyid: BITS_FILE_PROPERTY_ID) -> ::windows::runtime::Result<BITS_FILE_PROPERTY_VALUE> {
2057         let mut result__: <BITS_FILE_PROPERTY_VALUE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2058         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<BITS_FILE_PROPERTY_VALUE>(result__)
2059     }
UpdateDownloadPosition(&self, offset: u64) -> ::windows::runtime::Result<()>2060     pub unsafe fn UpdateDownloadPosition(&self, offset: u64) -> ::windows::runtime::Result<()> {
2061         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(offset)).ok()
2062     }
RequestFileRanges(&self, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()>2063     pub unsafe fn RequestFileRanges(&self, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
2064         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
2065     }
GetFilledFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()>2066     pub unsafe fn GetFilledFileRanges(&self, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
2067         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
2068     }
2069 }
2070 unsafe impl ::windows::runtime::Interface for IBackgroundCopyFile6 {
2071     type Vtable = IBackgroundCopyFile6_abi;
2072     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3479667959, 54903, 18941, [147, 104, 203, 71, 174, 233, 209, 173]);
2073 }
2074 impl ::std::convert::From<IBackgroundCopyFile6> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyFile6) -> Self2075     fn from(value: IBackgroundCopyFile6) -> Self {
2076         unsafe { ::std::mem::transmute(value) }
2077     }
2078 }
2079 impl ::std::convert::From<&IBackgroundCopyFile6> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyFile6) -> Self2080     fn from(value: &IBackgroundCopyFile6) -> Self {
2081         ::std::convert::From::from(::std::clone::Clone::clone(value))
2082     }
2083 }
2084 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2085     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2086         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2087     }
2088 }
2089 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2090     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2091         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2092     }
2093 }
2094 impl ::std::convert::From<IBackgroundCopyFile6> for IBackgroundCopyFile5 {
from(value: IBackgroundCopyFile6) -> Self2095     fn from(value: IBackgroundCopyFile6) -> Self {
2096         unsafe { ::std::mem::transmute(value) }
2097     }
2098 }
2099 impl ::std::convert::From<&IBackgroundCopyFile6> for IBackgroundCopyFile5 {
from(value: &IBackgroundCopyFile6) -> Self2100     fn from(value: &IBackgroundCopyFile6) -> Self {
2101         ::std::convert::From::from(::std::clone::Clone::clone(value))
2102     }
2103 }
2104 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile5> for IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile5>2105     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile5> {
2106         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile5>::into(self))
2107     }
2108 }
2109 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile5> for &IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile5>2110     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile5> {
2111         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile5>::into(::std::clone::Clone::clone(self)))
2112     }
2113 }
2114 impl ::std::convert::From<IBackgroundCopyFile6> for IBackgroundCopyFile4 {
from(value: IBackgroundCopyFile6) -> Self2115     fn from(value: IBackgroundCopyFile6) -> Self {
2116         unsafe { ::std::mem::transmute(value) }
2117     }
2118 }
2119 impl ::std::convert::From<&IBackgroundCopyFile6> for IBackgroundCopyFile4 {
from(value: &IBackgroundCopyFile6) -> Self2120     fn from(value: &IBackgroundCopyFile6) -> Self {
2121         ::std::convert::From::from(::std::clone::Clone::clone(value))
2122     }
2123 }
2124 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile4> for IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4>2125     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4> {
2126         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile4>::into(self))
2127     }
2128 }
2129 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile4> for &IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4>2130     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile4> {
2131         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile4>::into(::std::clone::Clone::clone(self)))
2132     }
2133 }
2134 impl ::std::convert::From<IBackgroundCopyFile6> for IBackgroundCopyFile3 {
from(value: IBackgroundCopyFile6) -> Self2135     fn from(value: IBackgroundCopyFile6) -> Self {
2136         unsafe { ::std::mem::transmute(value) }
2137     }
2138 }
2139 impl ::std::convert::From<&IBackgroundCopyFile6> for IBackgroundCopyFile3 {
from(value: &IBackgroundCopyFile6) -> Self2140     fn from(value: &IBackgroundCopyFile6) -> Self {
2141         ::std::convert::From::from(::std::clone::Clone::clone(value))
2142     }
2143 }
2144 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile3> for IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3>2145     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3> {
2146         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile3>::into(self))
2147     }
2148 }
2149 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile3> for &IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3>2150     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile3> {
2151         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile3>::into(::std::clone::Clone::clone(self)))
2152     }
2153 }
2154 impl ::std::convert::From<IBackgroundCopyFile6> for IBackgroundCopyFile2 {
from(value: IBackgroundCopyFile6) -> Self2155     fn from(value: IBackgroundCopyFile6) -> Self {
2156         unsafe { ::std::mem::transmute(value) }
2157     }
2158 }
2159 impl ::std::convert::From<&IBackgroundCopyFile6> for IBackgroundCopyFile2 {
from(value: &IBackgroundCopyFile6) -> Self2160     fn from(value: &IBackgroundCopyFile6) -> Self {
2161         ::std::convert::From::from(::std::clone::Clone::clone(value))
2162     }
2163 }
2164 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>2165     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
2166         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(self))
2167     }
2168 }
2169 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile2> for &IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2>2170     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile2> {
2171         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile2>::into(::std::clone::Clone::clone(self)))
2172     }
2173 }
2174 impl ::std::convert::From<IBackgroundCopyFile6> for IBackgroundCopyFile {
from(value: IBackgroundCopyFile6) -> Self2175     fn from(value: IBackgroundCopyFile6) -> Self {
2176         unsafe { ::std::mem::transmute(value) }
2177     }
2178 }
2179 impl ::std::convert::From<&IBackgroundCopyFile6> for IBackgroundCopyFile {
from(value: &IBackgroundCopyFile6) -> Self2180     fn from(value: &IBackgroundCopyFile6) -> Self {
2181         ::std::convert::From::from(::std::clone::Clone::clone(value))
2182     }
2183 }
2184 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>2185     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
2186         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(self))
2187     }
2188 }
2189 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyFile> for &IBackgroundCopyFile6 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile>2190     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyFile> {
2191         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyFile>::into(::std::clone::Clone::clone(self)))
2192     }
2193 }
2194 #[repr(C)]
2195 #[doc(hidden)]
2196 pub struct IBackgroundCopyFile6_abi(
2197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2200     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2201     #[cfg(not(feature = "Win32_Foundation"))] usize,
2202     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2203     #[cfg(not(feature = "Win32_Foundation"))] usize,
2204     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_FILE_PROGRESS) -> ::windows::runtime::HRESULT,
2205     #[cfg(not(feature = "Win32_Foundation"))] usize,
2206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
2207     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2208     #[cfg(not(feature = "Win32_Foundation"))] usize,
2209     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2210     #[cfg(not(feature = "Win32_Foundation"))] usize,
2211     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, state: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2212     #[cfg(not(feature = "Win32_Foundation"))] usize,
2213     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstate: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2214     #[cfg(not(feature = "Win32_Foundation"))] usize,
2215     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
2216     #[cfg(not(feature = "Win32_Foundation"))] usize,
2217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfromorigin: *mut u64, pfrompeers: *mut u64) -> ::windows::runtime::HRESULT,
2218     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: BITS_FILE_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
2219     #[cfg(not(feature = "Win32_Foundation"))] usize,
2220     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: BITS_FILE_PROPERTY_ID, propertyvalue: *mut BITS_FILE_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
2221     #[cfg(not(feature = "Win32_Foundation"))] usize,
2222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: u64) -> ::windows::runtime::HRESULT,
2223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
2224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rangecount: *mut u32, ranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
2225 );
2226 #[repr(transparent)]
2227 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2228 pub struct IBackgroundCopyGroup(::windows::runtime::IUnknown);
2229 impl IBackgroundCopyGroup {
2230     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
GetProp(&self, propid: GROUPPROP) -> ::windows::runtime::Result<super::super::System::Com::VARIANT>2231     pub unsafe fn GetProp(&self, propid: GROUPPROP) -> ::windows::runtime::Result<super::super::System::Com::VARIANT> {
2232         let mut result__: <super::super::System::Com::VARIANT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2233         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(propid), &mut result__).from_abi::<super::super::System::Com::VARIANT>(result__)
2234     }
2235     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
SetProp(&self, propid: GROUPPROP, pvarval: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()>2236     pub unsafe fn SetProp(&self, propid: GROUPPROP, pvarval: *const super::super::System::Com::VARIANT) -> ::windows::runtime::Result<()> {
2237         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(propid), ::std::mem::transmute(pvarval)).ok()
2238     }
GetProgress(&self, dwflags: u32) -> ::windows::runtime::Result<u32>2239     pub unsafe fn GetProgress(&self, dwflags: u32) -> ::windows::runtime::Result<u32> {
2240         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2241         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), &mut result__).from_abi::<u32>(result__)
2242     }
GetStatus(&self, pdwstatus: *mut u32, pdwjobindex: *mut u32) -> ::windows::runtime::Result<()>2243     pub unsafe fn GetStatus(&self, pdwstatus: *mut u32, pdwjobindex: *mut u32) -> ::windows::runtime::Result<()> {
2244         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwstatus), ::std::mem::transmute(pdwjobindex)).ok()
2245     }
GetJob<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, jobid: Param0) -> ::windows::runtime::Result<IBackgroundCopyJob1>2246     pub unsafe fn GetJob<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, jobid: Param0) -> ::windows::runtime::Result<IBackgroundCopyJob1> {
2247         let mut result__: <IBackgroundCopyJob1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2248         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), jobid.into_param().abi(), &mut result__).from_abi::<IBackgroundCopyJob1>(result__)
2249     }
SuspendGroup(&self) -> ::windows::runtime::Result<()>2250     pub unsafe fn SuspendGroup(&self) -> ::windows::runtime::Result<()> {
2251         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
2252     }
ResumeGroup(&self) -> ::windows::runtime::Result<()>2253     pub unsafe fn ResumeGroup(&self) -> ::windows::runtime::Result<()> {
2254         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
2255     }
CancelGroup(&self) -> ::windows::runtime::Result<()>2256     pub unsafe fn CancelGroup(&self) -> ::windows::runtime::Result<()> {
2257         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)).ok()
2258     }
Size(&self) -> ::windows::runtime::Result<u32>2259     pub unsafe fn Size(&self) -> ::windows::runtime::Result<u32> {
2260         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2261         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2262     }
GroupID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2263     pub unsafe fn GroupID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2264         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2265         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2266     }
CreateJob<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, guidjobid: Param0) -> ::windows::runtime::Result<IBackgroundCopyJob1>2267     pub unsafe fn CreateJob<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, guidjobid: Param0) -> ::windows::runtime::Result<IBackgroundCopyJob1> {
2268         let mut result__: <IBackgroundCopyJob1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2269         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), guidjobid.into_param().abi(), &mut result__).from_abi::<IBackgroundCopyJob1>(result__)
2270     }
EnumJobs(&self, dwflags: u32) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs1>2271     pub unsafe fn EnumJobs(&self, dwflags: u32) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs1> {
2272         let mut result__: <IEnumBackgroundCopyJobs1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2273         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), &mut result__).from_abi::<IEnumBackgroundCopyJobs1>(result__)
2274     }
SwitchToForeground(&self) -> ::windows::runtime::Result<()>2275     pub unsafe fn SwitchToForeground(&self) -> ::windows::runtime::Result<()> {
2276         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
2277     }
QueryNewJobInterface(&self, iid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::IUnknown>2278     pub unsafe fn QueryNewJobInterface(&self, iid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2279         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2280         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2281     }
SetNotificationPointer<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, iid: *const ::windows::runtime::GUID, punk: Param1) -> ::windows::runtime::Result<()>2282     pub unsafe fn SetNotificationPointer<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, iid: *const ::windows::runtime::GUID, punk: Param1) -> ::windows::runtime::Result<()> {
2283         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(iid), punk.into_param().abi()).ok()
2284     }
2285 }
2286 unsafe impl ::windows::runtime::Interface for IBackgroundCopyGroup {
2287     type Vtable = IBackgroundCopyGroup_abi;
2288     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(502104231, 21482, 16975, [138, 4, 23, 254, 169, 173, 196, 245]);
2289 }
2290 impl ::std::convert::From<IBackgroundCopyGroup> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyGroup) -> Self2291     fn from(value: IBackgroundCopyGroup) -> Self {
2292         unsafe { ::std::mem::transmute(value) }
2293     }
2294 }
2295 impl ::std::convert::From<&IBackgroundCopyGroup> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyGroup) -> Self2296     fn from(value: &IBackgroundCopyGroup) -> Self {
2297         ::std::convert::From::from(::std::clone::Clone::clone(value))
2298     }
2299 }
2300 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2301     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2302         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2303     }
2304 }
2305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2308     }
2309 }
2310 #[repr(C)]
2311 #[doc(hidden)]
2312 pub struct IBackgroundCopyGroup_abi(
2313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2316     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propid: GROUPPROP, pvarval: *mut ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2317     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2318     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propid: GROUPPROP, pvarval: *const ::std::mem::ManuallyDrop<super::super::System::Com::VARIANT>) -> ::windows::runtime::HRESULT,
2319     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
2320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, pdwprogress: *mut u32) -> ::windows::runtime::HRESULT,
2321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwstatus: *mut u32, pdwjobindex: *mut u32) -> ::windows::runtime::HRESULT,
2322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, jobid: ::windows::runtime::GUID, ppjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwsize: *mut u32) -> ::windows::runtime::HRESULT,
2327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidgroupid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidjobid: ::windows::runtime::GUID, ppjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, ppenumjobs: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, punk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: *const ::windows::runtime::GUID, punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2333 );
2334 #[repr(transparent)]
2335 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2336 pub struct IBackgroundCopyJob(::windows::runtime::IUnknown);
2337 impl IBackgroundCopyJob {
2338     #[cfg(feature = "Win32_Foundation")]
AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()>2339     pub unsafe fn AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()> {
2340         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cfilecount), ::std::mem::transmute(pfileset)).ok()
2341     }
2342     #[cfg(feature = "Win32_Foundation")]
AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()>2343     pub unsafe fn AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()> {
2344         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi()).ok()
2345     }
EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles>2346     pub unsafe fn EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles> {
2347         let mut result__: <IEnumBackgroundCopyFiles as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2348         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyFiles>(result__)
2349     }
Suspend(&self) -> ::windows::runtime::Result<()>2350     pub unsafe fn Suspend(&self) -> ::windows::runtime::Result<()> {
2351         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
2352     }
Resume(&self) -> ::windows::runtime::Result<()>2353     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
2354         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
2355     }
Cancel(&self) -> ::windows::runtime::Result<()>2356     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
2357         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
2358     }
Complete(&self) -> ::windows::runtime::Result<()>2359     pub unsafe fn Complete(&self) -> ::windows::runtime::Result<()> {
2360         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
2361     }
GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2362     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2363         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2364         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2365     }
GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE>2366     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE> {
2367         let mut result__: <BG_JOB_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2368         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TYPE>(result__)
2369     }
GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS>2370     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS> {
2371         let mut result__: <BG_JOB_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2372         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PROGRESS>(result__)
2373     }
2374     #[cfg(feature = "Win32_Foundation")]
GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES>2375     pub unsafe fn GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES> {
2376         let mut result__: <BG_JOB_TIMES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2377         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TIMES>(result__)
2378     }
GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE>2379     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE> {
2380         let mut result__: <BG_JOB_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2381         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_STATE>(result__)
2382     }
GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError>2383     pub unsafe fn GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError> {
2384         let mut result__: <IBackgroundCopyError as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2385         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBackgroundCopyError>(result__)
2386     }
2387     #[cfg(feature = "Win32_Foundation")]
GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2388     pub unsafe fn GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2389         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2390         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2391     }
2392     #[cfg(feature = "Win32_Foundation")]
SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>2393     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2394         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2395     }
2396     #[cfg(feature = "Win32_Foundation")]
GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2397     pub unsafe fn GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2398         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2399         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2400     }
2401     #[cfg(feature = "Win32_Foundation")]
SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>2402     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2403         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2404     }
2405     #[cfg(feature = "Win32_Foundation")]
GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2406     pub unsafe fn GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2407         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2408         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2409     }
SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()>2410     pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()> {
2411         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
2412     }
GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY>2413     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY> {
2414         let mut result__: <BG_JOB_PRIORITY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2415         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PRIORITY>(result__)
2416     }
SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()>2417     pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()> {
2418         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
2419     }
GetNotifyFlags(&self) -> ::windows::runtime::Result<u32>2420     pub unsafe fn GetNotifyFlags(&self) -> ::windows::runtime::Result<u32> {
2421         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2422         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2423     }
SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()>2424     pub unsafe fn SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2425         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2426     }
GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>2427     pub unsafe fn GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2428         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2429         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2430     }
SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()>2431     pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()> {
2432         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
2433     }
GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32>2434     pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32> {
2435         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2436         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2437     }
SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()>2438     pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()> {
2439         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
2440     }
GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32>2441     pub unsafe fn GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32> {
2442         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2443         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2444     }
GetErrorCount(&self) -> ::windows::runtime::Result<u32>2445     pub unsafe fn GetErrorCount(&self) -> ::windows::runtime::Result<u32> {
2446         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2447         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2448     }
2449     #[cfg(feature = "Win32_Foundation")]
SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()>2450     pub unsafe fn SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()> {
2451         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(proxyusage), proxylist.into_param().abi(), proxybypasslist.into_param().abi()).ok()
2452     }
2453     #[cfg(feature = "Win32_Foundation")]
GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>2454     pub unsafe fn GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
2455         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(pproxyusage), ::std::mem::transmute(pproxylist), ::std::mem::transmute(pproxybypasslist)).ok()
2456     }
TakeOwnership(&self) -> ::windows::runtime::Result<()>2457     pub unsafe fn TakeOwnership(&self) -> ::windows::runtime::Result<()> {
2458         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self)).ok()
2459     }
2460 }
2461 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJob {
2462     type Vtable = IBackgroundCopyJob_abi;
2463     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(929467703, 20606, 16736, [147, 22, 38, 48, 109, 21, 11, 18]);
2464 }
2465 impl ::std::convert::From<IBackgroundCopyJob> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJob) -> Self2466     fn from(value: IBackgroundCopyJob) -> Self {
2467         unsafe { ::std::mem::transmute(value) }
2468     }
2469 }
2470 impl ::std::convert::From<&IBackgroundCopyJob> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJob) -> Self2471     fn from(value: &IBackgroundCopyJob) -> Self {
2472         ::std::convert::From::from(::std::clone::Clone::clone(value))
2473     }
2474 }
2475 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJob {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2476     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2477         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2478     }
2479 }
2480 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJob {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2481     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2482         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2483     }
2484 }
2485 #[repr(C)]
2486 #[doc(hidden)]
2487 pub struct IBackgroundCopyJob_abi(
2488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2491     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::HRESULT,
2492     #[cfg(not(feature = "Win32_Foundation"))] usize,
2493     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2494     #[cfg(not(feature = "Win32_Foundation"))] usize,
2495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TYPE) -> ::windows::runtime::HRESULT,
2502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PROGRESS) -> ::windows::runtime::HRESULT,
2503     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TIMES) -> ::windows::runtime::HRESULT,
2504     #[cfg(not(feature = "Win32_Foundation"))] usize,
2505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_STATE) -> ::windows::runtime::HRESULT,
2506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pperror: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2507     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2508     #[cfg(not(feature = "Win32_Foundation"))] usize,
2509     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2510     #[cfg(not(feature = "Win32_Foundation"))] usize,
2511     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2512     #[cfg(not(feature = "Win32_Foundation"))] usize,
2513     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2514     #[cfg(not(feature = "Win32_Foundation"))] usize,
2515     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2516     #[cfg(not(feature = "Win32_Foundation"))] usize,
2517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
2518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
2519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: u32) -> ::windows::runtime::HRESULT,
2520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
2521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
2524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
2525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
2526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
2527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, errors: *mut u32) -> ::windows::runtime::HRESULT,
2528     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, proxyusage: BG_JOB_PROXY_USAGE, proxylist: super::super::Foundation::PWSTR, proxybypasslist: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2529     #[cfg(not(feature = "Win32_Foundation"))] usize,
2530     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2531     #[cfg(not(feature = "Win32_Foundation"))] usize,
2532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2533 );
2534 #[repr(transparent)]
2535 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2536 pub struct IBackgroundCopyJob1(::windows::runtime::IUnknown);
2537 impl IBackgroundCopyJob1 {
CancelJob(&self) -> ::windows::runtime::Result<()>2538     pub unsafe fn CancelJob(&self) -> ::windows::runtime::Result<()> {
2539         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
2540     }
GetProgress(&self, dwflags: u32) -> ::windows::runtime::Result<u32>2541     pub unsafe fn GetProgress(&self, dwflags: u32) -> ::windows::runtime::Result<u32> {
2542         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2543         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), &mut result__).from_abi::<u32>(result__)
2544     }
GetStatus(&self, pdwstatus: *mut u32, pdwwin32result: *mut u32, pdwtransportresult: *mut u32, pdwnumofretries: *mut u32) -> ::windows::runtime::Result<()>2545     pub unsafe fn GetStatus(&self, pdwstatus: *mut u32, pdwwin32result: *mut u32, pdwtransportresult: *mut u32, pdwnumofretries: *mut u32) -> ::windows::runtime::Result<()> {
2546         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwstatus), ::std::mem::transmute(pdwwin32result), ::std::mem::transmute(pdwtransportresult), ::std::mem::transmute(pdwnumofretries)).ok()
2547     }
2548     #[cfg(feature = "Win32_Foundation")]
AddFiles(&self, cfilecount: u32, ppfileset: *const *const FILESETINFO) -> ::windows::runtime::Result<()>2549     pub unsafe fn AddFiles(&self, cfilecount: u32, ppfileset: *const *const FILESETINFO) -> ::windows::runtime::Result<()> {
2550         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(cfilecount), ::std::mem::transmute(ppfileset)).ok()
2551     }
2552     #[cfg(feature = "Win32_Foundation")]
GetFile(&self, cfileindex: u32) -> ::windows::runtime::Result<FILESETINFO>2553     pub unsafe fn GetFile(&self, cfileindex: u32) -> ::windows::runtime::Result<FILESETINFO> {
2554         let mut result__: <FILESETINFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2555         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(cfileindex), &mut result__).from_abi::<FILESETINFO>(result__)
2556     }
GetFileCount(&self) -> ::windows::runtime::Result<u32>2557     pub unsafe fn GetFileCount(&self) -> ::windows::runtime::Result<u32> {
2558         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2559         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2560     }
SwitchToForeground(&self) -> ::windows::runtime::Result<()>2561     pub unsafe fn SwitchToForeground(&self) -> ::windows::runtime::Result<()> {
2562         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
2563     }
JobID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2564     pub unsafe fn JobID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2565         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2566         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2567     }
2568 }
2569 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJob1 {
2570     type Vtable = IBackgroundCopyJob1_abi;
2571     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1509250364, 8241, 17961, [187, 24, 38, 69, 166, 151, 9, 71]);
2572 }
2573 impl ::std::convert::From<IBackgroundCopyJob1> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJob1) -> Self2574     fn from(value: IBackgroundCopyJob1) -> Self {
2575         unsafe { ::std::mem::transmute(value) }
2576     }
2577 }
2578 impl ::std::convert::From<&IBackgroundCopyJob1> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJob1) -> Self2579     fn from(value: &IBackgroundCopyJob1) -> Self {
2580         ::std::convert::From::from(::std::clone::Clone::clone(value))
2581     }
2582 }
2583 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJob1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2584     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2585         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2586     }
2587 }
2588 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJob1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2589     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2590         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2591     }
2592 }
2593 #[repr(C)]
2594 #[doc(hidden)]
2595 pub struct IBackgroundCopyJob1_abi(
2596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, pdwprogress: *mut u32) -> ::windows::runtime::HRESULT,
2601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwstatus: *mut u32, pdwwin32result: *mut u32, pdwtransportresult: *mut u32, pdwnumofretries: *mut u32) -> ::windows::runtime::HRESULT,
2602     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cfilecount: u32, ppfileset: *const *const FILESETINFO) -> ::windows::runtime::HRESULT,
2603     #[cfg(not(feature = "Win32_Foundation"))] usize,
2604     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cfileindex: u32, pfileinfo: *mut ::std::mem::ManuallyDrop<FILESETINFO>) -> ::windows::runtime::HRESULT,
2605     #[cfg(not(feature = "Win32_Foundation"))] usize,
2606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwfilecount: *mut u32) -> ::windows::runtime::HRESULT,
2607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidjobid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2609 );
2610 #[repr(transparent)]
2611 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2612 pub struct IBackgroundCopyJob2(::windows::runtime::IUnknown);
2613 impl IBackgroundCopyJob2 {
2614     #[cfg(feature = "Win32_Foundation")]
AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()>2615     pub unsafe fn AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()> {
2616         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cfilecount), ::std::mem::transmute(pfileset)).ok()
2617     }
2618     #[cfg(feature = "Win32_Foundation")]
AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()>2619     pub unsafe fn AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()> {
2620         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi()).ok()
2621     }
EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles>2622     pub unsafe fn EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles> {
2623         let mut result__: <IEnumBackgroundCopyFiles as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2624         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyFiles>(result__)
2625     }
Suspend(&self) -> ::windows::runtime::Result<()>2626     pub unsafe fn Suspend(&self) -> ::windows::runtime::Result<()> {
2627         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
2628     }
Resume(&self) -> ::windows::runtime::Result<()>2629     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
2630         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
2631     }
Cancel(&self) -> ::windows::runtime::Result<()>2632     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
2633         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
2634     }
Complete(&self) -> ::windows::runtime::Result<()>2635     pub unsafe fn Complete(&self) -> ::windows::runtime::Result<()> {
2636         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
2637     }
GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2638     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2639         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2640         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2641     }
GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE>2642     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE> {
2643         let mut result__: <BG_JOB_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2644         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TYPE>(result__)
2645     }
GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS>2646     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS> {
2647         let mut result__: <BG_JOB_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2648         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PROGRESS>(result__)
2649     }
2650     #[cfg(feature = "Win32_Foundation")]
GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES>2651     pub unsafe fn GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES> {
2652         let mut result__: <BG_JOB_TIMES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2653         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TIMES>(result__)
2654     }
GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE>2655     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE> {
2656         let mut result__: <BG_JOB_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2657         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_STATE>(result__)
2658     }
GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError>2659     pub unsafe fn GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError> {
2660         let mut result__: <IBackgroundCopyError as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2661         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBackgroundCopyError>(result__)
2662     }
2663     #[cfg(feature = "Win32_Foundation")]
GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2664     pub unsafe fn GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2665         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2666         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2667     }
2668     #[cfg(feature = "Win32_Foundation")]
SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>2669     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2670         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2671     }
2672     #[cfg(feature = "Win32_Foundation")]
GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2673     pub unsafe fn GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2674         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2675         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2676     }
2677     #[cfg(feature = "Win32_Foundation")]
SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>2678     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2679         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2680     }
2681     #[cfg(feature = "Win32_Foundation")]
GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2682     pub unsafe fn GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2683         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2684         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2685     }
SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()>2686     pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()> {
2687         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
2688     }
GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY>2689     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY> {
2690         let mut result__: <BG_JOB_PRIORITY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2691         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PRIORITY>(result__)
2692     }
SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()>2693     pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()> {
2694         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
2695     }
GetNotifyFlags(&self) -> ::windows::runtime::Result<u32>2696     pub unsafe fn GetNotifyFlags(&self) -> ::windows::runtime::Result<u32> {
2697         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2698         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2699     }
SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()>2700     pub unsafe fn SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2701         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2702     }
GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>2703     pub unsafe fn GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2704         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2705         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2706     }
SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()>2707     pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()> {
2708         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
2709     }
GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32>2710     pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32> {
2711         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2712         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2713     }
SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()>2714     pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()> {
2715         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
2716     }
GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32>2717     pub unsafe fn GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32> {
2718         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2719         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2720     }
GetErrorCount(&self) -> ::windows::runtime::Result<u32>2721     pub unsafe fn GetErrorCount(&self) -> ::windows::runtime::Result<u32> {
2722         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2723         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2724     }
2725     #[cfg(feature = "Win32_Foundation")]
SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()>2726     pub unsafe fn SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()> {
2727         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(proxyusage), proxylist.into_param().abi(), proxybypasslist.into_param().abi()).ok()
2728     }
2729     #[cfg(feature = "Win32_Foundation")]
GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>2730     pub unsafe fn GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
2731         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(pproxyusage), ::std::mem::transmute(pproxylist), ::std::mem::transmute(pproxybypasslist)).ok()
2732     }
TakeOwnership(&self) -> ::windows::runtime::Result<()>2733     pub unsafe fn TakeOwnership(&self) -> ::windows::runtime::Result<()> {
2734         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self)).ok()
2735     }
2736     #[cfg(feature = "Win32_Foundation")]
SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()>2737     pub unsafe fn SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()> {
2738         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), program.into_param().abi(), parameters.into_param().abi()).ok()
2739     }
2740     #[cfg(feature = "Win32_Foundation")]
GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>2741     pub unsafe fn GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
2742         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogram), ::std::mem::transmute(pparameters)).ok()
2743     }
GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()>2744     pub unsafe fn GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()> {
2745         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogress)).ok()
2746     }
GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()>2747     pub unsafe fn GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()> {
2748         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(plength)).ok()
2749     }
2750     #[cfg(feature = "Win32_Foundation")]
SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()>2751     pub unsafe fn SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()> {
2752         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), replyfilename.into_param().abi()).ok()
2753     }
2754     #[cfg(feature = "Win32_Foundation")]
GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2755     pub unsafe fn GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2756         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2757         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2758     }
2759     #[cfg(feature = "Win32_Foundation")]
SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()>2760     pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()> {
2761         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(credentials)).ok()
2762     }
RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()>2763     pub unsafe fn RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()> {
2764         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(target), ::std::mem::transmute(scheme)).ok()
2765     }
2766 }
2767 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJob2 {
2768     type Vtable = IBackgroundCopyJob2_abi;
2769     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1421150009, 26735, 17899, [157, 255, 214, 169, 160, 250, 169, 175]);
2770 }
2771 impl ::std::convert::From<IBackgroundCopyJob2> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJob2) -> Self2772     fn from(value: IBackgroundCopyJob2) -> Self {
2773         unsafe { ::std::mem::transmute(value) }
2774     }
2775 }
2776 impl ::std::convert::From<&IBackgroundCopyJob2> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJob2) -> Self2777     fn from(value: &IBackgroundCopyJob2) -> Self {
2778         ::std::convert::From::from(::std::clone::Clone::clone(value))
2779     }
2780 }
2781 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJob2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2782     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2783         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2784     }
2785 }
2786 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJob2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2787     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2788         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2789     }
2790 }
2791 impl ::std::convert::From<IBackgroundCopyJob2> for IBackgroundCopyJob {
from(value: IBackgroundCopyJob2) -> Self2792     fn from(value: IBackgroundCopyJob2) -> Self {
2793         unsafe { ::std::mem::transmute(value) }
2794     }
2795 }
2796 impl ::std::convert::From<&IBackgroundCopyJob2> for IBackgroundCopyJob {
from(value: &IBackgroundCopyJob2) -> Self2797     fn from(value: &IBackgroundCopyJob2) -> Self {
2798         ::std::convert::From::from(::std::clone::Clone::clone(value))
2799     }
2800 }
2801 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for IBackgroundCopyJob2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>2802     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
2803         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(self))
2804     }
2805 }
2806 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for &IBackgroundCopyJob2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>2807     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
2808         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(::std::clone::Clone::clone(self)))
2809     }
2810 }
2811 #[repr(C)]
2812 #[doc(hidden)]
2813 pub struct IBackgroundCopyJob2_abi(
2814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2817     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::HRESULT,
2818     #[cfg(not(feature = "Win32_Foundation"))] usize,
2819     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2820     #[cfg(not(feature = "Win32_Foundation"))] usize,
2821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TYPE) -> ::windows::runtime::HRESULT,
2828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PROGRESS) -> ::windows::runtime::HRESULT,
2829     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TIMES) -> ::windows::runtime::HRESULT,
2830     #[cfg(not(feature = "Win32_Foundation"))] usize,
2831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_STATE) -> ::windows::runtime::HRESULT,
2832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pperror: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2833     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2834     #[cfg(not(feature = "Win32_Foundation"))] usize,
2835     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2836     #[cfg(not(feature = "Win32_Foundation"))] usize,
2837     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2838     #[cfg(not(feature = "Win32_Foundation"))] usize,
2839     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2840     #[cfg(not(feature = "Win32_Foundation"))] usize,
2841     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2842     #[cfg(not(feature = "Win32_Foundation"))] usize,
2843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
2844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
2845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: u32) -> ::windows::runtime::HRESULT,
2846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
2847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
2850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
2851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
2852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
2853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, errors: *mut u32) -> ::windows::runtime::HRESULT,
2854     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, proxyusage: BG_JOB_PROXY_USAGE, proxylist: super::super::Foundation::PWSTR, proxybypasslist: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2855     #[cfg(not(feature = "Win32_Foundation"))] usize,
2856     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2857     #[cfg(not(feature = "Win32_Foundation"))] usize,
2858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2859     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, program: super::super::Foundation::PWSTR, parameters: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2860     #[cfg(not(feature = "Win32_Foundation"))] usize,
2861     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2862     #[cfg(not(feature = "Win32_Foundation"))] usize,
2863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::HRESULT,
2864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::HRESULT,
2865     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, replyfilename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2866     #[cfg(not(feature = "Win32_Foundation"))] usize,
2867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, preplyfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
2868     #[cfg(not(feature = "Win32_Foundation"))] usize,
2869     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::HRESULT,
2870     #[cfg(not(feature = "Win32_Foundation"))] usize,
2871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::HRESULT,
2872 );
2873 #[repr(transparent)]
2874 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2875 pub struct IBackgroundCopyJob3(::windows::runtime::IUnknown);
2876 impl IBackgroundCopyJob3 {
2877     #[cfg(feature = "Win32_Foundation")]
AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()>2878     pub unsafe fn AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()> {
2879         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cfilecount), ::std::mem::transmute(pfileset)).ok()
2880     }
2881     #[cfg(feature = "Win32_Foundation")]
AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()>2882     pub unsafe fn AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()> {
2883         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi()).ok()
2884     }
EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles>2885     pub unsafe fn EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles> {
2886         let mut result__: <IEnumBackgroundCopyFiles as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2887         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyFiles>(result__)
2888     }
Suspend(&self) -> ::windows::runtime::Result<()>2889     pub unsafe fn Suspend(&self) -> ::windows::runtime::Result<()> {
2890         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
2891     }
Resume(&self) -> ::windows::runtime::Result<()>2892     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
2893         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
2894     }
Cancel(&self) -> ::windows::runtime::Result<()>2895     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
2896         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
2897     }
Complete(&self) -> ::windows::runtime::Result<()>2898     pub unsafe fn Complete(&self) -> ::windows::runtime::Result<()> {
2899         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
2900     }
GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>2901     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2902         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2903         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2904     }
GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE>2905     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE> {
2906         let mut result__: <BG_JOB_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2907         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TYPE>(result__)
2908     }
GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS>2909     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS> {
2910         let mut result__: <BG_JOB_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2911         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PROGRESS>(result__)
2912     }
2913     #[cfg(feature = "Win32_Foundation")]
GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES>2914     pub unsafe fn GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES> {
2915         let mut result__: <BG_JOB_TIMES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2916         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TIMES>(result__)
2917     }
GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE>2918     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE> {
2919         let mut result__: <BG_JOB_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2920         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_STATE>(result__)
2921     }
GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError>2922     pub unsafe fn GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError> {
2923         let mut result__: <IBackgroundCopyError as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2924         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBackgroundCopyError>(result__)
2925     }
2926     #[cfg(feature = "Win32_Foundation")]
GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2927     pub unsafe fn GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2928         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2929         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2930     }
2931     #[cfg(feature = "Win32_Foundation")]
SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>2932     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2933         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2934     }
2935     #[cfg(feature = "Win32_Foundation")]
GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2936     pub unsafe fn GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2937         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2938         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2939     }
2940     #[cfg(feature = "Win32_Foundation")]
SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>2941     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2942         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2943     }
2944     #[cfg(feature = "Win32_Foundation")]
GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>2945     pub unsafe fn GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
2946         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2947         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
2948     }
SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()>2949     pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()> {
2950         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
2951     }
GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY>2952     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY> {
2953         let mut result__: <BG_JOB_PRIORITY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2954         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PRIORITY>(result__)
2955     }
SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()>2956     pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()> {
2957         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
2958     }
GetNotifyFlags(&self) -> ::windows::runtime::Result<u32>2959     pub unsafe fn GetNotifyFlags(&self) -> ::windows::runtime::Result<u32> {
2960         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2961         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2962     }
SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()>2963     pub unsafe fn SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
2964         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
2965     }
GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>2966     pub unsafe fn GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2967         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2968         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2969     }
SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()>2970     pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()> {
2971         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
2972     }
GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32>2973     pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32> {
2974         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2975         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2976     }
SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()>2977     pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()> {
2978         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
2979     }
GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32>2980     pub unsafe fn GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32> {
2981         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2982         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2983     }
GetErrorCount(&self) -> ::windows::runtime::Result<u32>2984     pub unsafe fn GetErrorCount(&self) -> ::windows::runtime::Result<u32> {
2985         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2986         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
2987     }
2988     #[cfg(feature = "Win32_Foundation")]
SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()>2989     pub unsafe fn SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()> {
2990         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(proxyusage), proxylist.into_param().abi(), proxybypasslist.into_param().abi()).ok()
2991     }
2992     #[cfg(feature = "Win32_Foundation")]
GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>2993     pub unsafe fn GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
2994         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(pproxyusage), ::std::mem::transmute(pproxylist), ::std::mem::transmute(pproxybypasslist)).ok()
2995     }
TakeOwnership(&self) -> ::windows::runtime::Result<()>2996     pub unsafe fn TakeOwnership(&self) -> ::windows::runtime::Result<()> {
2997         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self)).ok()
2998     }
2999     #[cfg(feature = "Win32_Foundation")]
SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()>3000     pub unsafe fn SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()> {
3001         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), program.into_param().abi(), parameters.into_param().abi()).ok()
3002     }
3003     #[cfg(feature = "Win32_Foundation")]
GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>3004     pub unsafe fn GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
3005         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogram), ::std::mem::transmute(pparameters)).ok()
3006     }
GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()>3007     pub unsafe fn GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()> {
3008         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogress)).ok()
3009     }
GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()>3010     pub unsafe fn GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()> {
3011         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(plength)).ok()
3012     }
3013     #[cfg(feature = "Win32_Foundation")]
SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()>3014     pub unsafe fn SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()> {
3015         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), replyfilename.into_param().abi()).ok()
3016     }
3017     #[cfg(feature = "Win32_Foundation")]
GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3018     pub unsafe fn GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3019         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3020         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3021     }
3022     #[cfg(feature = "Win32_Foundation")]
SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()>3023     pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()> {
3024         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(credentials)).ok()
3025     }
RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()>3026     pub unsafe fn RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()> {
3027         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(target), ::std::mem::transmute(scheme)).ok()
3028     }
3029     #[cfg(feature = "Win32_Foundation")]
ReplaceRemotePrefix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, oldprefix: Param0, newprefix: Param1) -> ::windows::runtime::Result<()>3030     pub unsafe fn ReplaceRemotePrefix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, oldprefix: Param0, newprefix: Param1) -> ::windows::runtime::Result<()> {
3031         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), oldprefix.into_param().abi(), newprefix.into_param().abi()).ok()
3032     }
3033     #[cfg(feature = "Win32_Foundation")]
AddFileWithRanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()>3034     pub unsafe fn AddFileWithRanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
3035         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi(), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
3036     }
SetFileACLFlags(&self, flags: u32) -> ::windows::runtime::Result<()>3037     pub unsafe fn SetFileACLFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
3038         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
3039     }
GetFileACLFlags(&self) -> ::windows::runtime::Result<u32>3040     pub unsafe fn GetFileACLFlags(&self) -> ::windows::runtime::Result<u32> {
3041         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3042         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3043     }
3044 }
3045 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJob3 {
3046     type Vtable = IBackgroundCopyJob3_abi;
3047     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1144817972, 37119, 18669, [188, 222, 38, 245, 199, 69, 0, 66]);
3048 }
3049 impl ::std::convert::From<IBackgroundCopyJob3> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJob3) -> Self3050     fn from(value: IBackgroundCopyJob3) -> Self {
3051         unsafe { ::std::mem::transmute(value) }
3052     }
3053 }
3054 impl ::std::convert::From<&IBackgroundCopyJob3> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJob3) -> Self3055     fn from(value: &IBackgroundCopyJob3) -> Self {
3056         ::std::convert::From::from(::std::clone::Clone::clone(value))
3057     }
3058 }
3059 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJob3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3060     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3061         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3062     }
3063 }
3064 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJob3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3065     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3066         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3067     }
3068 }
3069 impl ::std::convert::From<IBackgroundCopyJob3> for IBackgroundCopyJob2 {
from(value: IBackgroundCopyJob3) -> Self3070     fn from(value: IBackgroundCopyJob3) -> Self {
3071         unsafe { ::std::mem::transmute(value) }
3072     }
3073 }
3074 impl ::std::convert::From<&IBackgroundCopyJob3> for IBackgroundCopyJob2 {
from(value: &IBackgroundCopyJob3) -> Self3075     fn from(value: &IBackgroundCopyJob3) -> Self {
3076         ::std::convert::From::from(::std::clone::Clone::clone(value))
3077     }
3078 }
3079 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob2> for IBackgroundCopyJob3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2>3080     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2> {
3081         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob2>::into(self))
3082     }
3083 }
3084 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob2> for &IBackgroundCopyJob3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2>3085     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2> {
3086         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob2>::into(::std::clone::Clone::clone(self)))
3087     }
3088 }
3089 impl ::std::convert::From<IBackgroundCopyJob3> for IBackgroundCopyJob {
from(value: IBackgroundCopyJob3) -> Self3090     fn from(value: IBackgroundCopyJob3) -> Self {
3091         unsafe { ::std::mem::transmute(value) }
3092     }
3093 }
3094 impl ::std::convert::From<&IBackgroundCopyJob3> for IBackgroundCopyJob {
from(value: &IBackgroundCopyJob3) -> Self3095     fn from(value: &IBackgroundCopyJob3) -> Self {
3096         ::std::convert::From::from(::std::clone::Clone::clone(value))
3097     }
3098 }
3099 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for IBackgroundCopyJob3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>3100     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
3101         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(self))
3102     }
3103 }
3104 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for &IBackgroundCopyJob3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>3105     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
3106         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(::std::clone::Clone::clone(self)))
3107     }
3108 }
3109 #[repr(C)]
3110 #[doc(hidden)]
3111 pub struct IBackgroundCopyJob3_abi(
3112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3115     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::HRESULT,
3116     #[cfg(not(feature = "Win32_Foundation"))] usize,
3117     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3118     #[cfg(not(feature = "Win32_Foundation"))] usize,
3119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TYPE) -> ::windows::runtime::HRESULT,
3126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PROGRESS) -> ::windows::runtime::HRESULT,
3127     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TIMES) -> ::windows::runtime::HRESULT,
3128     #[cfg(not(feature = "Win32_Foundation"))] usize,
3129     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_STATE) -> ::windows::runtime::HRESULT,
3130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pperror: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3131     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3132     #[cfg(not(feature = "Win32_Foundation"))] usize,
3133     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3134     #[cfg(not(feature = "Win32_Foundation"))] usize,
3135     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3136     #[cfg(not(feature = "Win32_Foundation"))] usize,
3137     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3138     #[cfg(not(feature = "Win32_Foundation"))] usize,
3139     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3140     #[cfg(not(feature = "Win32_Foundation"))] usize,
3141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
3142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
3143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: u32) -> ::windows::runtime::HRESULT,
3144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
3145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
3148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
3149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
3150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
3151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, errors: *mut u32) -> ::windows::runtime::HRESULT,
3152     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, proxyusage: BG_JOB_PROXY_USAGE, proxylist: super::super::Foundation::PWSTR, proxybypasslist: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3153     #[cfg(not(feature = "Win32_Foundation"))] usize,
3154     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3155     #[cfg(not(feature = "Win32_Foundation"))] usize,
3156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3157     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, program: super::super::Foundation::PWSTR, parameters: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3158     #[cfg(not(feature = "Win32_Foundation"))] usize,
3159     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3160     #[cfg(not(feature = "Win32_Foundation"))] usize,
3161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::HRESULT,
3162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::HRESULT,
3163     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, replyfilename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3164     #[cfg(not(feature = "Win32_Foundation"))] usize,
3165     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, preplyfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3166     #[cfg(not(feature = "Win32_Foundation"))] usize,
3167     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::HRESULT,
3168     #[cfg(not(feature = "Win32_Foundation"))] usize,
3169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::HRESULT,
3170     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, oldprefix: super::super::Foundation::PWSTR, newprefix: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3171     #[cfg(not(feature = "Win32_Foundation"))] usize,
3172     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
3173     #[cfg(not(feature = "Win32_Foundation"))] usize,
3174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
3175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: *mut u32) -> ::windows::runtime::HRESULT,
3176 );
3177 #[repr(transparent)]
3178 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3179 pub struct IBackgroundCopyJob4(::windows::runtime::IUnknown);
3180 impl IBackgroundCopyJob4 {
3181     #[cfg(feature = "Win32_Foundation")]
AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()>3182     pub unsafe fn AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()> {
3183         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cfilecount), ::std::mem::transmute(pfileset)).ok()
3184     }
3185     #[cfg(feature = "Win32_Foundation")]
AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()>3186     pub unsafe fn AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()> {
3187         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi()).ok()
3188     }
EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles>3189     pub unsafe fn EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles> {
3190         let mut result__: <IEnumBackgroundCopyFiles as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3191         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyFiles>(result__)
3192     }
Suspend(&self) -> ::windows::runtime::Result<()>3193     pub unsafe fn Suspend(&self) -> ::windows::runtime::Result<()> {
3194         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3195     }
Resume(&self) -> ::windows::runtime::Result<()>3196     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
3197         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
3198     }
Cancel(&self) -> ::windows::runtime::Result<()>3199     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
3200         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
3201     }
Complete(&self) -> ::windows::runtime::Result<()>3202     pub unsafe fn Complete(&self) -> ::windows::runtime::Result<()> {
3203         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
3204     }
GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3205     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3206         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3207         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3208     }
GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE>3209     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE> {
3210         let mut result__: <BG_JOB_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3211         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TYPE>(result__)
3212     }
GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS>3213     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS> {
3214         let mut result__: <BG_JOB_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3215         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PROGRESS>(result__)
3216     }
3217     #[cfg(feature = "Win32_Foundation")]
GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES>3218     pub unsafe fn GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES> {
3219         let mut result__: <BG_JOB_TIMES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3220         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TIMES>(result__)
3221     }
GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE>3222     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE> {
3223         let mut result__: <BG_JOB_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3224         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_STATE>(result__)
3225     }
GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError>3226     pub unsafe fn GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError> {
3227         let mut result__: <IBackgroundCopyError as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3228         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBackgroundCopyError>(result__)
3229     }
3230     #[cfg(feature = "Win32_Foundation")]
GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3231     pub unsafe fn GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3232         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3233         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3234     }
3235     #[cfg(feature = "Win32_Foundation")]
SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>3236     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
3237         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
3238     }
3239     #[cfg(feature = "Win32_Foundation")]
GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3240     pub unsafe fn GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3241         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3242         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3243     }
3244     #[cfg(feature = "Win32_Foundation")]
SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>3245     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
3246         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
3247     }
3248     #[cfg(feature = "Win32_Foundation")]
GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3249     pub unsafe fn GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3250         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3251         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3252     }
SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()>3253     pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()> {
3254         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
3255     }
GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY>3256     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY> {
3257         let mut result__: <BG_JOB_PRIORITY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3258         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PRIORITY>(result__)
3259     }
SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()>3260     pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()> {
3261         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
3262     }
GetNotifyFlags(&self) -> ::windows::runtime::Result<u32>3263     pub unsafe fn GetNotifyFlags(&self) -> ::windows::runtime::Result<u32> {
3264         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3265         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3266     }
SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()>3267     pub unsafe fn SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
3268         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
3269     }
GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>3270     pub unsafe fn GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
3271         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3272         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
3273     }
SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()>3274     pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()> {
3275         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
3276     }
GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32>3277     pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32> {
3278         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3279         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3280     }
SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()>3281     pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()> {
3282         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
3283     }
GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32>3284     pub unsafe fn GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32> {
3285         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3286         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3287     }
GetErrorCount(&self) -> ::windows::runtime::Result<u32>3288     pub unsafe fn GetErrorCount(&self) -> ::windows::runtime::Result<u32> {
3289         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3290         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3291     }
3292     #[cfg(feature = "Win32_Foundation")]
SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()>3293     pub unsafe fn SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()> {
3294         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(proxyusage), proxylist.into_param().abi(), proxybypasslist.into_param().abi()).ok()
3295     }
3296     #[cfg(feature = "Win32_Foundation")]
GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>3297     pub unsafe fn GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
3298         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(pproxyusage), ::std::mem::transmute(pproxylist), ::std::mem::transmute(pproxybypasslist)).ok()
3299     }
TakeOwnership(&self) -> ::windows::runtime::Result<()>3300     pub unsafe fn TakeOwnership(&self) -> ::windows::runtime::Result<()> {
3301         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self)).ok()
3302     }
3303     #[cfg(feature = "Win32_Foundation")]
SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()>3304     pub unsafe fn SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()> {
3305         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), program.into_param().abi(), parameters.into_param().abi()).ok()
3306     }
3307     #[cfg(feature = "Win32_Foundation")]
GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>3308     pub unsafe fn GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
3309         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogram), ::std::mem::transmute(pparameters)).ok()
3310     }
GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()>3311     pub unsafe fn GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()> {
3312         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogress)).ok()
3313     }
GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()>3314     pub unsafe fn GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()> {
3315         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(plength)).ok()
3316     }
3317     #[cfg(feature = "Win32_Foundation")]
SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()>3318     pub unsafe fn SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()> {
3319         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), replyfilename.into_param().abi()).ok()
3320     }
3321     #[cfg(feature = "Win32_Foundation")]
GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3322     pub unsafe fn GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3323         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3324         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3325     }
3326     #[cfg(feature = "Win32_Foundation")]
SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()>3327     pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()> {
3328         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(credentials)).ok()
3329     }
RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()>3330     pub unsafe fn RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()> {
3331         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(target), ::std::mem::transmute(scheme)).ok()
3332     }
3333     #[cfg(feature = "Win32_Foundation")]
ReplaceRemotePrefix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, oldprefix: Param0, newprefix: Param1) -> ::windows::runtime::Result<()>3334     pub unsafe fn ReplaceRemotePrefix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, oldprefix: Param0, newprefix: Param1) -> ::windows::runtime::Result<()> {
3335         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), oldprefix.into_param().abi(), newprefix.into_param().abi()).ok()
3336     }
3337     #[cfg(feature = "Win32_Foundation")]
AddFileWithRanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()>3338     pub unsafe fn AddFileWithRanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
3339         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi(), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
3340     }
SetFileACLFlags(&self, flags: u32) -> ::windows::runtime::Result<()>3341     pub unsafe fn SetFileACLFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
3342         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
3343     }
GetFileACLFlags(&self) -> ::windows::runtime::Result<u32>3344     pub unsafe fn GetFileACLFlags(&self) -> ::windows::runtime::Result<u32> {
3345         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3346         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3347     }
SetPeerCachingFlags(&self, flags: u32) -> ::windows::runtime::Result<()>3348     pub unsafe fn SetPeerCachingFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
3349         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
3350     }
GetPeerCachingFlags(&self) -> ::windows::runtime::Result<u32>3351     pub unsafe fn GetPeerCachingFlags(&self) -> ::windows::runtime::Result<u32> {
3352         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3353         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3354     }
GetOwnerIntegrityLevel(&self) -> ::windows::runtime::Result<u32>3355     pub unsafe fn GetOwnerIntegrityLevel(&self) -> ::windows::runtime::Result<u32> {
3356         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3357         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3358     }
3359     #[cfg(feature = "Win32_Foundation")]
GetOwnerElevationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>3360     pub unsafe fn GetOwnerElevationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3361         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3362         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3363     }
SetMaximumDownloadTime(&self, timeout: u32) -> ::windows::runtime::Result<()>3364     pub unsafe fn SetMaximumDownloadTime(&self, timeout: u32) -> ::windows::runtime::Result<()> {
3365         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
3366     }
GetMaximumDownloadTime(&self) -> ::windows::runtime::Result<u32>3367     pub unsafe fn GetMaximumDownloadTime(&self) -> ::windows::runtime::Result<u32> {
3368         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3369         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3370     }
3371 }
3372 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJob4 {
3373     type Vtable = IBackgroundCopyJob4_abi;
3374     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779438, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
3375 }
3376 impl ::std::convert::From<IBackgroundCopyJob4> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJob4) -> Self3377     fn from(value: IBackgroundCopyJob4) -> Self {
3378         unsafe { ::std::mem::transmute(value) }
3379     }
3380 }
3381 impl ::std::convert::From<&IBackgroundCopyJob4> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJob4) -> Self3382     fn from(value: &IBackgroundCopyJob4) -> Self {
3383         ::std::convert::From::from(::std::clone::Clone::clone(value))
3384     }
3385 }
3386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3387     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3388         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3389     }
3390 }
3391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3393         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3394     }
3395 }
3396 impl ::std::convert::From<IBackgroundCopyJob4> for IBackgroundCopyJob3 {
from(value: IBackgroundCopyJob4) -> Self3397     fn from(value: IBackgroundCopyJob4) -> Self {
3398         unsafe { ::std::mem::transmute(value) }
3399     }
3400 }
3401 impl ::std::convert::From<&IBackgroundCopyJob4> for IBackgroundCopyJob3 {
from(value: &IBackgroundCopyJob4) -> Self3402     fn from(value: &IBackgroundCopyJob4) -> Self {
3403         ::std::convert::From::from(::std::clone::Clone::clone(value))
3404     }
3405 }
3406 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob3> for IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3>3407     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3> {
3408         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob3>::into(self))
3409     }
3410 }
3411 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob3> for &IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3>3412     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3> {
3413         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob3>::into(::std::clone::Clone::clone(self)))
3414     }
3415 }
3416 impl ::std::convert::From<IBackgroundCopyJob4> for IBackgroundCopyJob2 {
from(value: IBackgroundCopyJob4) -> Self3417     fn from(value: IBackgroundCopyJob4) -> Self {
3418         unsafe { ::std::mem::transmute(value) }
3419     }
3420 }
3421 impl ::std::convert::From<&IBackgroundCopyJob4> for IBackgroundCopyJob2 {
from(value: &IBackgroundCopyJob4) -> Self3422     fn from(value: &IBackgroundCopyJob4) -> Self {
3423         ::std::convert::From::from(::std::clone::Clone::clone(value))
3424     }
3425 }
3426 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob2> for IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2>3427     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2> {
3428         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob2>::into(self))
3429     }
3430 }
3431 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob2> for &IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2>3432     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2> {
3433         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob2>::into(::std::clone::Clone::clone(self)))
3434     }
3435 }
3436 impl ::std::convert::From<IBackgroundCopyJob4> for IBackgroundCopyJob {
from(value: IBackgroundCopyJob4) -> Self3437     fn from(value: IBackgroundCopyJob4) -> Self {
3438         unsafe { ::std::mem::transmute(value) }
3439     }
3440 }
3441 impl ::std::convert::From<&IBackgroundCopyJob4> for IBackgroundCopyJob {
from(value: &IBackgroundCopyJob4) -> Self3442     fn from(value: &IBackgroundCopyJob4) -> Self {
3443         ::std::convert::From::from(::std::clone::Clone::clone(value))
3444     }
3445 }
3446 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>3447     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
3448         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(self))
3449     }
3450 }
3451 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for &IBackgroundCopyJob4 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>3452     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
3453         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(::std::clone::Clone::clone(self)))
3454     }
3455 }
3456 #[repr(C)]
3457 #[doc(hidden)]
3458 pub struct IBackgroundCopyJob4_abi(
3459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3462     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::HRESULT,
3463     #[cfg(not(feature = "Win32_Foundation"))] usize,
3464     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3465     #[cfg(not(feature = "Win32_Foundation"))] usize,
3466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TYPE) -> ::windows::runtime::HRESULT,
3473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PROGRESS) -> ::windows::runtime::HRESULT,
3474     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TIMES) -> ::windows::runtime::HRESULT,
3475     #[cfg(not(feature = "Win32_Foundation"))] usize,
3476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_STATE) -> ::windows::runtime::HRESULT,
3477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pperror: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3478     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3479     #[cfg(not(feature = "Win32_Foundation"))] usize,
3480     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3481     #[cfg(not(feature = "Win32_Foundation"))] usize,
3482     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3483     #[cfg(not(feature = "Win32_Foundation"))] usize,
3484     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3485     #[cfg(not(feature = "Win32_Foundation"))] usize,
3486     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3487     #[cfg(not(feature = "Win32_Foundation"))] usize,
3488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
3489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
3490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: u32) -> ::windows::runtime::HRESULT,
3491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
3492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
3495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
3496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
3497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
3498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, errors: *mut u32) -> ::windows::runtime::HRESULT,
3499     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, proxyusage: BG_JOB_PROXY_USAGE, proxylist: super::super::Foundation::PWSTR, proxybypasslist: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3500     #[cfg(not(feature = "Win32_Foundation"))] usize,
3501     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3502     #[cfg(not(feature = "Win32_Foundation"))] usize,
3503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3504     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, program: super::super::Foundation::PWSTR, parameters: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3505     #[cfg(not(feature = "Win32_Foundation"))] usize,
3506     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3507     #[cfg(not(feature = "Win32_Foundation"))] usize,
3508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::HRESULT,
3509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::HRESULT,
3510     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, replyfilename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3511     #[cfg(not(feature = "Win32_Foundation"))] usize,
3512     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, preplyfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3513     #[cfg(not(feature = "Win32_Foundation"))] usize,
3514     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::HRESULT,
3515     #[cfg(not(feature = "Win32_Foundation"))] usize,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::HRESULT,
3517     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, oldprefix: super::super::Foundation::PWSTR, newprefix: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3518     #[cfg(not(feature = "Win32_Foundation"))] usize,
3519     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
3520     #[cfg(not(feature = "Win32_Foundation"))] usize,
3521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
3522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: *mut u32) -> ::windows::runtime::HRESULT,
3523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
3524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflags: *mut u32) -> ::windows::runtime::HRESULT,
3525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plevel: *mut u32) -> ::windows::runtime::HRESULT,
3526     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelevated: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3527     #[cfg(not(feature = "Win32_Foundation"))] usize,
3528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
3529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptimeout: *mut u32) -> ::windows::runtime::HRESULT,
3530 );
3531 #[repr(transparent)]
3532 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3533 pub struct IBackgroundCopyJob5(::windows::runtime::IUnknown);
3534 impl IBackgroundCopyJob5 {
3535     #[cfg(feature = "Win32_Foundation")]
AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()>3536     pub unsafe fn AddFileSet(&self, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::Result<()> {
3537         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cfilecount), ::std::mem::transmute(pfileset)).ok()
3538     }
3539     #[cfg(feature = "Win32_Foundation")]
AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()>3540     pub unsafe fn AddFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1) -> ::windows::runtime::Result<()> {
3541         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi()).ok()
3542     }
EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles>3543     pub unsafe fn EnumFiles(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles> {
3544         let mut result__: <IEnumBackgroundCopyFiles as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3545         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyFiles>(result__)
3546     }
Suspend(&self) -> ::windows::runtime::Result<()>3547     pub unsafe fn Suspend(&self) -> ::windows::runtime::Result<()> {
3548         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
3549     }
Resume(&self) -> ::windows::runtime::Result<()>3550     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
3551         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
3552     }
Cancel(&self) -> ::windows::runtime::Result<()>3553     pub unsafe fn Cancel(&self) -> ::windows::runtime::Result<()> {
3554         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
3555     }
Complete(&self) -> ::windows::runtime::Result<()>3556     pub unsafe fn Complete(&self) -> ::windows::runtime::Result<()> {
3557         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
3558     }
GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3559     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3560         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3561         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3562     }
GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE>3563     pub unsafe fn GetType(&self) -> ::windows::runtime::Result<BG_JOB_TYPE> {
3564         let mut result__: <BG_JOB_TYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3565         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TYPE>(result__)
3566     }
GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS>3567     pub unsafe fn GetProgress(&self) -> ::windows::runtime::Result<BG_JOB_PROGRESS> {
3568         let mut result__: <BG_JOB_PROGRESS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3569         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PROGRESS>(result__)
3570     }
3571     #[cfg(feature = "Win32_Foundation")]
GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES>3572     pub unsafe fn GetTimes(&self) -> ::windows::runtime::Result<BG_JOB_TIMES> {
3573         let mut result__: <BG_JOB_TIMES as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3574         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_TIMES>(result__)
3575     }
GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE>3576     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<BG_JOB_STATE> {
3577         let mut result__: <BG_JOB_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3578         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_STATE>(result__)
3579     }
GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError>3580     pub unsafe fn GetError(&self) -> ::windows::runtime::Result<IBackgroundCopyError> {
3581         let mut result__: <IBackgroundCopyError as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3582         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IBackgroundCopyError>(result__)
3583     }
3584     #[cfg(feature = "Win32_Foundation")]
GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3585     pub unsafe fn GetOwner(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3586         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3587         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3588     }
3589     #[cfg(feature = "Win32_Foundation")]
SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>3590     pub unsafe fn SetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
3591         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
3592     }
3593     #[cfg(feature = "Win32_Foundation")]
GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3594     pub unsafe fn GetDisplayName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3595         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3596         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3597     }
3598     #[cfg(feature = "Win32_Foundation")]
SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()>3599     pub unsafe fn SetDescription<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
3600         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
3601     }
3602     #[cfg(feature = "Win32_Foundation")]
GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3603     pub unsafe fn GetDescription(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3604         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3605         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3606     }
SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()>3607     pub unsafe fn SetPriority(&self, val: BG_JOB_PRIORITY) -> ::windows::runtime::Result<()> {
3608         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
3609     }
GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY>3610     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<BG_JOB_PRIORITY> {
3611         let mut result__: <BG_JOB_PRIORITY as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3612         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_JOB_PRIORITY>(result__)
3613     }
SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()>3614     pub unsafe fn SetNotifyFlags(&self, val: u32) -> ::windows::runtime::Result<()> {
3615         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(val)).ok()
3616     }
GetNotifyFlags(&self) -> ::windows::runtime::Result<u32>3617     pub unsafe fn GetNotifyFlags(&self) -> ::windows::runtime::Result<u32> {
3618         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3619         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3620     }
SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()>3621     pub unsafe fn SetNotifyInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, val: Param0) -> ::windows::runtime::Result<()> {
3622         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), val.into_param().abi()).ok()
3623     }
GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown>3624     pub unsafe fn GetNotifyInterface(&self) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
3625         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3626         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
3627     }
SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()>3628     pub unsafe fn SetMinimumRetryDelay(&self, seconds: u32) -> ::windows::runtime::Result<()> {
3629         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
3630     }
GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32>3631     pub unsafe fn GetMinimumRetryDelay(&self) -> ::windows::runtime::Result<u32> {
3632         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3633         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3634     }
SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()>3635     pub unsafe fn SetNoProgressTimeout(&self, seconds: u32) -> ::windows::runtime::Result<()> {
3636         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
3637     }
GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32>3638     pub unsafe fn GetNoProgressTimeout(&self) -> ::windows::runtime::Result<u32> {
3639         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3640         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3641     }
GetErrorCount(&self) -> ::windows::runtime::Result<u32>3642     pub unsafe fn GetErrorCount(&self) -> ::windows::runtime::Result<u32> {
3643         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3644         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3645     }
3646     #[cfg(feature = "Win32_Foundation")]
SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()>3647     pub unsafe fn SetProxySettings<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, proxyusage: BG_JOB_PROXY_USAGE, proxylist: Param1, proxybypasslist: Param2) -> ::windows::runtime::Result<()> {
3648         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(proxyusage), proxylist.into_param().abi(), proxybypasslist.into_param().abi()).ok()
3649     }
3650     #[cfg(feature = "Win32_Foundation")]
GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>3651     pub unsafe fn GetProxySettings(&self, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
3652         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), ::std::mem::transmute(pproxyusage), ::std::mem::transmute(pproxylist), ::std::mem::transmute(pproxybypasslist)).ok()
3653     }
TakeOwnership(&self) -> ::windows::runtime::Result<()>3654     pub unsafe fn TakeOwnership(&self) -> ::windows::runtime::Result<()> {
3655         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self)).ok()
3656     }
3657     #[cfg(feature = "Win32_Foundation")]
SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()>3658     pub unsafe fn SetNotifyCmdLine<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, program: Param0, parameters: Param1) -> ::windows::runtime::Result<()> {
3659         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), program.into_param().abi(), parameters.into_param().abi()).ok()
3660     }
3661     #[cfg(feature = "Win32_Foundation")]
GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>3662     pub unsafe fn GetNotifyCmdLine(&self, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
3663         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogram), ::std::mem::transmute(pparameters)).ok()
3664     }
GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()>3665     pub unsafe fn GetReplyProgress(&self, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::Result<()> {
3666         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), ::std::mem::transmute(pprogress)).ok()
3667     }
GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()>3668     pub unsafe fn GetReplyData(&self, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::Result<()> {
3669         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppbuffer), ::std::mem::transmute(plength)).ok()
3670     }
3671     #[cfg(feature = "Win32_Foundation")]
SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()>3672     pub unsafe fn SetReplyFileName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, replyfilename: Param0) -> ::windows::runtime::Result<()> {
3673         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), replyfilename.into_param().abi()).ok()
3674     }
3675     #[cfg(feature = "Win32_Foundation")]
GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3676     pub unsafe fn GetReplyFileName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3677         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3678         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3679     }
3680     #[cfg(feature = "Win32_Foundation")]
SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()>3681     pub unsafe fn SetCredentials(&self, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::Result<()> {
3682         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), ::std::mem::transmute(credentials)).ok()
3683     }
RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()>3684     pub unsafe fn RemoveCredentials(&self, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::Result<()> {
3685         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(target), ::std::mem::transmute(scheme)).ok()
3686     }
3687     #[cfg(feature = "Win32_Foundation")]
ReplaceRemotePrefix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, oldprefix: Param0, newprefix: Param1) -> ::windows::runtime::Result<()>3688     pub unsafe fn ReplaceRemotePrefix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, oldprefix: Param0, newprefix: Param1) -> ::windows::runtime::Result<()> {
3689         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), oldprefix.into_param().abi(), newprefix.into_param().abi()).ok()
3690     }
3691     #[cfg(feature = "Win32_Foundation")]
AddFileWithRanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()>3692     pub unsafe fn AddFileWithRanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, remoteurl: Param0, localname: Param1, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
3693         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), remoteurl.into_param().abi(), localname.into_param().abi(), ::std::mem::transmute(rangecount), ::std::mem::transmute(ranges)).ok()
3694     }
SetFileACLFlags(&self, flags: u32) -> ::windows::runtime::Result<()>3695     pub unsafe fn SetFileACLFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
3696         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
3697     }
GetFileACLFlags(&self) -> ::windows::runtime::Result<u32>3698     pub unsafe fn GetFileACLFlags(&self) -> ::windows::runtime::Result<u32> {
3699         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3700         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3701     }
SetPeerCachingFlags(&self, flags: u32) -> ::windows::runtime::Result<()>3702     pub unsafe fn SetPeerCachingFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
3703         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
3704     }
GetPeerCachingFlags(&self) -> ::windows::runtime::Result<u32>3705     pub unsafe fn GetPeerCachingFlags(&self) -> ::windows::runtime::Result<u32> {
3706         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3707         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3708     }
GetOwnerIntegrityLevel(&self) -> ::windows::runtime::Result<u32>3709     pub unsafe fn GetOwnerIntegrityLevel(&self) -> ::windows::runtime::Result<u32> {
3710         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3711         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3712     }
3713     #[cfg(feature = "Win32_Foundation")]
GetOwnerElevationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>3714     pub unsafe fn GetOwnerElevationState(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
3715         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3716         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
3717     }
SetMaximumDownloadTime(&self, timeout: u32) -> ::windows::runtime::Result<()>3718     pub unsafe fn SetMaximumDownloadTime(&self, timeout: u32) -> ::windows::runtime::Result<()> {
3719         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout)).ok()
3720     }
GetMaximumDownloadTime(&self) -> ::windows::runtime::Result<u32>3721     pub unsafe fn GetMaximumDownloadTime(&self) -> ::windows::runtime::Result<u32> {
3722         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3723         (::windows::runtime::Interface::vtable(self).52)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3724     }
3725     #[cfg(feature = "Win32_Foundation")]
SetProperty<'a, Param1: ::windows::runtime::IntoParam<'a, BITS_JOB_PROPERTY_VALUE>>(&self, propertyid: BITS_JOB_PROPERTY_ID, propertyvalue: Param1) -> ::windows::runtime::Result<()>3726     pub unsafe fn SetProperty<'a, Param1: ::windows::runtime::IntoParam<'a, BITS_JOB_PROPERTY_VALUE>>(&self, propertyid: BITS_JOB_PROPERTY_ID, propertyvalue: Param1) -> ::windows::runtime::Result<()> {
3727         (::windows::runtime::Interface::vtable(self).53)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), propertyvalue.into_param().abi()).ok()
3728     }
3729     #[cfg(feature = "Win32_Foundation")]
GetProperty(&self, propertyid: BITS_JOB_PROPERTY_ID) -> ::windows::runtime::Result<BITS_JOB_PROPERTY_VALUE>3730     pub unsafe fn GetProperty(&self, propertyid: BITS_JOB_PROPERTY_ID) -> ::windows::runtime::Result<BITS_JOB_PROPERTY_VALUE> {
3731         let mut result__: <BITS_JOB_PROPERTY_VALUE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3732         (::windows::runtime::Interface::vtable(self).54)(::std::mem::transmute_copy(self), ::std::mem::transmute(propertyid), &mut result__).from_abi::<BITS_JOB_PROPERTY_VALUE>(result__)
3733     }
3734 }
3735 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJob5 {
3736     type Vtable = IBackgroundCopyJob5_abi;
3737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3896967948, 48058, 18007, [175, 109, 72, 74, 164, 43, 241, 254]);
3738 }
3739 impl ::std::convert::From<IBackgroundCopyJob5> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJob5) -> Self3740     fn from(value: IBackgroundCopyJob5) -> Self {
3741         unsafe { ::std::mem::transmute(value) }
3742     }
3743 }
3744 impl ::std::convert::From<&IBackgroundCopyJob5> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJob5) -> Self3745     fn from(value: &IBackgroundCopyJob5) -> Self {
3746         ::std::convert::From::from(::std::clone::Clone::clone(value))
3747     }
3748 }
3749 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3750     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3751         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3752     }
3753 }
3754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3756         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3757     }
3758 }
3759 impl ::std::convert::From<IBackgroundCopyJob5> for IBackgroundCopyJob4 {
from(value: IBackgroundCopyJob5) -> Self3760     fn from(value: IBackgroundCopyJob5) -> Self {
3761         unsafe { ::std::mem::transmute(value) }
3762     }
3763 }
3764 impl ::std::convert::From<&IBackgroundCopyJob5> for IBackgroundCopyJob4 {
from(value: &IBackgroundCopyJob5) -> Self3765     fn from(value: &IBackgroundCopyJob5) -> Self {
3766         ::std::convert::From::from(::std::clone::Clone::clone(value))
3767     }
3768 }
3769 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob4> for IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob4>3770     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob4> {
3771         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob4>::into(self))
3772     }
3773 }
3774 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob4> for &IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob4>3775     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob4> {
3776         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob4>::into(::std::clone::Clone::clone(self)))
3777     }
3778 }
3779 impl ::std::convert::From<IBackgroundCopyJob5> for IBackgroundCopyJob3 {
from(value: IBackgroundCopyJob5) -> Self3780     fn from(value: IBackgroundCopyJob5) -> Self {
3781         unsafe { ::std::mem::transmute(value) }
3782     }
3783 }
3784 impl ::std::convert::From<&IBackgroundCopyJob5> for IBackgroundCopyJob3 {
from(value: &IBackgroundCopyJob5) -> Self3785     fn from(value: &IBackgroundCopyJob5) -> Self {
3786         ::std::convert::From::from(::std::clone::Clone::clone(value))
3787     }
3788 }
3789 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob3> for IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3>3790     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3> {
3791         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob3>::into(self))
3792     }
3793 }
3794 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob3> for &IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3>3795     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob3> {
3796         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob3>::into(::std::clone::Clone::clone(self)))
3797     }
3798 }
3799 impl ::std::convert::From<IBackgroundCopyJob5> for IBackgroundCopyJob2 {
from(value: IBackgroundCopyJob5) -> Self3800     fn from(value: IBackgroundCopyJob5) -> Self {
3801         unsafe { ::std::mem::transmute(value) }
3802     }
3803 }
3804 impl ::std::convert::From<&IBackgroundCopyJob5> for IBackgroundCopyJob2 {
from(value: &IBackgroundCopyJob5) -> Self3805     fn from(value: &IBackgroundCopyJob5) -> Self {
3806         ::std::convert::From::from(::std::clone::Clone::clone(value))
3807     }
3808 }
3809 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob2> for IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2>3810     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2> {
3811         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob2>::into(self))
3812     }
3813 }
3814 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob2> for &IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2>3815     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob2> {
3816         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob2>::into(::std::clone::Clone::clone(self)))
3817     }
3818 }
3819 impl ::std::convert::From<IBackgroundCopyJob5> for IBackgroundCopyJob {
from(value: IBackgroundCopyJob5) -> Self3820     fn from(value: IBackgroundCopyJob5) -> Self {
3821         unsafe { ::std::mem::transmute(value) }
3822     }
3823 }
3824 impl ::std::convert::From<&IBackgroundCopyJob5> for IBackgroundCopyJob {
from(value: &IBackgroundCopyJob5) -> Self3825     fn from(value: &IBackgroundCopyJob5) -> Self {
3826         ::std::convert::From::from(::std::clone::Clone::clone(value))
3827     }
3828 }
3829 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>3830     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
3831         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(self))
3832     }
3833 }
3834 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJob> for &IBackgroundCopyJob5 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob>3835     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJob> {
3836         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJob>::into(::std::clone::Clone::clone(self)))
3837     }
3838 }
3839 #[repr(C)]
3840 #[doc(hidden)]
3841 pub struct IBackgroundCopyJob5_abi(
3842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3845     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cfilecount: u32, pfileset: *const BG_FILE_INFO) -> ::windows::runtime::HRESULT,
3846     #[cfg(not(feature = "Win32_Foundation"))] usize,
3847     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3848     #[cfg(not(feature = "Win32_Foundation"))] usize,
3849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TYPE) -> ::windows::runtime::HRESULT,
3856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PROGRESS) -> ::windows::runtime::HRESULT,
3857     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_TIMES) -> ::windows::runtime::HRESULT,
3858     #[cfg(not(feature = "Win32_Foundation"))] usize,
3859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_STATE) -> ::windows::runtime::HRESULT,
3860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pperror: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3861     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3862     #[cfg(not(feature = "Win32_Foundation"))] usize,
3863     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3864     #[cfg(not(feature = "Win32_Foundation"))] usize,
3865     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3866     #[cfg(not(feature = "Win32_Foundation"))] usize,
3867     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3868     #[cfg(not(feature = "Win32_Foundation"))] usize,
3869     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3870     #[cfg(not(feature = "Win32_Foundation"))] usize,
3871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
3872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut BG_JOB_PRIORITY) -> ::windows::runtime::HRESULT,
3873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: u32) -> ::windows::runtime::HRESULT,
3874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u32) -> ::windows::runtime::HRESULT,
3875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, val: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
3878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
3879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
3880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut u32) -> ::windows::runtime::HRESULT,
3881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, errors: *mut u32) -> ::windows::runtime::HRESULT,
3882     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, proxyusage: BG_JOB_PROXY_USAGE, proxylist: super::super::Foundation::PWSTR, proxybypasslist: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3883     #[cfg(not(feature = "Win32_Foundation"))] usize,
3884     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxyusage: *mut BG_JOB_PROXY_USAGE, pproxylist: *mut super::super::Foundation::PWSTR, pproxybypasslist: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3885     #[cfg(not(feature = "Win32_Foundation"))] usize,
3886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3887     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, program: super::super::Foundation::PWSTR, parameters: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3888     #[cfg(not(feature = "Win32_Foundation"))] usize,
3889     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogram: *mut super::super::Foundation::PWSTR, pparameters: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3890     #[cfg(not(feature = "Win32_Foundation"))] usize,
3891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprogress: *mut BG_JOB_REPLY_PROGRESS) -> ::windows::runtime::HRESULT,
3892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppbuffer: *mut *mut u8, plength: *mut u64) -> ::windows::runtime::HRESULT,
3893     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, replyfilename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3894     #[cfg(not(feature = "Win32_Foundation"))] usize,
3895     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, preplyfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3896     #[cfg(not(feature = "Win32_Foundation"))] usize,
3897     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, credentials: *const BG_AUTH_CREDENTIALS) -> ::windows::runtime::HRESULT,
3898     #[cfg(not(feature = "Win32_Foundation"))] usize,
3899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, target: BG_AUTH_TARGET, scheme: BG_AUTH_SCHEME) -> ::windows::runtime::HRESULT,
3900     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, oldprefix: super::super::Foundation::PWSTR, newprefix: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3901     #[cfg(not(feature = "Win32_Foundation"))] usize,
3902     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remoteurl: super::super::Foundation::PWSTR, localname: super::super::Foundation::PWSTR, rangecount: u32, ranges: *const BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
3903     #[cfg(not(feature = "Win32_Foundation"))] usize,
3904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
3905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: *mut u32) -> ::windows::runtime::HRESULT,
3906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
3907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflags: *mut u32) -> ::windows::runtime::HRESULT,
3908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, plevel: *mut u32) -> ::windows::runtime::HRESULT,
3909     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pelevated: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
3910     #[cfg(not(feature = "Win32_Foundation"))] usize,
3911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32) -> ::windows::runtime::HRESULT,
3912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ptimeout: *mut u32) -> ::windows::runtime::HRESULT,
3913     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: BITS_JOB_PROPERTY_ID, propertyvalue: BITS_JOB_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
3914     #[cfg(not(feature = "Win32_Foundation"))] usize,
3915     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyid: BITS_JOB_PROPERTY_ID, propertyvalue: *mut BITS_JOB_PROPERTY_VALUE) -> ::windows::runtime::HRESULT,
3916     #[cfg(not(feature = "Win32_Foundation"))] usize,
3917 );
3918 #[repr(transparent)]
3919 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3920 pub struct IBackgroundCopyJobHttpOptions(::windows::runtime::IUnknown);
3921 impl IBackgroundCopyJobHttpOptions {
3922     #[cfg(feature = "Win32_Foundation")]
SetClientCertificateByID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, pcerthashblob: *const u8) -> ::windows::runtime::Result<()>3923     pub unsafe fn SetClientCertificateByID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, pcerthashblob: *const u8) -> ::windows::runtime::Result<()> {
3924         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(storelocation), storename.into_param().abi(), ::std::mem::transmute(pcerthashblob)).ok()
3925     }
3926     #[cfg(feature = "Win32_Foundation")]
SetClientCertificateByName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, subjectname: Param2) -> ::windows::runtime::Result<()>3927     pub unsafe fn SetClientCertificateByName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, subjectname: Param2) -> ::windows::runtime::Result<()> {
3928         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(storelocation), storename.into_param().abi(), subjectname.into_param().abi()).ok()
3929     }
RemoveClientCertificate(&self) -> ::windows::runtime::Result<()>3930     pub unsafe fn RemoveClientCertificate(&self) -> ::windows::runtime::Result<()> {
3931         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3932     }
3933     #[cfg(feature = "Win32_Foundation")]
GetClientCertificate(&self, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>3934     pub unsafe fn GetClientCertificate(&self, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
3935         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstorelocation), ::std::mem::transmute(pstorename), ::std::mem::transmute(ppcerthashblob), ::std::mem::transmute(psubjectname)).ok()
3936     }
3937     #[cfg(feature = "Win32_Foundation")]
SetCustomHeaders<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, requestheaders: Param0) -> ::windows::runtime::Result<()>3938     pub unsafe fn SetCustomHeaders<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, requestheaders: Param0) -> ::windows::runtime::Result<()> {
3939         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), requestheaders.into_param().abi()).ok()
3940     }
3941     #[cfg(feature = "Win32_Foundation")]
GetCustomHeaders(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>3942     pub unsafe fn GetCustomHeaders(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
3943         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3944         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
3945     }
SetSecurityFlags(&self, flags: u32) -> ::windows::runtime::Result<()>3946     pub unsafe fn SetSecurityFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
3947         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
3948     }
GetSecurityFlags(&self) -> ::windows::runtime::Result<u32>3949     pub unsafe fn GetSecurityFlags(&self) -> ::windows::runtime::Result<u32> {
3950         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3951         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3952     }
3953 }
3954 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJobHttpOptions {
3955     type Vtable = IBackgroundCopyJobHttpOptions_abi;
3956     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4055699577, 40705, 19420, [128, 54, 240, 155, 112, 9, 80, 102]);
3957 }
3958 impl ::std::convert::From<IBackgroundCopyJobHttpOptions> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJobHttpOptions) -> Self3959     fn from(value: IBackgroundCopyJobHttpOptions) -> Self {
3960         unsafe { ::std::mem::transmute(value) }
3961     }
3962 }
3963 impl ::std::convert::From<&IBackgroundCopyJobHttpOptions> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJobHttpOptions) -> Self3964     fn from(value: &IBackgroundCopyJobHttpOptions) -> Self {
3965         ::std::convert::From::from(::std::clone::Clone::clone(value))
3966     }
3967 }
3968 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJobHttpOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3969     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3970         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3971     }
3972 }
3973 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJobHttpOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3974     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3975         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3976     }
3977 }
3978 #[repr(C)]
3979 #[doc(hidden)]
3980 pub struct IBackgroundCopyJobHttpOptions_abi(
3981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3984     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storelocation: BG_CERT_STORE_LOCATION, storename: super::super::Foundation::PWSTR, pcerthashblob: *const u8) -> ::windows::runtime::HRESULT,
3985     #[cfg(not(feature = "Win32_Foundation"))] usize,
3986     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storelocation: BG_CERT_STORE_LOCATION, storename: super::super::Foundation::PWSTR, subjectname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3987     #[cfg(not(feature = "Win32_Foundation"))] usize,
3988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3989     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3990     #[cfg(not(feature = "Win32_Foundation"))] usize,
3991     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestheaders: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3992     #[cfg(not(feature = "Win32_Foundation"))] usize,
3993     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequestheaders: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3994     #[cfg(not(feature = "Win32_Foundation"))] usize,
3995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
3996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflags: *mut u32) -> ::windows::runtime::HRESULT,
3997 );
3998 #[repr(transparent)]
3999 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4000 pub struct IBackgroundCopyJobHttpOptions2(::windows::runtime::IUnknown);
4001 impl IBackgroundCopyJobHttpOptions2 {
4002     #[cfg(feature = "Win32_Foundation")]
SetClientCertificateByID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, pcerthashblob: *const u8) -> ::windows::runtime::Result<()>4003     pub unsafe fn SetClientCertificateByID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, pcerthashblob: *const u8) -> ::windows::runtime::Result<()> {
4004         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(storelocation), storename.into_param().abi(), ::std::mem::transmute(pcerthashblob)).ok()
4005     }
4006     #[cfg(feature = "Win32_Foundation")]
SetClientCertificateByName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, subjectname: Param2) -> ::windows::runtime::Result<()>4007     pub unsafe fn SetClientCertificateByName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, subjectname: Param2) -> ::windows::runtime::Result<()> {
4008         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(storelocation), storename.into_param().abi(), subjectname.into_param().abi()).ok()
4009     }
RemoveClientCertificate(&self) -> ::windows::runtime::Result<()>4010     pub unsafe fn RemoveClientCertificate(&self) -> ::windows::runtime::Result<()> {
4011         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4012     }
4013     #[cfg(feature = "Win32_Foundation")]
GetClientCertificate(&self, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>4014     pub unsafe fn GetClientCertificate(&self, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
4015         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstorelocation), ::std::mem::transmute(pstorename), ::std::mem::transmute(ppcerthashblob), ::std::mem::transmute(psubjectname)).ok()
4016     }
4017     #[cfg(feature = "Win32_Foundation")]
SetCustomHeaders<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, requestheaders: Param0) -> ::windows::runtime::Result<()>4018     pub unsafe fn SetCustomHeaders<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, requestheaders: Param0) -> ::windows::runtime::Result<()> {
4019         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), requestheaders.into_param().abi()).ok()
4020     }
4021     #[cfg(feature = "Win32_Foundation")]
GetCustomHeaders(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4022     pub unsafe fn GetCustomHeaders(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4023         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4024         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4025     }
SetSecurityFlags(&self, flags: u32) -> ::windows::runtime::Result<()>4026     pub unsafe fn SetSecurityFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
4027         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
4028     }
GetSecurityFlags(&self) -> ::windows::runtime::Result<u32>4029     pub unsafe fn GetSecurityFlags(&self) -> ::windows::runtime::Result<u32> {
4030         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4031         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4032     }
4033     #[cfg(feature = "Win32_Foundation")]
SetHttpMethod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, method: Param0) -> ::windows::runtime::Result<()>4034     pub unsafe fn SetHttpMethod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, method: Param0) -> ::windows::runtime::Result<()> {
4035         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), method.into_param().abi()).ok()
4036     }
4037     #[cfg(feature = "Win32_Foundation")]
GetHttpMethod(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4038     pub unsafe fn GetHttpMethod(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4039         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4040         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4041     }
4042 }
4043 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJobHttpOptions2 {
4044     type Vtable = IBackgroundCopyJobHttpOptions2_abi;
4045     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3046220178, 41989, 20419, [131, 35, 76, 92, 84, 37, 120, 252]);
4046 }
4047 impl ::std::convert::From<IBackgroundCopyJobHttpOptions2> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJobHttpOptions2) -> Self4048     fn from(value: IBackgroundCopyJobHttpOptions2) -> Self {
4049         unsafe { ::std::mem::transmute(value) }
4050     }
4051 }
4052 impl ::std::convert::From<&IBackgroundCopyJobHttpOptions2> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJobHttpOptions2) -> Self4053     fn from(value: &IBackgroundCopyJobHttpOptions2) -> Self {
4054         ::std::convert::From::from(::std::clone::Clone::clone(value))
4055     }
4056 }
4057 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJobHttpOptions2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4058     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4059         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4060     }
4061 }
4062 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJobHttpOptions2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4063     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4064         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4065     }
4066 }
4067 impl ::std::convert::From<IBackgroundCopyJobHttpOptions2> for IBackgroundCopyJobHttpOptions {
from(value: IBackgroundCopyJobHttpOptions2) -> Self4068     fn from(value: IBackgroundCopyJobHttpOptions2) -> Self {
4069         unsafe { ::std::mem::transmute(value) }
4070     }
4071 }
4072 impl ::std::convert::From<&IBackgroundCopyJobHttpOptions2> for IBackgroundCopyJobHttpOptions {
from(value: &IBackgroundCopyJobHttpOptions2) -> Self4073     fn from(value: &IBackgroundCopyJobHttpOptions2) -> Self {
4074         ::std::convert::From::from(::std::clone::Clone::clone(value))
4075     }
4076 }
4077 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJobHttpOptions> for IBackgroundCopyJobHttpOptions2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions>4078     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions> {
4079         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJobHttpOptions>::into(self))
4080     }
4081 }
4082 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJobHttpOptions> for &IBackgroundCopyJobHttpOptions2 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions>4083     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions> {
4084         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJobHttpOptions>::into(::std::clone::Clone::clone(self)))
4085     }
4086 }
4087 #[repr(C)]
4088 #[doc(hidden)]
4089 pub struct IBackgroundCopyJobHttpOptions2_abi(
4090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4093     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storelocation: BG_CERT_STORE_LOCATION, storename: super::super::Foundation::PWSTR, pcerthashblob: *const u8) -> ::windows::runtime::HRESULT,
4094     #[cfg(not(feature = "Win32_Foundation"))] usize,
4095     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storelocation: BG_CERT_STORE_LOCATION, storename: super::super::Foundation::PWSTR, subjectname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4096     #[cfg(not(feature = "Win32_Foundation"))] usize,
4097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4098     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4099     #[cfg(not(feature = "Win32_Foundation"))] usize,
4100     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestheaders: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4101     #[cfg(not(feature = "Win32_Foundation"))] usize,
4102     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequestheaders: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4103     #[cfg(not(feature = "Win32_Foundation"))] usize,
4104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
4105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflags: *mut u32) -> ::windows::runtime::HRESULT,
4106     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, method: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4107     #[cfg(not(feature = "Win32_Foundation"))] usize,
4108     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, method: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4109     #[cfg(not(feature = "Win32_Foundation"))] usize,
4110 );
4111 #[repr(transparent)]
4112 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4113 pub struct IBackgroundCopyJobHttpOptions3(::windows::runtime::IUnknown);
4114 impl IBackgroundCopyJobHttpOptions3 {
4115     #[cfg(feature = "Win32_Foundation")]
SetClientCertificateByID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, pcerthashblob: *const u8) -> ::windows::runtime::Result<()>4116     pub unsafe fn SetClientCertificateByID<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, pcerthashblob: *const u8) -> ::windows::runtime::Result<()> {
4117         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(storelocation), storename.into_param().abi(), ::std::mem::transmute(pcerthashblob)).ok()
4118     }
4119     #[cfg(feature = "Win32_Foundation")]
SetClientCertificateByName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, subjectname: Param2) -> ::windows::runtime::Result<()>4120     pub unsafe fn SetClientCertificateByName<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, storelocation: BG_CERT_STORE_LOCATION, storename: Param1, subjectname: Param2) -> ::windows::runtime::Result<()> {
4121         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(storelocation), storename.into_param().abi(), subjectname.into_param().abi()).ok()
4122     }
RemoveClientCertificate(&self) -> ::windows::runtime::Result<()>4123     pub unsafe fn RemoveClientCertificate(&self) -> ::windows::runtime::Result<()> {
4124         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4125     }
4126     #[cfg(feature = "Win32_Foundation")]
GetClientCertificate(&self, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>4127     pub unsafe fn GetClientCertificate(&self, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
4128         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstorelocation), ::std::mem::transmute(pstorename), ::std::mem::transmute(ppcerthashblob), ::std::mem::transmute(psubjectname)).ok()
4129     }
4130     #[cfg(feature = "Win32_Foundation")]
SetCustomHeaders<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, requestheaders: Param0) -> ::windows::runtime::Result<()>4131     pub unsafe fn SetCustomHeaders<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, requestheaders: Param0) -> ::windows::runtime::Result<()> {
4132         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), requestheaders.into_param().abi()).ok()
4133     }
4134     #[cfg(feature = "Win32_Foundation")]
GetCustomHeaders(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4135     pub unsafe fn GetCustomHeaders(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4136         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4137         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4138     }
SetSecurityFlags(&self, flags: u32) -> ::windows::runtime::Result<()>4139     pub unsafe fn SetSecurityFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
4140         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
4141     }
GetSecurityFlags(&self) -> ::windows::runtime::Result<u32>4142     pub unsafe fn GetSecurityFlags(&self) -> ::windows::runtime::Result<u32> {
4143         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4144         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4145     }
4146     #[cfg(feature = "Win32_Foundation")]
SetHttpMethod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, method: Param0) -> ::windows::runtime::Result<()>4147     pub unsafe fn SetHttpMethod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, method: Param0) -> ::windows::runtime::Result<()> {
4148         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), method.into_param().abi()).ok()
4149     }
4150     #[cfg(feature = "Win32_Foundation")]
GetHttpMethod(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4151     pub unsafe fn GetHttpMethod(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4152         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4153         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4154     }
SetServerCertificateValidationInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, certvalidationcallback: Param0) -> ::windows::runtime::Result<()>4155     pub unsafe fn SetServerCertificateValidationInterface<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, certvalidationcallback: Param0) -> ::windows::runtime::Result<()> {
4156         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), certvalidationcallback.into_param().abi()).ok()
4157     }
MakeCustomHeadersWriteOnly(&self) -> ::windows::runtime::Result<()>4158     pub unsafe fn MakeCustomHeadersWriteOnly(&self) -> ::windows::runtime::Result<()> {
4159         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)).ok()
4160     }
4161 }
4162 unsafe impl ::windows::runtime::Interface for IBackgroundCopyJobHttpOptions3 {
4163     type Vtable = IBackgroundCopyJobHttpOptions3_abi;
4164     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2324849619, 64844, 20186, [155, 40, 48, 19, 42, 77, 78, 60]);
4165 }
4166 impl ::std::convert::From<IBackgroundCopyJobHttpOptions3> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyJobHttpOptions3) -> Self4167     fn from(value: IBackgroundCopyJobHttpOptions3) -> Self {
4168         unsafe { ::std::mem::transmute(value) }
4169     }
4170 }
4171 impl ::std::convert::From<&IBackgroundCopyJobHttpOptions3> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyJobHttpOptions3) -> Self4172     fn from(value: &IBackgroundCopyJobHttpOptions3) -> Self {
4173         ::std::convert::From::from(::std::clone::Clone::clone(value))
4174     }
4175 }
4176 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyJobHttpOptions3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4177     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4178         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4179     }
4180 }
4181 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyJobHttpOptions3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4182     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4183         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4184     }
4185 }
4186 impl ::std::convert::From<IBackgroundCopyJobHttpOptions3> for IBackgroundCopyJobHttpOptions2 {
from(value: IBackgroundCopyJobHttpOptions3) -> Self4187     fn from(value: IBackgroundCopyJobHttpOptions3) -> Self {
4188         unsafe { ::std::mem::transmute(value) }
4189     }
4190 }
4191 impl ::std::convert::From<&IBackgroundCopyJobHttpOptions3> for IBackgroundCopyJobHttpOptions2 {
from(value: &IBackgroundCopyJobHttpOptions3) -> Self4192     fn from(value: &IBackgroundCopyJobHttpOptions3) -> Self {
4193         ::std::convert::From::from(::std::clone::Clone::clone(value))
4194     }
4195 }
4196 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJobHttpOptions2> for IBackgroundCopyJobHttpOptions3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions2>4197     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions2> {
4198         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJobHttpOptions2>::into(self))
4199     }
4200 }
4201 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJobHttpOptions2> for &IBackgroundCopyJobHttpOptions3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions2>4202     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions2> {
4203         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJobHttpOptions2>::into(::std::clone::Clone::clone(self)))
4204     }
4205 }
4206 impl ::std::convert::From<IBackgroundCopyJobHttpOptions3> for IBackgroundCopyJobHttpOptions {
from(value: IBackgroundCopyJobHttpOptions3) -> Self4207     fn from(value: IBackgroundCopyJobHttpOptions3) -> Self {
4208         unsafe { ::std::mem::transmute(value) }
4209     }
4210 }
4211 impl ::std::convert::From<&IBackgroundCopyJobHttpOptions3> for IBackgroundCopyJobHttpOptions {
from(value: &IBackgroundCopyJobHttpOptions3) -> Self4212     fn from(value: &IBackgroundCopyJobHttpOptions3) -> Self {
4213         ::std::convert::From::from(::std::clone::Clone::clone(value))
4214     }
4215 }
4216 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJobHttpOptions> for IBackgroundCopyJobHttpOptions3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions>4217     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions> {
4218         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJobHttpOptions>::into(self))
4219     }
4220 }
4221 impl<'a> ::windows::runtime::IntoParam<'a, IBackgroundCopyJobHttpOptions> for &IBackgroundCopyJobHttpOptions3 {
into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions>4222     fn into_param(self) -> ::windows::runtime::Param<'a, IBackgroundCopyJobHttpOptions> {
4223         ::windows::runtime::Param::Owned(::std::convert::Into::<IBackgroundCopyJobHttpOptions>::into(::std::clone::Clone::clone(self)))
4224     }
4225 }
4226 #[repr(C)]
4227 #[doc(hidden)]
4228 pub struct IBackgroundCopyJobHttpOptions3_abi(
4229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4232     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storelocation: BG_CERT_STORE_LOCATION, storename: super::super::Foundation::PWSTR, pcerthashblob: *const u8) -> ::windows::runtime::HRESULT,
4233     #[cfg(not(feature = "Win32_Foundation"))] usize,
4234     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storelocation: BG_CERT_STORE_LOCATION, storename: super::super::Foundation::PWSTR, subjectname: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4235     #[cfg(not(feature = "Win32_Foundation"))] usize,
4236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4237     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstorelocation: *mut BG_CERT_STORE_LOCATION, pstorename: *mut super::super::Foundation::PWSTR, ppcerthashblob: *mut *mut u8, psubjectname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4238     #[cfg(not(feature = "Win32_Foundation"))] usize,
4239     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, requestheaders: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4240     #[cfg(not(feature = "Win32_Foundation"))] usize,
4241     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequestheaders: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4242     #[cfg(not(feature = "Win32_Foundation"))] usize,
4243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
4244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflags: *mut u32) -> ::windows::runtime::HRESULT,
4245     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, method: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4246     #[cfg(not(feature = "Win32_Foundation"))] usize,
4247     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, method: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4248     #[cfg(not(feature = "Win32_Foundation"))] usize,
4249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, certvalidationcallback: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4251 );
4252 #[repr(transparent)]
4253 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4254 pub struct IBackgroundCopyManager(::windows::runtime::IUnknown);
4255 impl IBackgroundCopyManager {
4256     #[cfg(feature = "Win32_Foundation")]
CreateJob<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, displayname: Param0, r#type: BG_JOB_TYPE, pjobid: *mut ::windows::runtime::GUID, ppjob: *mut ::std::option::Option<IBackgroundCopyJob>) -> ::windows::runtime::Result<()>4257     pub unsafe fn CreateJob<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, displayname: Param0, r#type: BG_JOB_TYPE, pjobid: *mut ::windows::runtime::GUID, ppjob: *mut ::std::option::Option<IBackgroundCopyJob>) -> ::windows::runtime::Result<()> {
4258         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), displayname.into_param().abi(), ::std::mem::transmute(r#type), ::std::mem::transmute(pjobid), ::std::mem::transmute(ppjob)).ok()
4259     }
GetJob(&self, jobid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IBackgroundCopyJob>4260     pub unsafe fn GetJob(&self, jobid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IBackgroundCopyJob> {
4261         let mut result__: <IBackgroundCopyJob as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4262         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(jobid), &mut result__).from_abi::<IBackgroundCopyJob>(result__)
4263     }
EnumJobs(&self, dwflags: u32) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs>4264     pub unsafe fn EnumJobs(&self, dwflags: u32) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs> {
4265         let mut result__: <IEnumBackgroundCopyJobs as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4266         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), &mut result__).from_abi::<IEnumBackgroundCopyJobs>(result__)
4267     }
4268     #[cfg(feature = "Win32_Foundation")]
GetErrorDescription(&self, hresult: ::windows::runtime::HRESULT, languageid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4269     pub unsafe fn GetErrorDescription(&self, hresult: ::windows::runtime::HRESULT, languageid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4270         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4271         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), ::std::mem::transmute(languageid), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4272     }
4273 }
4274 unsafe impl ::windows::runtime::Interface for IBackgroundCopyManager {
4275     type Vtable = IBackgroundCopyManager_abi;
4276     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1558400013, 3529, 19487, [137, 124, 218, 161, 183, 140, 238, 124]);
4277 }
4278 impl ::std::convert::From<IBackgroundCopyManager> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyManager) -> Self4279     fn from(value: IBackgroundCopyManager) -> Self {
4280         unsafe { ::std::mem::transmute(value) }
4281     }
4282 }
4283 impl ::std::convert::From<&IBackgroundCopyManager> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyManager) -> Self4284     fn from(value: &IBackgroundCopyManager) -> Self {
4285         ::std::convert::From::from(::std::clone::Clone::clone(value))
4286     }
4287 }
4288 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4289     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4290         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4291     }
4292 }
4293 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4294     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4295         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4296     }
4297 }
4298 #[repr(C)]
4299 #[doc(hidden)]
4300 pub struct IBackgroundCopyManager_abi(
4301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4304     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displayname: super::super::Foundation::PWSTR, r#type: BG_JOB_TYPE, pjobid: *mut ::windows::runtime::GUID, ppjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4305     #[cfg(not(feature = "Win32_Foundation"))] usize,
4306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, jobid: *const ::windows::runtime::GUID, ppjob: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4308     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, languageid: u32, perrordescription: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4309     #[cfg(not(feature = "Win32_Foundation"))] usize,
4310 );
4311 #[repr(transparent)]
4312 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4313 pub struct IBackgroundCopyQMgr(::windows::runtime::IUnknown);
4314 impl IBackgroundCopyQMgr {
CreateGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, guidgroupid: Param0) -> ::windows::runtime::Result<IBackgroundCopyGroup>4315     pub unsafe fn CreateGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, guidgroupid: Param0) -> ::windows::runtime::Result<IBackgroundCopyGroup> {
4316         let mut result__: <IBackgroundCopyGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4317         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), guidgroupid.into_param().abi(), &mut result__).from_abi::<IBackgroundCopyGroup>(result__)
4318     }
GetGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, groupid: Param0) -> ::windows::runtime::Result<IBackgroundCopyGroup>4319     pub unsafe fn GetGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, groupid: Param0) -> ::windows::runtime::Result<IBackgroundCopyGroup> {
4320         let mut result__: <IBackgroundCopyGroup as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4321         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), groupid.into_param().abi(), &mut result__).from_abi::<IBackgroundCopyGroup>(result__)
4322     }
EnumGroups(&self, dwflags: u32) -> ::windows::runtime::Result<IEnumBackgroundCopyGroups>4323     pub unsafe fn EnumGroups(&self, dwflags: u32) -> ::windows::runtime::Result<IEnumBackgroundCopyGroups> {
4324         let mut result__: <IEnumBackgroundCopyGroups as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4325         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), &mut result__).from_abi::<IEnumBackgroundCopyGroups>(result__)
4326     }
4327 }
4328 unsafe impl ::windows::runtime::Interface for IBackgroundCopyQMgr {
4329     type Vtable = IBackgroundCopyQMgr_abi;
4330     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(385096809, 2549, 16850, [140, 216, 60, 8, 196, 123, 200, 168]);
4331 }
4332 impl ::std::convert::From<IBackgroundCopyQMgr> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyQMgr) -> Self4333     fn from(value: IBackgroundCopyQMgr) -> Self {
4334         unsafe { ::std::mem::transmute(value) }
4335     }
4336 }
4337 impl ::std::convert::From<&IBackgroundCopyQMgr> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyQMgr) -> Self4338     fn from(value: &IBackgroundCopyQMgr) -> Self {
4339         ::std::convert::From::from(::std::clone::Clone::clone(value))
4340     }
4341 }
4342 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyQMgr {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4343     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4344         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4345     }
4346 }
4347 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyQMgr {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4348     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4349         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4350     }
4351 }
4352 #[repr(C)]
4353 #[doc(hidden)]
4354 pub struct IBackgroundCopyQMgr_abi(
4355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidgroupid: ::windows::runtime::GUID, ppgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, groupid: ::windows::runtime::GUID, ppgroup: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, ppenumgroups: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4361 );
4362 #[repr(transparent)]
4363 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4364 pub struct IBackgroundCopyServerCertificateValidationCallback(::windows::runtime::IUnknown);
4365 impl IBackgroundCopyServerCertificateValidationCallback {
ValidateServerCertificate<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, job: Param0, file: Param1, certlength: u32, certdata: *const u8, certencodingtype: u32, certstorelength: u32, certstoredata: *const u8) -> ::windows::runtime::Result<()>4366     pub unsafe fn ValidateServerCertificate<'a, Param0: ::windows::runtime::IntoParam<'a, IBackgroundCopyJob>, Param1: ::windows::runtime::IntoParam<'a, IBackgroundCopyFile>>(&self, job: Param0, file: Param1, certlength: u32, certdata: *const u8, certencodingtype: u32, certstorelength: u32, certstoredata: *const u8) -> ::windows::runtime::Result<()> {
4367         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), job.into_param().abi(), file.into_param().abi(), ::std::mem::transmute(certlength), ::std::mem::transmute(certdata), ::std::mem::transmute(certencodingtype), ::std::mem::transmute(certstorelength), ::std::mem::transmute(certstoredata)).ok()
4368     }
4369 }
4370 unsafe impl ::windows::runtime::Interface for IBackgroundCopyServerCertificateValidationCallback {
4371     type Vtable = IBackgroundCopyServerCertificateValidationCallback_abi;
4372     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1290538242, 57079, 16728, [129, 58, 195, 42, 70, 148, 95, 247]);
4373 }
4374 impl ::std::convert::From<IBackgroundCopyServerCertificateValidationCallback> for ::windows::runtime::IUnknown {
from(value: IBackgroundCopyServerCertificateValidationCallback) -> Self4375     fn from(value: IBackgroundCopyServerCertificateValidationCallback) -> Self {
4376         unsafe { ::std::mem::transmute(value) }
4377     }
4378 }
4379 impl ::std::convert::From<&IBackgroundCopyServerCertificateValidationCallback> for ::windows::runtime::IUnknown {
from(value: &IBackgroundCopyServerCertificateValidationCallback) -> Self4380     fn from(value: &IBackgroundCopyServerCertificateValidationCallback) -> Self {
4381         ::std::convert::From::from(::std::clone::Clone::clone(value))
4382     }
4383 }
4384 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBackgroundCopyServerCertificateValidationCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4385     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4386         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4387     }
4388 }
4389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBackgroundCopyServerCertificateValidationCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4390     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4391         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4392     }
4393 }
4394 #[repr(C)]
4395 #[doc(hidden)]
4396 pub struct IBackgroundCopyServerCertificateValidationCallback_abi(
4397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, job: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, certlength: u32, certdata: *const u8, certencodingtype: u32, certstorelength: u32, certstoredata: *const u8) -> ::windows::runtime::HRESULT,
4401 );
4402 #[repr(transparent)]
4403 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4404 pub struct IBitsPeer(::windows::runtime::IUnknown);
4405 impl IBitsPeer {
4406     #[cfg(feature = "Win32_Foundation")]
GetPeerName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4407     pub unsafe fn GetPeerName(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4408         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4409         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4410     }
4411     #[cfg(feature = "Win32_Foundation")]
IsAuthenticated(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4412     pub unsafe fn IsAuthenticated(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4413         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4414         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4415     }
4416     #[cfg(feature = "Win32_Foundation")]
IsAvailable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>4417     pub unsafe fn IsAvailable(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
4418         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4419         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
4420     }
4421 }
4422 unsafe impl ::windows::runtime::Interface for IBitsPeer {
4423     type Vtable = IBitsPeer_abi;
4424     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779426, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
4425 }
4426 impl ::std::convert::From<IBitsPeer> for ::windows::runtime::IUnknown {
from(value: IBitsPeer) -> Self4427     fn from(value: IBitsPeer) -> Self {
4428         unsafe { ::std::mem::transmute(value) }
4429     }
4430 }
4431 impl ::std::convert::From<&IBitsPeer> for ::windows::runtime::IUnknown {
from(value: &IBitsPeer) -> Self4432     fn from(value: &IBitsPeer) -> Self {
4433         ::std::convert::From::from(::std::clone::Clone::clone(value))
4434     }
4435 }
4436 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBitsPeer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4437     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4438         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4439     }
4440 }
4441 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBitsPeer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4442     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4443         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4444     }
4445 }
4446 #[repr(C)]
4447 #[doc(hidden)]
4448 pub struct IBitsPeer_abi(
4449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4452     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4453     #[cfg(not(feature = "Win32_Foundation"))] usize,
4454     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pauth: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4455     #[cfg(not(feature = "Win32_Foundation"))] usize,
4456     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ponline: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4457     #[cfg(not(feature = "Win32_Foundation"))] usize,
4458 );
4459 #[repr(transparent)]
4460 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4461 pub struct IBitsPeerCacheAdministration(::windows::runtime::IUnknown);
4462 impl IBitsPeerCacheAdministration {
GetMaximumCacheSize(&self) -> ::windows::runtime::Result<u32>4463     pub unsafe fn GetMaximumCacheSize(&self) -> ::windows::runtime::Result<u32> {
4464         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4465         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4466     }
SetMaximumCacheSize(&self, bytes: u32) -> ::windows::runtime::Result<()>4467     pub unsafe fn SetMaximumCacheSize(&self, bytes: u32) -> ::windows::runtime::Result<()> {
4468         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(bytes)).ok()
4469     }
GetMaximumContentAge(&self) -> ::windows::runtime::Result<u32>4470     pub unsafe fn GetMaximumContentAge(&self) -> ::windows::runtime::Result<u32> {
4471         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4472         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4473     }
SetMaximumContentAge(&self, seconds: u32) -> ::windows::runtime::Result<()>4474     pub unsafe fn SetMaximumContentAge(&self, seconds: u32) -> ::windows::runtime::Result<()> {
4475         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(seconds)).ok()
4476     }
GetConfigurationFlags(&self) -> ::windows::runtime::Result<u32>4477     pub unsafe fn GetConfigurationFlags(&self) -> ::windows::runtime::Result<u32> {
4478         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4479         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4480     }
SetConfigurationFlags(&self, flags: u32) -> ::windows::runtime::Result<()>4481     pub unsafe fn SetConfigurationFlags(&self, flags: u32) -> ::windows::runtime::Result<()> {
4482         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(flags)).ok()
4483     }
EnumRecords(&self) -> ::windows::runtime::Result<IEnumBitsPeerCacheRecords>4484     pub unsafe fn EnumRecords(&self) -> ::windows::runtime::Result<IEnumBitsPeerCacheRecords> {
4485         let mut result__: <IEnumBitsPeerCacheRecords as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4486         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBitsPeerCacheRecords>(result__)
4487     }
GetRecord(&self, id: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IBitsPeerCacheRecord>4488     pub unsafe fn GetRecord(&self, id: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IBitsPeerCacheRecord> {
4489         let mut result__: <IBitsPeerCacheRecord as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4490         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(id), &mut result__).from_abi::<IBitsPeerCacheRecord>(result__)
4491     }
ClearRecords(&self) -> ::windows::runtime::Result<()>4492     pub unsafe fn ClearRecords(&self) -> ::windows::runtime::Result<()> {
4493         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
4494     }
DeleteRecord(&self, id: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4495     pub unsafe fn DeleteRecord(&self, id: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4496         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(id)).ok()
4497     }
4498     #[cfg(feature = "Win32_Foundation")]
DeleteUrl<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, url: Param0) -> ::windows::runtime::Result<()>4499     pub unsafe fn DeleteUrl<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, url: Param0) -> ::windows::runtime::Result<()> {
4500         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), url.into_param().abi()).ok()
4501     }
EnumPeers(&self) -> ::windows::runtime::Result<IEnumBitsPeers>4502     pub unsafe fn EnumPeers(&self) -> ::windows::runtime::Result<IEnumBitsPeers> {
4503         let mut result__: <IEnumBitsPeers as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4504         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBitsPeers>(result__)
4505     }
ClearPeers(&self) -> ::windows::runtime::Result<()>4506     pub unsafe fn ClearPeers(&self) -> ::windows::runtime::Result<()> {
4507         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
4508     }
DiscoverPeers(&self) -> ::windows::runtime::Result<()>4509     pub unsafe fn DiscoverPeers(&self) -> ::windows::runtime::Result<()> {
4510         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
4511     }
4512 }
4513 unsafe impl ::windows::runtime::Interface for IBitsPeerCacheAdministration {
4514     type Vtable = IBitsPeerCacheAdministration_abi;
4515     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779437, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
4516 }
4517 impl ::std::convert::From<IBitsPeerCacheAdministration> for ::windows::runtime::IUnknown {
from(value: IBitsPeerCacheAdministration) -> Self4518     fn from(value: IBitsPeerCacheAdministration) -> Self {
4519         unsafe { ::std::mem::transmute(value) }
4520     }
4521 }
4522 impl ::std::convert::From<&IBitsPeerCacheAdministration> for ::windows::runtime::IUnknown {
from(value: &IBitsPeerCacheAdministration) -> Self4523     fn from(value: &IBitsPeerCacheAdministration) -> Self {
4524         ::std::convert::From::from(::std::clone::Clone::clone(value))
4525     }
4526 }
4527 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBitsPeerCacheAdministration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4528     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4529         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4530     }
4531 }
4532 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBitsPeerCacheAdministration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4533     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4534         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4535     }
4536 }
4537 #[repr(C)]
4538 #[doc(hidden)]
4539 pub struct IBitsPeerCacheAdministration_abi(
4540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbytes: *mut u32) -> ::windows::runtime::HRESULT,
4544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bytes: u32) -> ::windows::runtime::HRESULT,
4545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pseconds: *mut u32) -> ::windows::runtime::HRESULT,
4546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: u32) -> ::windows::runtime::HRESULT,
4547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflags: *mut u32) -> ::windows::runtime::HRESULT,
4548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flags: u32) -> ::windows::runtime::HRESULT,
4549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *const ::windows::runtime::GUID, pprecord: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, id: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4553     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, url: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4554     #[cfg(not(feature = "Win32_Foundation"))] usize,
4555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4558 );
4559 #[repr(transparent)]
4560 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4561 pub struct IBitsPeerCacheRecord(::windows::runtime::IUnknown);
4562 impl IBitsPeerCacheRecord {
GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4563     pub unsafe fn GetId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4564         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4565         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4566     }
4567     #[cfg(feature = "Win32_Foundation")]
GetOriginUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4568     pub unsafe fn GetOriginUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4569         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4570         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4571     }
GetFileSize(&self) -> ::windows::runtime::Result<u64>4572     pub unsafe fn GetFileSize(&self) -> ::windows::runtime::Result<u64> {
4573         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4574         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
4575     }
4576     #[cfg(feature = "Win32_Foundation")]
GetFileModificationTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>4577     pub unsafe fn GetFileModificationTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
4578         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4579         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
4580     }
4581     #[cfg(feature = "Win32_Foundation")]
GetLastAccessTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>4582     pub unsafe fn GetLastAccessTime(&self) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
4583         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4584         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
4585     }
IsFileValidated(&self) -> ::windows::runtime::Result<()>4586     pub unsafe fn IsFileValidated(&self) -> ::windows::runtime::Result<()> {
4587         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
4588     }
GetFileRanges(&self, prangecount: *mut u32, ppranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()>4589     pub unsafe fn GetFileRanges(&self, prangecount: *mut u32, ppranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::Result<()> {
4590         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(prangecount), ::std::mem::transmute(ppranges)).ok()
4591     }
4592 }
4593 unsafe impl ::windows::runtime::Interface for IBitsPeerCacheRecord {
4594     type Vtable = IBitsPeerCacheRecord_abi;
4595     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779439, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
4596 }
4597 impl ::std::convert::From<IBitsPeerCacheRecord> for ::windows::runtime::IUnknown {
from(value: IBitsPeerCacheRecord) -> Self4598     fn from(value: IBitsPeerCacheRecord) -> Self {
4599         unsafe { ::std::mem::transmute(value) }
4600     }
4601 }
4602 impl ::std::convert::From<&IBitsPeerCacheRecord> for ::windows::runtime::IUnknown {
from(value: &IBitsPeerCacheRecord) -> Self4603     fn from(value: &IBitsPeerCacheRecord) -> Self {
4604         ::std::convert::From::from(::std::clone::Clone::clone(value))
4605     }
4606 }
4607 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBitsPeerCacheRecord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4608     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4609         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4610     }
4611 }
4612 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBitsPeerCacheRecord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4613     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4614         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4615     }
4616 }
4617 #[repr(C)]
4618 #[doc(hidden)]
4619 pub struct IBitsPeerCacheRecord_abi(
4620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4624     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4625     #[cfg(not(feature = "Win32_Foundation"))] usize,
4626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut u64) -> ::windows::runtime::HRESULT,
4627     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4628     #[cfg(not(feature = "Win32_Foundation"))] usize,
4629     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
4630     #[cfg(not(feature = "Win32_Foundation"))] usize,
4631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prangecount: *mut u32, ppranges: *mut *mut BG_FILE_RANGE) -> ::windows::runtime::HRESULT,
4633 );
4634 #[repr(transparent)]
4635 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4636 pub struct IBitsTokenOptions(::windows::runtime::IUnknown);
4637 impl IBitsTokenOptions {
SetHelperTokenFlags(&self, usageflags: BG_TOKEN) -> ::windows::runtime::Result<()>4638     pub unsafe fn SetHelperTokenFlags(&self, usageflags: BG_TOKEN) -> ::windows::runtime::Result<()> {
4639         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(usageflags)).ok()
4640     }
GetHelperTokenFlags(&self) -> ::windows::runtime::Result<BG_TOKEN>4641     pub unsafe fn GetHelperTokenFlags(&self) -> ::windows::runtime::Result<BG_TOKEN> {
4642         let mut result__: <BG_TOKEN as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4643         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<BG_TOKEN>(result__)
4644     }
SetHelperToken(&self) -> ::windows::runtime::Result<()>4645     pub unsafe fn SetHelperToken(&self) -> ::windows::runtime::Result<()> {
4646         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4647     }
ClearHelperToken(&self) -> ::windows::runtime::Result<()>4648     pub unsafe fn ClearHelperToken(&self) -> ::windows::runtime::Result<()> {
4649         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
4650     }
4651     #[cfg(feature = "Win32_Foundation")]
GetHelperTokenSid(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4652     pub unsafe fn GetHelperTokenSid(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4653         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4654         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4655     }
4656 }
4657 unsafe impl ::windows::runtime::Interface for IBitsTokenOptions {
4658     type Vtable = IBitsTokenOptions_abi;
4659     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2586150083, 63442, 17786, [154, 94, 34, 182, 123, 255, 199, 210]);
4660 }
4661 impl ::std::convert::From<IBitsTokenOptions> for ::windows::runtime::IUnknown {
from(value: IBitsTokenOptions) -> Self4662     fn from(value: IBitsTokenOptions) -> Self {
4663         unsafe { ::std::mem::transmute(value) }
4664     }
4665 }
4666 impl ::std::convert::From<&IBitsTokenOptions> for ::windows::runtime::IUnknown {
from(value: &IBitsTokenOptions) -> Self4667     fn from(value: &IBitsTokenOptions) -> Self {
4668         ::std::convert::From::from(::std::clone::Clone::clone(value))
4669     }
4670 }
4671 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBitsTokenOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4672     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4673         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4674     }
4675 }
4676 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBitsTokenOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4677     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4678         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4679     }
4680 }
4681 #[repr(C)]
4682 #[doc(hidden)]
4683 pub struct IBitsTokenOptions_abi(
4684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usageflags: BG_TOKEN) -> ::windows::runtime::HRESULT,
4688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pflags: *mut BG_TOKEN) -> ::windows::runtime::HRESULT,
4689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4691     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4692     #[cfg(not(feature = "Win32_Foundation"))] usize,
4693 );
4694 #[repr(transparent)]
4695 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4696 pub struct IEnumBackgroundCopyFiles(::windows::runtime::IUnknown);
4697 impl IEnumBackgroundCopyFiles {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBackgroundCopyFile>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4698     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBackgroundCopyFile>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4699         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4700     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4701     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4702         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4703     }
Reset(&self) -> ::windows::runtime::Result<()>4704     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4705         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4706     }
Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles>4707     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyFiles> {
4708         let mut result__: <IEnumBackgroundCopyFiles as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4709         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyFiles>(result__)
4710     }
GetCount(&self) -> ::windows::runtime::Result<u32>4711     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
4712         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4713         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4714     }
4715 }
4716 unsafe impl ::windows::runtime::Interface for IEnumBackgroundCopyFiles {
4717     type Vtable = IEnumBackgroundCopyFiles_abi;
4718     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3394363749, 50021, 16972, [141, 65, 36, 170, 164, 255, 60, 64]);
4719 }
4720 impl ::std::convert::From<IEnumBackgroundCopyFiles> for ::windows::runtime::IUnknown {
from(value: IEnumBackgroundCopyFiles) -> Self4721     fn from(value: IEnumBackgroundCopyFiles) -> Self {
4722         unsafe { ::std::mem::transmute(value) }
4723     }
4724 }
4725 impl ::std::convert::From<&IEnumBackgroundCopyFiles> for ::windows::runtime::IUnknown {
from(value: &IEnumBackgroundCopyFiles) -> Self4726     fn from(value: &IEnumBackgroundCopyFiles) -> Self {
4727         ::std::convert::From::from(::std::clone::Clone::clone(value))
4728     }
4729 }
4730 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumBackgroundCopyFiles {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4731     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4732         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4733     }
4734 }
4735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumBackgroundCopyFiles {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4737         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4738     }
4739 }
4740 #[repr(C)]
4741 #[doc(hidden)]
4742 pub struct IEnumBackgroundCopyFiles_abi(
4743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
4747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
4748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pucount: *mut u32) -> ::windows::runtime::HRESULT,
4751 );
4752 #[repr(transparent)]
4753 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4754 pub struct IEnumBackgroundCopyGroups(::windows::runtime::IUnknown);
4755 impl IEnumBackgroundCopyGroups {
Next(&self, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4756     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4757         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4758     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4759     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4760         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4761     }
Reset(&self) -> ::windows::runtime::Result<()>4762     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4763         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4764     }
Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyGroups>4765     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyGroups> {
4766         let mut result__: <IEnumBackgroundCopyGroups as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4767         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyGroups>(result__)
4768     }
GetCount(&self) -> ::windows::runtime::Result<u32>4769     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
4770         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4771         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4772     }
4773 }
4774 unsafe impl ::windows::runtime::Interface for IEnumBackgroundCopyGroups {
4775     type Vtable = IEnumBackgroundCopyGroups_abi;
4776     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3650348547, 19108, 18373, [134, 101, 194, 13, 57, 194, 186, 79]);
4777 }
4778 impl ::std::convert::From<IEnumBackgroundCopyGroups> for ::windows::runtime::IUnknown {
from(value: IEnumBackgroundCopyGroups) -> Self4779     fn from(value: IEnumBackgroundCopyGroups) -> Self {
4780         unsafe { ::std::mem::transmute(value) }
4781     }
4782 }
4783 impl ::std::convert::From<&IEnumBackgroundCopyGroups> for ::windows::runtime::IUnknown {
from(value: &IEnumBackgroundCopyGroups) -> Self4784     fn from(value: &IEnumBackgroundCopyGroups) -> Self {
4785         ::std::convert::From::from(::std::clone::Clone::clone(value))
4786     }
4787 }
4788 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumBackgroundCopyGroups {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4789     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4790         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4791     }
4792 }
4793 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumBackgroundCopyGroups {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4794     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4795         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4796     }
4797 }
4798 #[repr(C)]
4799 #[doc(hidden)]
4800 pub struct IEnumBackgroundCopyGroups_abi(
4801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
4805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
4806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pucount: *mut u32) -> ::windows::runtime::HRESULT,
4809 );
4810 #[repr(transparent)]
4811 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4812 pub struct IEnumBackgroundCopyJobs(::windows::runtime::IUnknown);
4813 impl IEnumBackgroundCopyJobs {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBackgroundCopyJob>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4814     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBackgroundCopyJob>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4815         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4816     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4817     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4818         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4819     }
Reset(&self) -> ::windows::runtime::Result<()>4820     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4821         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4822     }
Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs>4823     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs> {
4824         let mut result__: <IEnumBackgroundCopyJobs as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4825         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyJobs>(result__)
4826     }
GetCount(&self) -> ::windows::runtime::Result<u32>4827     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
4828         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4829         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4830     }
4831 }
4832 unsafe impl ::windows::runtime::Interface for IEnumBackgroundCopyJobs {
4833     type Vtable = IEnumBackgroundCopyJobs_abi;
4834     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(452261394, 15217, 18031, [143, 88, 123, 111, 115, 172, 87, 173]);
4835 }
4836 impl ::std::convert::From<IEnumBackgroundCopyJobs> for ::windows::runtime::IUnknown {
from(value: IEnumBackgroundCopyJobs) -> Self4837     fn from(value: IEnumBackgroundCopyJobs) -> Self {
4838         unsafe { ::std::mem::transmute(value) }
4839     }
4840 }
4841 impl ::std::convert::From<&IEnumBackgroundCopyJobs> for ::windows::runtime::IUnknown {
from(value: &IEnumBackgroundCopyJobs) -> Self4842     fn from(value: &IEnumBackgroundCopyJobs) -> Self {
4843         ::std::convert::From::from(::std::clone::Clone::clone(value))
4844     }
4845 }
4846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumBackgroundCopyJobs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4848         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4849     }
4850 }
4851 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumBackgroundCopyJobs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4852     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4853         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4854     }
4855 }
4856 #[repr(C)]
4857 #[doc(hidden)]
4858 pub struct IEnumBackgroundCopyJobs_abi(
4859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
4863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
4864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pucount: *mut u32) -> ::windows::runtime::HRESULT,
4867 );
4868 #[repr(transparent)]
4869 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4870 pub struct IEnumBackgroundCopyJobs1(::windows::runtime::IUnknown);
4871 impl IEnumBackgroundCopyJobs1 {
Next(&self, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4872     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4873         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4874     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4875     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4876         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4877     }
Reset(&self) -> ::windows::runtime::Result<()>4878     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4879         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4880     }
Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs1>4881     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumBackgroundCopyJobs1> {
4882         let mut result__: <IEnumBackgroundCopyJobs1 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4883         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBackgroundCopyJobs1>(result__)
4884     }
GetCount(&self) -> ::windows::runtime::Result<u32>4885     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
4886         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4887         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4888     }
4889 }
4890 unsafe impl ::windows::runtime::Interface for IEnumBackgroundCopyJobs1 {
4891     type Vtable = IEnumBackgroundCopyJobs1_abi;
4892     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2343484061, 36636, 17092, [184, 44, 9, 174, 121, 152, 13, 37]);
4893 }
4894 impl ::std::convert::From<IEnumBackgroundCopyJobs1> for ::windows::runtime::IUnknown {
from(value: IEnumBackgroundCopyJobs1) -> Self4895     fn from(value: IEnumBackgroundCopyJobs1) -> Self {
4896         unsafe { ::std::mem::transmute(value) }
4897     }
4898 }
4899 impl ::std::convert::From<&IEnumBackgroundCopyJobs1> for ::windows::runtime::IUnknown {
from(value: &IEnumBackgroundCopyJobs1) -> Self4900     fn from(value: &IEnumBackgroundCopyJobs1) -> Self {
4901         ::std::convert::From::from(::std::clone::Clone::clone(value))
4902     }
4903 }
4904 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumBackgroundCopyJobs1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4905     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4906         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4907     }
4908 }
4909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumBackgroundCopyJobs1 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4910     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4911         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4912     }
4913 }
4914 #[repr(C)]
4915 #[doc(hidden)]
4916 pub struct IEnumBackgroundCopyJobs1_abi(
4917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
4921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
4922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pucount: *mut u32) -> ::windows::runtime::HRESULT,
4925 );
4926 #[repr(transparent)]
4927 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4928 pub struct IEnumBitsPeerCacheRecords(::windows::runtime::IUnknown);
4929 impl IEnumBitsPeerCacheRecords {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBitsPeerCacheRecord>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4930     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBitsPeerCacheRecord>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4931         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4932     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4933     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4934         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4935     }
Reset(&self) -> ::windows::runtime::Result<()>4936     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4937         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4938     }
Clone(&self) -> ::windows::runtime::Result<IEnumBitsPeerCacheRecords>4939     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumBitsPeerCacheRecords> {
4940         let mut result__: <IEnumBitsPeerCacheRecords as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4941         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBitsPeerCacheRecords>(result__)
4942     }
GetCount(&self) -> ::windows::runtime::Result<u32>4943     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
4944         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4945         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
4946     }
4947 }
4948 unsafe impl ::windows::runtime::Interface for IEnumBitsPeerCacheRecords {
4949     type Vtable = IEnumBitsPeerCacheRecords_abi;
4950     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779428, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
4951 }
4952 impl ::std::convert::From<IEnumBitsPeerCacheRecords> for ::windows::runtime::IUnknown {
from(value: IEnumBitsPeerCacheRecords) -> Self4953     fn from(value: IEnumBitsPeerCacheRecords) -> Self {
4954         unsafe { ::std::mem::transmute(value) }
4955     }
4956 }
4957 impl ::std::convert::From<&IEnumBitsPeerCacheRecords> for ::windows::runtime::IUnknown {
from(value: &IEnumBitsPeerCacheRecords) -> Self4958     fn from(value: &IEnumBitsPeerCacheRecords) -> Self {
4959         ::std::convert::From::from(::std::clone::Clone::clone(value))
4960     }
4961 }
4962 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumBitsPeerCacheRecords {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4963     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4964         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4965     }
4966 }
4967 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumBitsPeerCacheRecords {
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(::std::clone::Clone::clone(self)))
4970     }
4971 }
4972 #[repr(C)]
4973 #[doc(hidden)]
4974 pub struct IEnumBitsPeerCacheRecords_abi(
4975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
4979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
4980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pucount: *mut u32) -> ::windows::runtime::HRESULT,
4983 );
4984 #[repr(transparent)]
4985 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4986 pub struct IEnumBitsPeers(::windows::runtime::IUnknown);
4987 impl IEnumBitsPeers {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBitsPeer>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4988     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IBitsPeer>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4989         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4990     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4991     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4992         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4993     }
Reset(&self) -> ::windows::runtime::Result<()>4994     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4995         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4996     }
Clone(&self) -> ::windows::runtime::Result<IEnumBitsPeers>4997     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumBitsPeers> {
4998         let mut result__: <IEnumBitsPeers as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4999         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumBitsPeers>(result__)
5000     }
GetCount(&self) -> ::windows::runtime::Result<u32>5001     pub unsafe fn GetCount(&self) -> ::windows::runtime::Result<u32> {
5002         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5003         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5004     }
5005 }
5006 unsafe impl ::windows::runtime::Interface for IEnumBitsPeers {
5007     type Vtable = IEnumBitsPeers_abi;
5008     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1704779429, 18590, 4569, [169, 205, 0, 13, 86, 150, 82, 81]);
5009 }
5010 impl ::std::convert::From<IEnumBitsPeers> for ::windows::runtime::IUnknown {
from(value: IEnumBitsPeers) -> Self5011     fn from(value: IEnumBitsPeers) -> Self {
5012         unsafe { ::std::mem::transmute(value) }
5013     }
5014 }
5015 impl ::std::convert::From<&IEnumBitsPeers> for ::windows::runtime::IUnknown {
from(value: &IEnumBitsPeers) -> Self5016     fn from(value: &IEnumBitsPeers) -> Self {
5017         ::std::convert::From::from(::std::clone::Clone::clone(value))
5018     }
5019 }
5020 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumBitsPeers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5021     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5022         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5023     }
5024 }
5025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumBitsPeers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5027         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5028     }
5029 }
5030 #[repr(C)]
5031 #[doc(hidden)]
5032 pub struct IEnumBitsPeers_abi(
5033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
5037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
5038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pucount: *mut u32) -> ::windows::runtime::HRESULT,
5041 );
5042 pub const QM_E_DOWNLOADER_UNAVAILABLE: u32 = 2164264963u32;
5043 pub const QM_E_INVALID_STATE: u32 = 2164264961u32;
5044 pub const QM_E_ITEM_NOT_FOUND: u32 = 2164264964u32;
5045 pub const QM_E_SERVICE_UNAVAILABLE: u32 = 2164264962u32;
5046 pub const QM_NOTIFY_DISABLE_NOTIFY: u32 = 64u32;
5047 pub const QM_NOTIFY_FILE_DONE: u32 = 1u32;
5048 pub const QM_NOTIFY_GROUP_DONE: u32 = 4u32;
5049 pub const QM_NOTIFY_JOB_DONE: u32 = 2u32;
5050 pub const QM_NOTIFY_USE_PROGRESSEX: u32 = 128u32;
5051 pub const QM_PROGRESS_PERCENT_DONE: u32 = 1u32;
5052 pub const QM_PROGRESS_SIZE_DONE: u32 = 3u32;
5053 pub const QM_PROGRESS_TIME_DONE: u32 = 2u32;
5054 pub const QM_PROTOCOL_CUSTOM: u32 = 4u32;
5055 pub const QM_PROTOCOL_FTP: u32 = 2u32;
5056 pub const QM_PROTOCOL_HTTP: u32 = 1u32;
5057 pub const QM_PROTOCOL_SMB: u32 = 3u32;
5058 pub const QM_STATUS_FILE_COMPLETE: u32 = 1u32;
5059 pub const QM_STATUS_FILE_INCOMPLETE: u32 = 2u32;
5060 pub const QM_STATUS_GROUP_COMPLETE: u32 = 64u32;
5061 pub const QM_STATUS_GROUP_ERROR: u32 = 512u32;
5062 pub const QM_STATUS_GROUP_FOREGROUND: u32 = 1024u32;
5063 pub const QM_STATUS_GROUP_INCOMPLETE: u32 = 128u32;
5064 pub const QM_STATUS_GROUP_SUSPENDED: u32 = 256u32;
5065 pub const QM_STATUS_JOB_COMPLETE: u32 = 4u32;
5066 pub const QM_STATUS_JOB_ERROR: u32 = 16u32;
5067 pub const QM_STATUS_JOB_FOREGROUND: u32 = 32u32;
5068 pub const QM_STATUS_JOB_INCOMPLETE: u32 = 8u32;
5069