1 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
2 pub trait AsyncIBackgroundCopyCallback_Impl
: Sized
{
3 fn Begin_JobTransferred(&self, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob
>) -> ::windows
::core
::Result
<()>;
4 fn Finish_JobTransferred(&self) -> ::windows
::core
::Result
<()>;
5 fn Begin_JobError(&self, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob
>, perror
: ::core
::option
::Option
<&IBackgroundCopyError
>) -> ::windows
::core
::Result
<()>;
6 fn Finish_JobError(&self) -> ::windows
::core
::Result
<()>;
7 fn Begin_JobModification(&self, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob
>, dwreserved
: u32) -> ::windows
::core
::Result
<()>;
8 fn Finish_JobModification(&self) -> ::windows
::core
::Result
<()>;
10 impl ::windows
::core
::RuntimeName
for AsyncIBackgroundCopyCallback {}
11 impl AsyncIBackgroundCopyCallback_Vtbl
{
12 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: AsyncIBackgroundCopyCallback_Impl
, const OFFSET
: isize>() -> AsyncIBackgroundCopyCallback_Vtbl
{
13 unsafe extern "system" fn Begin_JobTransferred
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: AsyncIBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
14 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
15 let this
= (*this
).get_impl();
16 this
.Begin_JobTransferred(::windows
::core
::from_raw_borrowed(&pjob
)).into()
18 unsafe extern "system" fn Finish_JobTransferred
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: AsyncIBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
19 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
20 let this
= (*this
).get_impl();
21 this
.Finish_JobTransferred().into()
23 unsafe extern "system" fn Begin_JobError
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: AsyncIBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, perror
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
24 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
25 let this
= (*this
).get_impl();
26 this
.Begin_JobError(::windows
::core
::from_raw_borrowed(&pjob
), ::windows
::core
::from_raw_borrowed(&perror
)).into()
28 unsafe extern "system" fn Finish_JobError
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: AsyncIBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
29 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
30 let this
= (*this
).get_impl();
31 this
.Finish_JobError().into()
33 unsafe extern "system" fn Begin_JobModification
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: AsyncIBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, dwreserved
: u32) -> ::windows
::core
::HRESULT
{
34 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
35 let this
= (*this
).get_impl();
36 this
.Begin_JobModification(::windows
::core
::from_raw_borrowed(&pjob
), ::core
::mem
::transmute_copy(&dwreserved
)).into()
38 unsafe extern "system" fn Finish_JobModification
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: AsyncIBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
39 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
40 let this
= (*this
).get_impl();
41 this
.Finish_JobModification().into()
44 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
45 Begin_JobTransferred
: Begin_JobTransferred
::<Identity
, Impl
, OFFSET
>,
46 Finish_JobTransferred
: Finish_JobTransferred
::<Identity
, Impl
, OFFSET
>,
47 Begin_JobError
: Begin_JobError
::<Identity
, Impl
, OFFSET
>,
48 Finish_JobError
: Finish_JobError
::<Identity
, Impl
, OFFSET
>,
49 Begin_JobModification
: Begin_JobModification
::<Identity
, Impl
, OFFSET
>,
50 Finish_JobModification
: Finish_JobModification
::<Identity
, Impl
, OFFSET
>,
53 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
54 iid
== &<AsyncIBackgroundCopyCallback
as ::windows
::core
::ComInterface
>::IID
57 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
58 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
59 pub trait IBITSExtensionSetup_Impl
: Sized
+ super::super::System
::Com
::IDispatch_Impl
{
60 fn EnableBITSUploads(&self) -> ::windows
::core
::Result
<()>;
61 fn DisableBITSUploads(&self) -> ::windows
::core
::Result
<()>;
62 fn GetCleanupTaskName(&self) -> ::windows
::core
::Result
<::windows
::core
::BSTR
>;
63 fn GetCleanupTask(&self, riid
: *const ::windows
::core
::GUID
) -> ::windows
::core
::Result
<::windows
::core
::IUnknown
>;
65 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
66 impl ::windows
::core
::RuntimeName
for IBITSExtensionSetup {}
67 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
68 impl IBITSExtensionSetup_Vtbl
{
69 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBITSExtensionSetup_Impl
, const OFFSET
: isize>() -> IBITSExtensionSetup_Vtbl
{
70 unsafe extern "system" fn EnableBITSUploads
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBITSExtensionSetup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
71 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
72 let this
= (*this
).get_impl();
73 this
.EnableBITSUploads().into()
75 unsafe extern "system" fn DisableBITSUploads
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBITSExtensionSetup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
76 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
77 let this
= (*this
).get_impl();
78 this
.DisableBITSUploads().into()
80 unsafe extern "system" fn GetCleanupTaskName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBITSExtensionSetup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ptaskname
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::BSTR
>) -> ::windows
::core
::HRESULT
{
81 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
82 let this
= (*this
).get_impl();
83 match this
.GetCleanupTaskName() {
84 ::core
::result
::Result
::Ok(ok__
) => {
85 ::core
::ptr
::write(ptaskname
, ::core
::mem
::transmute(ok__
));
86 ::windows
::core
::HRESULT(0)
88 ::core
::result
::Result
::Err(err
) => err
.into(),
91 unsafe extern "system" fn GetCleanupTask
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBITSExtensionSetup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, riid
: *const ::windows
::core
::GUID
, ppunk
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
92 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
93 let this
= (*this
).get_impl();
94 match this
.GetCleanupTask(::core
::mem
::transmute_copy(&riid
)) {
95 ::core
::result
::Result
::Ok(ok__
) => {
96 ::core
::ptr
::write(ppunk
, ::core
::mem
::transmute(ok__
));
97 ::windows
::core
::HRESULT(0)
99 ::core
::result
::Result
::Err(err
) => err
.into(),
103 base__
: super::super::System
::Com
::IDispatch_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
104 EnableBITSUploads
: EnableBITSUploads
::<Identity
, Impl
, OFFSET
>,
105 DisableBITSUploads
: DisableBITSUploads
::<Identity
, Impl
, OFFSET
>,
106 GetCleanupTaskName
: GetCleanupTaskName
::<Identity
, Impl
, OFFSET
>,
107 GetCleanupTask
: GetCleanupTask
::<Identity
, Impl
, OFFSET
>,
110 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
111 iid
== &<IBITSExtensionSetup
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<super::super::System
::Com
::IDispatch
as ::windows
::core
::ComInterface
>::IID
114 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
116 pub trait IBITSExtensionSetupFactory_Impl
: Sized
+ super::super::System
::Com
::IDispatch_Impl
{
117 fn GetObject(&self, path
: &::windows
::core
::BSTR
) -> ::windows
::core
::Result
<IBITSExtensionSetup
>;
119 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
120 impl ::windows
::core
::RuntimeName
for IBITSExtensionSetupFactory {}
121 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
122 impl IBITSExtensionSetupFactory_Vtbl
{
123 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBITSExtensionSetupFactory_Impl
, const OFFSET
: isize>() -> IBITSExtensionSetupFactory_Vtbl
{
124 unsafe extern "system" fn GetObject
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBITSExtensionSetupFactory_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, path
: ::std
::mem
::MaybeUninit
<::windows
::core
::BSTR
>, ppextensionsetup
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
125 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
126 let this
= (*this
).get_impl();
127 match this
.GetObject(::core
::mem
::transmute(&path
)) {
128 ::core
::result
::Result
::Ok(ok__
) => {
129 ::core
::ptr
::write(ppextensionsetup
, ::core
::mem
::transmute(ok__
));
130 ::windows
::core
::HRESULT(0)
132 ::core
::result
::Result
::Err(err
) => err
.into(),
135 Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), GetObject: GetObject::<Identity, Impl, OFFSET> }
137 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
138 iid
== &<IBITSExtensionSetupFactory
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<super::super::System
::Com
::IDispatch
as ::windows
::core
::ComInterface
>::IID
141 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
142 pub trait IBackgroundCopyCallback_Impl
: Sized
{
143 fn JobTransferred(&self, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob
>) -> ::windows
::core
::Result
<()>;
144 fn JobError(&self, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob
>, perror
: ::core
::option
::Option
<&IBackgroundCopyError
>) -> ::windows
::core
::Result
<()>;
145 fn JobModification(&self, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob
>, dwreserved
: u32) -> ::windows
::core
::Result
<()>;
147 impl ::windows
::core
::RuntimeName
for IBackgroundCopyCallback {}
148 impl IBackgroundCopyCallback_Vtbl
{
149 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback_Impl
, const OFFSET
: isize>() -> IBackgroundCopyCallback_Vtbl
{
150 unsafe extern "system" fn JobTransferred
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
151 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
152 let this
= (*this
).get_impl();
153 this
.JobTransferred(::windows
::core
::from_raw_borrowed(&pjob
)).into()
155 unsafe extern "system" fn JobError
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, perror
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
156 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
157 let this
= (*this
).get_impl();
158 this
.JobError(::windows
::core
::from_raw_borrowed(&pjob
), ::windows
::core
::from_raw_borrowed(&perror
)).into()
160 unsafe extern "system" fn JobModification
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, dwreserved
: u32) -> ::windows
::core
::HRESULT
{
161 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
162 let this
= (*this
).get_impl();
163 this
.JobModification(::windows
::core
::from_raw_borrowed(&pjob
), ::core
::mem
::transmute_copy(&dwreserved
)).into()
166 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
167 JobTransferred
: JobTransferred
::<Identity
, Impl
, OFFSET
>,
168 JobError
: JobError
::<Identity
, Impl
, OFFSET
>,
169 JobModification
: JobModification
::<Identity
, Impl
, OFFSET
>,
172 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
173 iid
== &<IBackgroundCopyCallback
as ::windows
::core
::ComInterface
>::IID
176 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
177 pub trait IBackgroundCopyCallback1_Impl
: Sized
{
178 fn OnStatus(&self, pgroup
: ::core
::option
::Option
<&IBackgroundCopyGroup
>, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob1
>, dwfileindex
: u32, dwstatus
: u32, dwnumofretries
: u32, dwwin32result
: u32, dwtransportresult
: u32) -> ::windows
::core
::Result
<()>;
179 fn OnProgress(&self, progresstype
: u32, pgroup
: ::core
::option
::Option
<&IBackgroundCopyGroup
>, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob1
>, dwfileindex
: u32, dwprogressvalue
: u32) -> ::windows
::core
::Result
<()>;
180 fn OnProgressEx(&self, progresstype
: u32, pgroup
: ::core
::option
::Option
<&IBackgroundCopyGroup
>, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob1
>, dwfileindex
: u32, dwprogressvalue
: u32, dwbytearraysize
: u32, pbyte
: *const u8) -> ::windows
::core
::Result
<()>;
182 impl ::windows
::core
::RuntimeName
for IBackgroundCopyCallback1 {}
183 impl IBackgroundCopyCallback1_Vtbl
{
184 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback1_Impl
, const OFFSET
: isize>() -> IBackgroundCopyCallback1_Vtbl
{
185 unsafe extern "system" fn OnStatus
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pgroup
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, dwfileindex
: u32, dwstatus
: u32, dwnumofretries
: u32, dwwin32result
: u32, dwtransportresult
: u32) -> ::windows
::core
::HRESULT
{
186 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
187 let this
= (*this
).get_impl();
188 this
.OnStatus(::windows
::core
::from_raw_borrowed(&pgroup
), ::windows
::core
::from_raw_borrowed(&pjob
), ::core
::mem
::transmute_copy(&dwfileindex
), ::core
::mem
::transmute_copy(&dwstatus
), ::core
::mem
::transmute_copy(&dwnumofretries
), ::core
::mem
::transmute_copy(&dwwin32result
), ::core
::mem
::transmute_copy(&dwtransportresult
)).into()
190 unsafe extern "system" fn OnProgress
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, progresstype
: u32, pgroup
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, dwfileindex
: u32, dwprogressvalue
: u32) -> ::windows
::core
::HRESULT
{
191 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
192 let this
= (*this
).get_impl();
193 this
.OnProgress(::core
::mem
::transmute_copy(&progresstype
), ::windows
::core
::from_raw_borrowed(&pgroup
), ::windows
::core
::from_raw_borrowed(&pjob
), ::core
::mem
::transmute_copy(&dwfileindex
), ::core
::mem
::transmute_copy(&dwprogressvalue
)).into()
195 unsafe extern "system" fn OnProgressEx
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, progresstype
: u32, pgroup
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, dwfileindex
: u32, dwprogressvalue
: u32, dwbytearraysize
: u32, pbyte
: *const u8) -> ::windows
::core
::HRESULT
{
196 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
197 let this
= (*this
).get_impl();
198 this
.OnProgressEx(::core
::mem
::transmute_copy(&progresstype
), ::windows
::core
::from_raw_borrowed(&pgroup
), ::windows
::core
::from_raw_borrowed(&pjob
), ::core
::mem
::transmute_copy(&dwfileindex
), ::core
::mem
::transmute_copy(&dwprogressvalue
), ::core
::mem
::transmute_copy(&dwbytearraysize
), ::core
::mem
::transmute_copy(&pbyte
)).into()
201 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
202 OnStatus
: OnStatus
::<Identity
, Impl
, OFFSET
>,
203 OnProgress
: OnProgress
::<Identity
, Impl
, OFFSET
>,
204 OnProgressEx
: OnProgressEx
::<Identity
, Impl
, OFFSET
>,
207 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
208 iid
== &<IBackgroundCopyCallback1
as ::windows
::core
::ComInterface
>::IID
211 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
212 pub trait IBackgroundCopyCallback2_Impl
: Sized
+ IBackgroundCopyCallback_Impl
{
213 fn FileTransferred(&self, pjob
: ::core
::option
::Option
<&IBackgroundCopyJob
>, pfile
: ::core
::option
::Option
<&IBackgroundCopyFile
>) -> ::windows
::core
::Result
<()>;
215 impl ::windows
::core
::RuntimeName
for IBackgroundCopyCallback2 {}
216 impl IBackgroundCopyCallback2_Vtbl
{
217 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback2_Impl
, const OFFSET
: isize>() -> IBackgroundCopyCallback2_Vtbl
{
218 unsafe extern "system" fn FileTransferred
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pjob
: *mut ::core
::ffi
::c_void
, pfile
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
219 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
220 let this
= (*this
).get_impl();
221 this
.FileTransferred(::windows
::core
::from_raw_borrowed(&pjob
), ::windows
::core
::from_raw_borrowed(&pfile
)).into()
223 Self { base__: IBackgroundCopyCallback_Vtbl::new::<Identity, Impl, OFFSET>(), FileTransferred: FileTransferred::<Identity, Impl, OFFSET> }
225 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
226 iid
== &<IBackgroundCopyCallback2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyCallback
as ::windows
::core
::ComInterface
>::IID
229 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
230 pub trait IBackgroundCopyCallback3_Impl
: Sized
+ IBackgroundCopyCallback2_Impl
{
231 fn FileRangesTransferred(&self, job
: ::core
::option
::Option
<&IBackgroundCopyJob
>, file
: ::core
::option
::Option
<&IBackgroundCopyFile
>, rangecount
: u32, ranges
: *const BG_FILE_RANGE
) -> ::windows
::core
::Result
<()>;
233 impl ::windows
::core
::RuntimeName
for IBackgroundCopyCallback3 {}
234 impl IBackgroundCopyCallback3_Vtbl
{
235 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback3_Impl
, const OFFSET
: isize>() -> IBackgroundCopyCallback3_Vtbl
{
236 unsafe extern "system" fn FileRangesTransferred
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyCallback3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, job
: *mut ::core
::ffi
::c_void
, file
: *mut ::core
::ffi
::c_void
, rangecount
: u32, ranges
: *const BG_FILE_RANGE
) -> ::windows
::core
::HRESULT
{
237 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
238 let this
= (*this
).get_impl();
239 this
.FileRangesTransferred(::windows
::core
::from_raw_borrowed(&job
), ::windows
::core
::from_raw_borrowed(&file
), ::core
::mem
::transmute_copy(&rangecount
), ::core
::mem
::transmute_copy(&ranges
)).into()
241 Self { base__: IBackgroundCopyCallback2_Vtbl::new::<Identity, Impl, OFFSET>(), FileRangesTransferred: FileRangesTransferred::<Identity, Impl, OFFSET> }
243 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
244 iid
== &<IBackgroundCopyCallback3
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyCallback
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyCallback2
as ::windows
::core
::ComInterface
>::IID
247 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
248 pub trait IBackgroundCopyError_Impl
: Sized
{
249 fn GetError(&self, pcontext
: *mut BG_ERROR_CONTEXT
, pcode
: *mut ::windows
::core
::HRESULT
) -> ::windows
::core
::Result
<()>;
250 fn GetFile(&self) -> ::windows
::core
::Result
<IBackgroundCopyFile
>;
251 fn GetErrorDescription(&self, languageid
: u32) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
252 fn GetErrorContextDescription(&self, languageid
: u32) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
253 fn GetProtocol(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
255 impl ::windows
::core
::RuntimeName
for IBackgroundCopyError {}
256 impl IBackgroundCopyError_Vtbl
{
257 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyError_Impl
, const OFFSET
: isize>() -> IBackgroundCopyError_Vtbl
{
258 unsafe extern "system" fn GetError
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyError_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pcontext
: *mut BG_ERROR_CONTEXT
, pcode
: *mut ::windows
::core
::HRESULT
) -> ::windows
::core
::HRESULT
{
259 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
260 let this
= (*this
).get_impl();
261 this
.GetError(::core
::mem
::transmute_copy(&pcontext
), ::core
::mem
::transmute_copy(&pcode
)).into()
263 unsafe extern "system" fn GetFile
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyError_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
264 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
265 let this
= (*this
).get_impl();
266 match this
.GetFile() {
267 ::core
::result
::Result
::Ok(ok__
) => {
268 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
269 ::windows
::core
::HRESULT(0)
271 ::core
::result
::Result
::Err(err
) => err
.into(),
274 unsafe extern "system" fn GetErrorDescription
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyError_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, languageid
: u32, perrordescription
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
275 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
276 let this
= (*this
).get_impl();
277 match this
.GetErrorDescription(::core
::mem
::transmute_copy(&languageid
)) {
278 ::core
::result
::Result
::Ok(ok__
) => {
279 ::core
::ptr
::write(perrordescription
, ::core
::mem
::transmute(ok__
));
280 ::windows
::core
::HRESULT(0)
282 ::core
::result
::Result
::Err(err
) => err
.into(),
285 unsafe extern "system" fn GetErrorContextDescription
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyError_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, languageid
: u32, pcontextdescription
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
286 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
287 let this
= (*this
).get_impl();
288 match this
.GetErrorContextDescription(::core
::mem
::transmute_copy(&languageid
)) {
289 ::core
::result
::Result
::Ok(ok__
) => {
290 ::core
::ptr
::write(pcontextdescription
, ::core
::mem
::transmute(ok__
));
291 ::windows
::core
::HRESULT(0)
293 ::core
::result
::Result
::Err(err
) => err
.into(),
296 unsafe extern "system" fn GetProtocol
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyError_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pprotocol
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
297 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
298 let this
= (*this
).get_impl();
299 match this
.GetProtocol() {
300 ::core
::result
::Result
::Ok(ok__
) => {
301 ::core
::ptr
::write(pprotocol
, ::core
::mem
::transmute(ok__
));
302 ::windows
::core
::HRESULT(0)
304 ::core
::result
::Result
::Err(err
) => err
.into(),
308 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
309 GetError
: GetError
::<Identity
, Impl
, OFFSET
>,
310 GetFile
: GetFile
::<Identity
, Impl
, OFFSET
>,
311 GetErrorDescription
: GetErrorDescription
::<Identity
, Impl
, OFFSET
>,
312 GetErrorContextDescription
: GetErrorContextDescription
::<Identity
, Impl
, OFFSET
>,
313 GetProtocol
: GetProtocol
::<Identity
, Impl
, OFFSET
>,
316 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
317 iid
== &<IBackgroundCopyError
as ::windows
::core
::ComInterface
>::IID
320 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
321 #[cfg(feature = "Win32_Foundation")]
322 pub trait IBackgroundCopyFile_Impl
: Sized
{
323 fn GetRemoteName(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
324 fn GetLocalName(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
325 fn GetProgress(&self, pval
: *mut BG_FILE_PROGRESS
) -> ::windows
::core
::Result
<()>;
327 #[cfg(feature = "Win32_Foundation")]
328 impl ::windows
::core
::RuntimeName
for IBackgroundCopyFile {}
329 #[cfg(feature = "Win32_Foundation")]
330 impl IBackgroundCopyFile_Vtbl
{
331 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile_Impl
, const OFFSET
: isize>() -> IBackgroundCopyFile_Vtbl
{
332 unsafe extern "system" fn GetRemoteName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
333 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
334 let this
= (*this
).get_impl();
335 match this
.GetRemoteName() {
336 ::core
::result
::Result
::Ok(ok__
) => {
337 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
338 ::windows
::core
::HRESULT(0)
340 ::core
::result
::Result
::Err(err
) => err
.into(),
343 unsafe extern "system" fn GetLocalName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
344 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
345 let this
= (*this
).get_impl();
346 match this
.GetLocalName() {
347 ::core
::result
::Result
::Ok(ok__
) => {
348 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
349 ::windows
::core
::HRESULT(0)
351 ::core
::result
::Result
::Err(err
) => err
.into(),
354 unsafe extern "system" fn GetProgress
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut BG_FILE_PROGRESS
) -> ::windows
::core
::HRESULT
{
355 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
356 let this
= (*this
).get_impl();
357 this
.GetProgress(::core
::mem
::transmute_copy(&pval
)).into()
360 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
361 GetRemoteName
: GetRemoteName
::<Identity
, Impl
, OFFSET
>,
362 GetLocalName
: GetLocalName
::<Identity
, Impl
, OFFSET
>,
363 GetProgress
: GetProgress
::<Identity
, Impl
, OFFSET
>,
366 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
367 iid
== &<IBackgroundCopyFile
as ::windows
::core
::ComInterface
>::IID
370 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
371 #[cfg(feature = "Win32_Foundation")]
372 pub trait IBackgroundCopyFile2_Impl
: Sized
+ IBackgroundCopyFile_Impl
{
373 fn GetFileRanges(&self, rangecount
: *mut u32, ranges
: *mut *mut BG_FILE_RANGE
) -> ::windows
::core
::Result
<()>;
374 fn SetRemoteName(&self, val
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
376 #[cfg(feature = "Win32_Foundation")]
377 impl ::windows
::core
::RuntimeName
for IBackgroundCopyFile2 {}
378 #[cfg(feature = "Win32_Foundation")]
379 impl IBackgroundCopyFile2_Vtbl
{
380 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile2_Impl
, const OFFSET
: isize>() -> IBackgroundCopyFile2_Vtbl
{
381 unsafe extern "system" fn GetFileRanges
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, rangecount
: *mut u32, ranges
: *mut *mut BG_FILE_RANGE
) -> ::windows
::core
::HRESULT
{
382 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
383 let this
= (*this
).get_impl();
384 this
.GetFileRanges(::core
::mem
::transmute_copy(&rangecount
), ::core
::mem
::transmute_copy(&ranges
)).into()
386 unsafe extern "system" fn SetRemoteName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, val
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
387 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
388 let this
= (*this
).get_impl();
389 this
.SetRemoteName(::core
::mem
::transmute(&val
)).into()
392 base__
: IBackgroundCopyFile_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
393 GetFileRanges
: GetFileRanges
::<Identity
, Impl
, OFFSET
>,
394 SetRemoteName
: SetRemoteName
::<Identity
, Impl
, OFFSET
>,
397 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
398 iid
== &<IBackgroundCopyFile2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile
as ::windows
::core
::ComInterface
>::IID
401 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
402 #[cfg(feature = "Win32_Foundation")]
403 pub trait IBackgroundCopyFile3_Impl
: Sized
+ IBackgroundCopyFile2_Impl
{
404 fn GetTemporaryName(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
405 fn SetValidationState(&self, state
: super::super::Foundation
::BOOL
) -> ::windows
::core
::Result
<()>;
406 fn GetValidationState(&self) -> ::windows
::core
::Result
<super::super::Foundation
::BOOL
>;
407 fn IsDownloadedFromPeer(&self) -> ::windows
::core
::Result
<super::super::Foundation
::BOOL
>;
409 #[cfg(feature = "Win32_Foundation")]
410 impl ::windows
::core
::RuntimeName
for IBackgroundCopyFile3 {}
411 #[cfg(feature = "Win32_Foundation")]
412 impl IBackgroundCopyFile3_Vtbl
{
413 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile3_Impl
, const OFFSET
: isize>() -> IBackgroundCopyFile3_Vtbl
{
414 unsafe extern "system" fn GetTemporaryName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pfilename
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
415 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
416 let this
= (*this
).get_impl();
417 match this
.GetTemporaryName() {
418 ::core
::result
::Result
::Ok(ok__
) => {
419 ::core
::ptr
::write(pfilename
, ::core
::mem
::transmute(ok__
));
420 ::windows
::core
::HRESULT(0)
422 ::core
::result
::Result
::Err(err
) => err
.into(),
425 unsafe extern "system" fn SetValidationState
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, state
: super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
426 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
427 let this
= (*this
).get_impl();
428 this
.SetValidationState(::core
::mem
::transmute_copy(&state
)).into()
430 unsafe extern "system" fn GetValidationState
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pstate
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
431 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
432 let this
= (*this
).get_impl();
433 match this
.GetValidationState() {
434 ::core
::result
::Result
::Ok(ok__
) => {
435 ::core
::ptr
::write(pstate
, ::core
::mem
::transmute(ok__
));
436 ::windows
::core
::HRESULT(0)
438 ::core
::result
::Result
::Err(err
) => err
.into(),
441 unsafe extern "system" fn IsDownloadedFromPeer
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
442 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
443 let this
= (*this
).get_impl();
444 match this
.IsDownloadedFromPeer() {
445 ::core
::result
::Result
::Ok(ok__
) => {
446 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
447 ::windows
::core
::HRESULT(0)
449 ::core
::result
::Result
::Err(err
) => err
.into(),
453 base__
: IBackgroundCopyFile2_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
454 GetTemporaryName
: GetTemporaryName
::<Identity
, Impl
, OFFSET
>,
455 SetValidationState
: SetValidationState
::<Identity
, Impl
, OFFSET
>,
456 GetValidationState
: GetValidationState
::<Identity
, Impl
, OFFSET
>,
457 IsDownloadedFromPeer
: IsDownloadedFromPeer
::<Identity
, Impl
, OFFSET
>,
460 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
461 iid
== &<IBackgroundCopyFile3
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile2
as ::windows
::core
::ComInterface
>::IID
464 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
465 #[cfg(feature = "Win32_Foundation")]
466 pub trait IBackgroundCopyFile4_Impl
: Sized
+ IBackgroundCopyFile3_Impl
{
467 fn GetPeerDownloadStats(&self, pfromorigin
: *mut u64, pfrompeers
: *mut u64) -> ::windows
::core
::Result
<()>;
469 #[cfg(feature = "Win32_Foundation")]
470 impl ::windows
::core
::RuntimeName
for IBackgroundCopyFile4 {}
471 #[cfg(feature = "Win32_Foundation")]
472 impl IBackgroundCopyFile4_Vtbl
{
473 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile4_Impl
, const OFFSET
: isize>() -> IBackgroundCopyFile4_Vtbl
{
474 unsafe extern "system" fn GetPeerDownloadStats
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile4_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pfromorigin
: *mut u64, pfrompeers
: *mut u64) -> ::windows
::core
::HRESULT
{
475 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
476 let this
= (*this
).get_impl();
477 this
.GetPeerDownloadStats(::core
::mem
::transmute_copy(&pfromorigin
), ::core
::mem
::transmute_copy(&pfrompeers
)).into()
479 Self { base__: IBackgroundCopyFile3_Vtbl::new::<Identity, Impl, OFFSET>(), GetPeerDownloadStats: GetPeerDownloadStats::<Identity, Impl, OFFSET> }
481 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
482 iid
== &<IBackgroundCopyFile4
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile3
as ::windows
::core
::ComInterface
>::IID
485 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
486 #[cfg(feature = "Win32_Foundation")]
487 pub trait IBackgroundCopyFile5_Impl
: Sized
+ IBackgroundCopyFile4_Impl
{
488 fn SetProperty(&self, propertyid
: BITS_FILE_PROPERTY_ID
, propertyvalue
: &BITS_FILE_PROPERTY_VALUE
) -> ::windows
::core
::Result
<()>;
489 fn GetProperty(&self, propertyid
: BITS_FILE_PROPERTY_ID
) -> ::windows
::core
::Result
<BITS_FILE_PROPERTY_VALUE
>;
491 #[cfg(feature = "Win32_Foundation")]
492 impl ::windows
::core
::RuntimeName
for IBackgroundCopyFile5 {}
493 #[cfg(feature = "Win32_Foundation")]
494 impl IBackgroundCopyFile5_Vtbl
{
495 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile5_Impl
, const OFFSET
: isize>() -> IBackgroundCopyFile5_Vtbl
{
496 unsafe extern "system" fn SetProperty
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile5_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, propertyid
: BITS_FILE_PROPERTY_ID
, propertyvalue
: BITS_FILE_PROPERTY_VALUE
) -> ::windows
::core
::HRESULT
{
497 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
498 let this
= (*this
).get_impl();
499 this
.SetProperty(::core
::mem
::transmute_copy(&propertyid
), ::core
::mem
::transmute(&propertyvalue
)).into()
501 unsafe extern "system" fn GetProperty
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile5_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, propertyid
: BITS_FILE_PROPERTY_ID
, propertyvalue
: *mut BITS_FILE_PROPERTY_VALUE
) -> ::windows
::core
::HRESULT
{
502 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
503 let this
= (*this
).get_impl();
504 match this
.GetProperty(::core
::mem
::transmute_copy(&propertyid
)) {
505 ::core
::result
::Result
::Ok(ok__
) => {
506 ::core
::ptr
::write(propertyvalue
, ::core
::mem
::transmute(ok__
));
507 ::windows
::core
::HRESULT(0)
509 ::core
::result
::Result
::Err(err
) => err
.into(),
513 base__
: IBackgroundCopyFile4_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
514 SetProperty
: SetProperty
::<Identity
, Impl
, OFFSET
>,
515 GetProperty
: GetProperty
::<Identity
, Impl
, OFFSET
>,
518 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
519 iid
== &<IBackgroundCopyFile5
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile3
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile4
as ::windows
::core
::ComInterface
>::IID
522 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
523 #[cfg(feature = "Win32_Foundation")]
524 pub trait IBackgroundCopyFile6_Impl
: Sized
+ IBackgroundCopyFile5_Impl
{
525 fn UpdateDownloadPosition(&self, offset
: u64) -> ::windows
::core
::Result
<()>;
526 fn RequestFileRanges(&self, rangecount
: u32, ranges
: *const BG_FILE_RANGE
) -> ::windows
::core
::Result
<()>;
527 fn GetFilledFileRanges(&self, rangecount
: *mut u32, ranges
: *mut *mut BG_FILE_RANGE
) -> ::windows
::core
::Result
<()>;
529 #[cfg(feature = "Win32_Foundation")]
530 impl ::windows
::core
::RuntimeName
for IBackgroundCopyFile6 {}
531 #[cfg(feature = "Win32_Foundation")]
532 impl IBackgroundCopyFile6_Vtbl
{
533 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile6_Impl
, const OFFSET
: isize>() -> IBackgroundCopyFile6_Vtbl
{
534 unsafe extern "system" fn UpdateDownloadPosition
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile6_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, offset
: u64) -> ::windows
::core
::HRESULT
{
535 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
536 let this
= (*this
).get_impl();
537 this
.UpdateDownloadPosition(::core
::mem
::transmute_copy(&offset
)).into()
539 unsafe extern "system" fn RequestFileRanges
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile6_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, rangecount
: u32, ranges
: *const BG_FILE_RANGE
) -> ::windows
::core
::HRESULT
{
540 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
541 let this
= (*this
).get_impl();
542 this
.RequestFileRanges(::core
::mem
::transmute_copy(&rangecount
), ::core
::mem
::transmute_copy(&ranges
)).into()
544 unsafe extern "system" fn GetFilledFileRanges
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyFile6_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, rangecount
: *mut u32, ranges
: *mut *mut BG_FILE_RANGE
) -> ::windows
::core
::HRESULT
{
545 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
546 let this
= (*this
).get_impl();
547 this
.GetFilledFileRanges(::core
::mem
::transmute_copy(&rangecount
), ::core
::mem
::transmute_copy(&ranges
)).into()
550 base__
: IBackgroundCopyFile5_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
551 UpdateDownloadPosition
: UpdateDownloadPosition
::<Identity
, Impl
, OFFSET
>,
552 RequestFileRanges
: RequestFileRanges
::<Identity
, Impl
, OFFSET
>,
553 GetFilledFileRanges
: GetFilledFileRanges
::<Identity
, Impl
, OFFSET
>,
556 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
557 iid
== &<IBackgroundCopyFile6
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile3
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile4
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyFile5
as ::windows
::core
::ComInterface
>::IID
560 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
561 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
562 pub trait IBackgroundCopyGroup_Impl
: Sized
{
563 fn GetProp(&self, propid
: GROUPPROP
) -> ::windows
::core
::Result
<super::super::System
::Com
::VARIANT
>;
564 fn SetProp(&self, propid
: GROUPPROP
, pvarval
: *const super::super::System
::Com
::VARIANT
) -> ::windows
::core
::Result
<()>;
565 fn GetProgress(&self, dwflags
: u32) -> ::windows
::core
::Result
<u32>;
566 fn GetStatus(&self, pdwstatus
: *mut u32, pdwjobindex
: *mut u32) -> ::windows
::core
::Result
<()>;
567 fn GetJob(&self, jobid
: &::windows
::core
::GUID
) -> ::windows
::core
::Result
<IBackgroundCopyJob1
>;
568 fn SuspendGroup(&self) -> ::windows
::core
::Result
<()>;
569 fn ResumeGroup(&self) -> ::windows
::core
::Result
<()>;
570 fn CancelGroup(&self) -> ::windows
::core
::Result
<()>;
571 fn Size(&self) -> ::windows
::core
::Result
<u32>;
572 fn GroupID(&self) -> ::windows
::core
::Result
<::windows
::core
::GUID
>;
573 fn CreateJob(&self, guidjobid
: &::windows
::core
::GUID
) -> ::windows
::core
::Result
<IBackgroundCopyJob1
>;
574 fn EnumJobs(&self, dwflags
: u32) -> ::windows
::core
::Result
<IEnumBackgroundCopyJobs1
>;
575 fn SwitchToForeground(&self) -> ::windows
::core
::Result
<()>;
576 fn QueryNewJobInterface(&self, iid
: *const ::windows
::core
::GUID
) -> ::windows
::core
::Result
<::windows
::core
::IUnknown
>;
577 fn SetNotificationPointer(&self, iid
: *const ::windows
::core
::GUID
, punk
: ::core
::option
::Option
<&::windows
::core
::IUnknown
>) -> ::windows
::core
::Result
<()>;
579 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
580 impl ::windows
::core
::RuntimeName
for IBackgroundCopyGroup {}
581 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
582 impl IBackgroundCopyGroup_Vtbl
{
583 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>() -> IBackgroundCopyGroup_Vtbl
{
584 unsafe extern "system" fn GetProp
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, propid
: GROUPPROP
, pvarval
: *mut super::super::System
::Com
::VARIANT
) -> ::windows
::core
::HRESULT
{
585 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
586 let this
= (*this
).get_impl();
587 match this
.GetProp(::core
::mem
::transmute_copy(&propid
)) {
588 ::core
::result
::Result
::Ok(ok__
) => {
589 ::core
::ptr
::write(pvarval
, ::core
::mem
::transmute(ok__
));
590 ::windows
::core
::HRESULT(0)
592 ::core
::result
::Result
::Err(err
) => err
.into(),
595 unsafe extern "system" fn SetProp
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, propid
: GROUPPROP
, pvarval
: *const super::super::System
::Com
::VARIANT
) -> ::windows
::core
::HRESULT
{
596 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
597 let this
= (*this
).get_impl();
598 this
.SetProp(::core
::mem
::transmute_copy(&propid
), ::core
::mem
::transmute_copy(&pvarval
)).into()
600 unsafe extern "system" fn GetProgress
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, dwflags
: u32, pdwprogress
: *mut u32) -> ::windows
::core
::HRESULT
{
601 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
602 let this
= (*this
).get_impl();
603 match this
.GetProgress(::core
::mem
::transmute_copy(&dwflags
)) {
604 ::core
::result
::Result
::Ok(ok__
) => {
605 ::core
::ptr
::write(pdwprogress
, ::core
::mem
::transmute(ok__
));
606 ::windows
::core
::HRESULT(0)
608 ::core
::result
::Result
::Err(err
) => err
.into(),
611 unsafe extern "system" fn GetStatus
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pdwstatus
: *mut u32, pdwjobindex
: *mut u32) -> ::windows
::core
::HRESULT
{
612 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
613 let this
= (*this
).get_impl();
614 this
.GetStatus(::core
::mem
::transmute_copy(&pdwstatus
), ::core
::mem
::transmute_copy(&pdwjobindex
)).into()
616 unsafe extern "system" fn GetJob
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, jobid
: ::windows
::core
::GUID
, ppjob
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
617 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
618 let this
= (*this
).get_impl();
619 match this
.GetJob(::core
::mem
::transmute(&jobid
)) {
620 ::core
::result
::Result
::Ok(ok__
) => {
621 ::core
::ptr
::write(ppjob
, ::core
::mem
::transmute(ok__
));
622 ::windows
::core
::HRESULT(0)
624 ::core
::result
::Result
::Err(err
) => err
.into(),
627 unsafe extern "system" fn SuspendGroup
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
628 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
629 let this
= (*this
).get_impl();
630 this
.SuspendGroup().into()
632 unsafe extern "system" fn ResumeGroup
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
633 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
634 let this
= (*this
).get_impl();
635 this
.ResumeGroup().into()
637 unsafe extern "system" fn CancelGroup
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
638 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
639 let this
= (*this
).get_impl();
640 this
.CancelGroup().into()
642 unsafe extern "system" fn Size
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pdwsize
: *mut u32) -> ::windows
::core
::HRESULT
{
643 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
644 let this
= (*this
).get_impl();
646 ::core
::result
::Result
::Ok(ok__
) => {
647 ::core
::ptr
::write(pdwsize
, ::core
::mem
::transmute(ok__
));
648 ::windows
::core
::HRESULT(0)
650 ::core
::result
::Result
::Err(err
) => err
.into(),
653 unsafe extern "system" fn GroupID
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pguidgroupid
: *mut ::windows
::core
::GUID
) -> ::windows
::core
::HRESULT
{
654 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
655 let this
= (*this
).get_impl();
656 match this
.GroupID() {
657 ::core
::result
::Result
::Ok(ok__
) => {
658 ::core
::ptr
::write(pguidgroupid
, ::core
::mem
::transmute(ok__
));
659 ::windows
::core
::HRESULT(0)
661 ::core
::result
::Result
::Err(err
) => err
.into(),
664 unsafe extern "system" fn CreateJob
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, guidjobid
: ::windows
::core
::GUID
, ppjob
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
665 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
666 let this
= (*this
).get_impl();
667 match this
.CreateJob(::core
::mem
::transmute(&guidjobid
)) {
668 ::core
::result
::Result
::Ok(ok__
) => {
669 ::core
::ptr
::write(ppjob
, ::core
::mem
::transmute(ok__
));
670 ::windows
::core
::HRESULT(0)
672 ::core
::result
::Result
::Err(err
) => err
.into(),
675 unsafe extern "system" fn EnumJobs
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, dwflags
: u32, ppenumjobs
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
676 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
677 let this
= (*this
).get_impl();
678 match this
.EnumJobs(::core
::mem
::transmute_copy(&dwflags
)) {
679 ::core
::result
::Result
::Ok(ok__
) => {
680 ::core
::ptr
::write(ppenumjobs
, ::core
::mem
::transmute(ok__
));
681 ::windows
::core
::HRESULT(0)
683 ::core
::result
::Result
::Err(err
) => err
.into(),
686 unsafe extern "system" fn SwitchToForeground
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
687 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
688 let this
= (*this
).get_impl();
689 this
.SwitchToForeground().into()
691 unsafe extern "system" fn QueryNewJobInterface
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, iid
: *const ::windows
::core
::GUID
, punk
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
692 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
693 let this
= (*this
).get_impl();
694 match this
.QueryNewJobInterface(::core
::mem
::transmute_copy(&iid
)) {
695 ::core
::result
::Result
::Ok(ok__
) => {
696 ::core
::ptr
::write(punk
, ::core
::mem
::transmute(ok__
));
697 ::windows
::core
::HRESULT(0)
699 ::core
::result
::Result
::Err(err
) => err
.into(),
702 unsafe extern "system" fn SetNotificationPointer
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyGroup_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, iid
: *const ::windows
::core
::GUID
, punk
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
703 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
704 let this
= (*this
).get_impl();
705 this
.SetNotificationPointer(::core
::mem
::transmute_copy(&iid
), ::windows
::core
::from_raw_borrowed(&punk
)).into()
708 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
709 GetProp
: GetProp
::<Identity
, Impl
, OFFSET
>,
710 SetProp
: SetProp
::<Identity
, Impl
, OFFSET
>,
711 GetProgress
: GetProgress
::<Identity
, Impl
, OFFSET
>,
712 GetStatus
: GetStatus
::<Identity
, Impl
, OFFSET
>,
713 GetJob
: GetJob
::<Identity
, Impl
, OFFSET
>,
714 SuspendGroup
: SuspendGroup
::<Identity
, Impl
, OFFSET
>,
715 ResumeGroup
: ResumeGroup
::<Identity
, Impl
, OFFSET
>,
716 CancelGroup
: CancelGroup
::<Identity
, Impl
, OFFSET
>,
717 Size
: Size
::<Identity
, Impl
, OFFSET
>,
718 GroupID
: GroupID
::<Identity
, Impl
, OFFSET
>,
719 CreateJob
: CreateJob
::<Identity
, Impl
, OFFSET
>,
720 EnumJobs
: EnumJobs
::<Identity
, Impl
, OFFSET
>,
721 SwitchToForeground
: SwitchToForeground
::<Identity
, Impl
, OFFSET
>,
722 QueryNewJobInterface
: QueryNewJobInterface
::<Identity
, Impl
, OFFSET
>,
723 SetNotificationPointer
: SetNotificationPointer
::<Identity
, Impl
, OFFSET
>,
726 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
727 iid
== &<IBackgroundCopyGroup
as ::windows
::core
::ComInterface
>::IID
730 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
731 #[cfg(feature = "Win32_Foundation")]
732 pub trait IBackgroundCopyJob_Impl
: Sized
{
733 fn AddFileSet(&self, cfilecount
: u32, pfileset
: *const BG_FILE_INFO
) -> ::windows
::core
::Result
<()>;
734 fn AddFile(&self, remoteurl
: &::windows
::core
::PCWSTR
, localname
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
735 fn EnumFiles(&self) -> ::windows
::core
::Result
<IEnumBackgroundCopyFiles
>;
736 fn Suspend(&self) -> ::windows
::core
::Result
<()>;
737 fn Resume(&self) -> ::windows
::core
::Result
<()>;
738 fn Cancel(&self) -> ::windows
::core
::Result
<()>;
739 fn Complete(&self) -> ::windows
::core
::Result
<()>;
740 fn GetId(&self) -> ::windows
::core
::Result
<::windows
::core
::GUID
>;
741 fn GetType(&self) -> ::windows
::core
::Result
<BG_JOB_TYPE
>;
742 fn GetProgress(&self, pval
: *mut BG_JOB_PROGRESS
) -> ::windows
::core
::Result
<()>;
743 fn GetTimes(&self, pval
: *mut BG_JOB_TIMES
) -> ::windows
::core
::Result
<()>;
744 fn GetState(&self) -> ::windows
::core
::Result
<BG_JOB_STATE
>;
745 fn GetError(&self) -> ::windows
::core
::Result
<IBackgroundCopyError
>;
746 fn GetOwner(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
747 fn SetDisplayName(&self, val
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
748 fn GetDisplayName(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
749 fn SetDescription(&self, val
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
750 fn GetDescription(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
751 fn SetPriority(&self, val
: BG_JOB_PRIORITY
) -> ::windows
::core
::Result
<()>;
752 fn GetPriority(&self) -> ::windows
::core
::Result
<BG_JOB_PRIORITY
>;
753 fn SetNotifyFlags(&self, val
: u32) -> ::windows
::core
::Result
<()>;
754 fn GetNotifyFlags(&self) -> ::windows
::core
::Result
<u32>;
755 fn SetNotifyInterface(&self, val
: ::core
::option
::Option
<&::windows
::core
::IUnknown
>) -> ::windows
::core
::Result
<()>;
756 fn GetNotifyInterface(&self) -> ::windows
::core
::Result
<::windows
::core
::IUnknown
>;
757 fn SetMinimumRetryDelay(&self, seconds
: u32) -> ::windows
::core
::Result
<()>;
758 fn GetMinimumRetryDelay(&self) -> ::windows
::core
::Result
<u32>;
759 fn SetNoProgressTimeout(&self, seconds
: u32) -> ::windows
::core
::Result
<()>;
760 fn GetNoProgressTimeout(&self) -> ::windows
::core
::Result
<u32>;
761 fn GetErrorCount(&self) -> ::windows
::core
::Result
<u32>;
762 fn SetProxySettings(&self, proxyusage
: BG_JOB_PROXY_USAGE
, proxylist
: &::windows
::core
::PCWSTR
, proxybypasslist
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
763 fn GetProxySettings(&self, pproxyusage
: *mut BG_JOB_PROXY_USAGE
, pproxylist
: *mut ::windows
::core
::PWSTR
, pproxybypasslist
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::Result
<()>;
764 fn TakeOwnership(&self) -> ::windows
::core
::Result
<()>;
766 #[cfg(feature = "Win32_Foundation")]
767 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJob {}
768 #[cfg(feature = "Win32_Foundation")]
769 impl IBackgroundCopyJob_Vtbl
{
770 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJob_Vtbl
{
771 unsafe extern "system" fn AddFileSet
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, cfilecount
: u32, pfileset
: *const BG_FILE_INFO
) -> ::windows
::core
::HRESULT
{
772 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
773 let this
= (*this
).get_impl();
774 this
.AddFileSet(::core
::mem
::transmute_copy(&cfilecount
), ::core
::mem
::transmute_copy(&pfileset
)).into()
776 unsafe extern "system" fn AddFile
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, remoteurl
: ::windows
::core
::PCWSTR
, localname
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
777 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
778 let this
= (*this
).get_impl();
779 this
.AddFile(::core
::mem
::transmute(&remoteurl
), ::core
::mem
::transmute(&localname
)).into()
781 unsafe extern "system" fn EnumFiles
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, penum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
782 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
783 let this
= (*this
).get_impl();
784 match this
.EnumFiles() {
785 ::core
::result
::Result
::Ok(ok__
) => {
786 ::core
::ptr
::write(penum
, ::core
::mem
::transmute(ok__
));
787 ::windows
::core
::HRESULT(0)
789 ::core
::result
::Result
::Err(err
) => err
.into(),
792 unsafe extern "system" fn Suspend
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
793 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
794 let this
= (*this
).get_impl();
795 this
.Suspend().into()
797 unsafe extern "system" fn Resume
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
798 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
799 let this
= (*this
).get_impl();
802 unsafe extern "system" fn Cancel
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
803 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
804 let this
= (*this
).get_impl();
807 unsafe extern "system" fn Complete
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
808 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
809 let this
= (*this
).get_impl();
810 this
.Complete().into()
812 unsafe extern "system" fn GetId
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::GUID
) -> ::windows
::core
::HRESULT
{
813 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
814 let this
= (*this
).get_impl();
816 ::core
::result
::Result
::Ok(ok__
) => {
817 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
818 ::windows
::core
::HRESULT(0)
820 ::core
::result
::Result
::Err(err
) => err
.into(),
823 unsafe extern "system" fn GetType
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut BG_JOB_TYPE
) -> ::windows
::core
::HRESULT
{
824 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
825 let this
= (*this
).get_impl();
826 match this
.GetType() {
827 ::core
::result
::Result
::Ok(ok__
) => {
828 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
829 ::windows
::core
::HRESULT(0)
831 ::core
::result
::Result
::Err(err
) => err
.into(),
834 unsafe extern "system" fn GetProgress
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut BG_JOB_PROGRESS
) -> ::windows
::core
::HRESULT
{
835 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
836 let this
= (*this
).get_impl();
837 this
.GetProgress(::core
::mem
::transmute_copy(&pval
)).into()
839 unsafe extern "system" fn GetTimes
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut BG_JOB_TIMES
) -> ::windows
::core
::HRESULT
{
840 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
841 let this
= (*this
).get_impl();
842 this
.GetTimes(::core
::mem
::transmute_copy(&pval
)).into()
844 unsafe extern "system" fn GetState
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut BG_JOB_STATE
) -> ::windows
::core
::HRESULT
{
845 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
846 let this
= (*this
).get_impl();
847 match this
.GetState() {
848 ::core
::result
::Result
::Ok(ok__
) => {
849 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
850 ::windows
::core
::HRESULT(0)
852 ::core
::result
::Result
::Err(err
) => err
.into(),
855 unsafe extern "system" fn GetError
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pperror
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
856 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
857 let this
= (*this
).get_impl();
858 match this
.GetError() {
859 ::core
::result
::Result
::Ok(ok__
) => {
860 ::core
::ptr
::write(pperror
, ::core
::mem
::transmute(ok__
));
861 ::windows
::core
::HRESULT(0)
863 ::core
::result
::Result
::Err(err
) => err
.into(),
866 unsafe extern "system" fn GetOwner
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
867 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
868 let this
= (*this
).get_impl();
869 match this
.GetOwner() {
870 ::core
::result
::Result
::Ok(ok__
) => {
871 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
872 ::windows
::core
::HRESULT(0)
874 ::core
::result
::Result
::Err(err
) => err
.into(),
877 unsafe extern "system" fn SetDisplayName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, val
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
878 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
879 let this
= (*this
).get_impl();
880 this
.SetDisplayName(::core
::mem
::transmute(&val
)).into()
882 unsafe extern "system" fn GetDisplayName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
883 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
884 let this
= (*this
).get_impl();
885 match this
.GetDisplayName() {
886 ::core
::result
::Result
::Ok(ok__
) => {
887 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
888 ::windows
::core
::HRESULT(0)
890 ::core
::result
::Result
::Err(err
) => err
.into(),
893 unsafe extern "system" fn SetDescription
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, val
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
894 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
895 let this
= (*this
).get_impl();
896 this
.SetDescription(::core
::mem
::transmute(&val
)).into()
898 unsafe extern "system" fn GetDescription
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
899 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
900 let this
= (*this
).get_impl();
901 match this
.GetDescription() {
902 ::core
::result
::Result
::Ok(ok__
) => {
903 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
904 ::windows
::core
::HRESULT(0)
906 ::core
::result
::Result
::Err(err
) => err
.into(),
909 unsafe extern "system" fn SetPriority
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, val
: BG_JOB_PRIORITY
) -> ::windows
::core
::HRESULT
{
910 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
911 let this
= (*this
).get_impl();
912 this
.SetPriority(::core
::mem
::transmute_copy(&val
)).into()
914 unsafe extern "system" fn GetPriority
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut BG_JOB_PRIORITY
) -> ::windows
::core
::HRESULT
{
915 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
916 let this
= (*this
).get_impl();
917 match this
.GetPriority() {
918 ::core
::result
::Result
::Ok(ok__
) => {
919 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
920 ::windows
::core
::HRESULT(0)
922 ::core
::result
::Result
::Err(err
) => err
.into(),
925 unsafe extern "system" fn SetNotifyFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, val
: u32) -> ::windows
::core
::HRESULT
{
926 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
927 let this
= (*this
).get_impl();
928 this
.SetNotifyFlags(::core
::mem
::transmute_copy(&val
)).into()
930 unsafe extern "system" fn GetNotifyFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut u32) -> ::windows
::core
::HRESULT
{
931 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
932 let this
= (*this
).get_impl();
933 match this
.GetNotifyFlags() {
934 ::core
::result
::Result
::Ok(ok__
) => {
935 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
936 ::windows
::core
::HRESULT(0)
938 ::core
::result
::Result
::Err(err
) => err
.into(),
941 unsafe extern "system" fn SetNotifyInterface
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, val
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
942 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
943 let this
= (*this
).get_impl();
944 this
.SetNotifyInterface(::windows
::core
::from_raw_borrowed(&val
)).into()
946 unsafe extern "system" fn GetNotifyInterface
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
947 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
948 let this
= (*this
).get_impl();
949 match this
.GetNotifyInterface() {
950 ::core
::result
::Result
::Ok(ok__
) => {
951 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
952 ::windows
::core
::HRESULT(0)
954 ::core
::result
::Result
::Err(err
) => err
.into(),
957 unsafe extern "system" fn SetMinimumRetryDelay
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, seconds
: u32) -> ::windows
::core
::HRESULT
{
958 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
959 let this
= (*this
).get_impl();
960 this
.SetMinimumRetryDelay(::core
::mem
::transmute_copy(&seconds
)).into()
962 unsafe extern "system" fn GetMinimumRetryDelay
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, seconds
: *mut u32) -> ::windows
::core
::HRESULT
{
963 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
964 let this
= (*this
).get_impl();
965 match this
.GetMinimumRetryDelay() {
966 ::core
::result
::Result
::Ok(ok__
) => {
967 ::core
::ptr
::write(seconds
, ::core
::mem
::transmute(ok__
));
968 ::windows
::core
::HRESULT(0)
970 ::core
::result
::Result
::Err(err
) => err
.into(),
973 unsafe extern "system" fn SetNoProgressTimeout
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, seconds
: u32) -> ::windows
::core
::HRESULT
{
974 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
975 let this
= (*this
).get_impl();
976 this
.SetNoProgressTimeout(::core
::mem
::transmute_copy(&seconds
)).into()
978 unsafe extern "system" fn GetNoProgressTimeout
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, seconds
: *mut u32) -> ::windows
::core
::HRESULT
{
979 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
980 let this
= (*this
).get_impl();
981 match this
.GetNoProgressTimeout() {
982 ::core
::result
::Result
::Ok(ok__
) => {
983 ::core
::ptr
::write(seconds
, ::core
::mem
::transmute(ok__
));
984 ::windows
::core
::HRESULT(0)
986 ::core
::result
::Result
::Err(err
) => err
.into(),
989 unsafe extern "system" fn GetErrorCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, errors
: *mut u32) -> ::windows
::core
::HRESULT
{
990 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
991 let this
= (*this
).get_impl();
992 match this
.GetErrorCount() {
993 ::core
::result
::Result
::Ok(ok__
) => {
994 ::core
::ptr
::write(errors
, ::core
::mem
::transmute(ok__
));
995 ::windows
::core
::HRESULT(0)
997 ::core
::result
::Result
::Err(err
) => err
.into(),
1000 unsafe extern "system" fn SetProxySettings
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, proxyusage
: BG_JOB_PROXY_USAGE
, proxylist
: ::windows
::core
::PCWSTR
, proxybypasslist
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1001 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1002 let this
= (*this
).get_impl();
1003 this
.SetProxySettings(::core
::mem
::transmute_copy(&proxyusage
), ::core
::mem
::transmute(&proxylist
), ::core
::mem
::transmute(&proxybypasslist
)).into()
1005 unsafe extern "system" fn GetProxySettings
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pproxyusage
: *mut BG_JOB_PROXY_USAGE
, pproxylist
: *mut ::windows
::core
::PWSTR
, pproxybypasslist
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1006 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1007 let this
= (*this
).get_impl();
1008 this
.GetProxySettings(::core
::mem
::transmute_copy(&pproxyusage
), ::core
::mem
::transmute_copy(&pproxylist
), ::core
::mem
::transmute_copy(&pproxybypasslist
)).into()
1010 unsafe extern "system" fn TakeOwnership
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1011 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1012 let this
= (*this
).get_impl();
1013 this
.TakeOwnership().into()
1016 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1017 AddFileSet
: AddFileSet
::<Identity
, Impl
, OFFSET
>,
1018 AddFile
: AddFile
::<Identity
, Impl
, OFFSET
>,
1019 EnumFiles
: EnumFiles
::<Identity
, Impl
, OFFSET
>,
1020 Suspend
: Suspend
::<Identity
, Impl
, OFFSET
>,
1021 Resume
: Resume
::<Identity
, Impl
, OFFSET
>,
1022 Cancel
: Cancel
::<Identity
, Impl
, OFFSET
>,
1023 Complete
: Complete
::<Identity
, Impl
, OFFSET
>,
1024 GetId
: GetId
::<Identity
, Impl
, OFFSET
>,
1025 GetType
: GetType
::<Identity
, Impl
, OFFSET
>,
1026 GetProgress
: GetProgress
::<Identity
, Impl
, OFFSET
>,
1027 GetTimes
: GetTimes
::<Identity
, Impl
, OFFSET
>,
1028 GetState
: GetState
::<Identity
, Impl
, OFFSET
>,
1029 GetError
: GetError
::<Identity
, Impl
, OFFSET
>,
1030 GetOwner
: GetOwner
::<Identity
, Impl
, OFFSET
>,
1031 SetDisplayName
: SetDisplayName
::<Identity
, Impl
, OFFSET
>,
1032 GetDisplayName
: GetDisplayName
::<Identity
, Impl
, OFFSET
>,
1033 SetDescription
: SetDescription
::<Identity
, Impl
, OFFSET
>,
1034 GetDescription
: GetDescription
::<Identity
, Impl
, OFFSET
>,
1035 SetPriority
: SetPriority
::<Identity
, Impl
, OFFSET
>,
1036 GetPriority
: GetPriority
::<Identity
, Impl
, OFFSET
>,
1037 SetNotifyFlags
: SetNotifyFlags
::<Identity
, Impl
, OFFSET
>,
1038 GetNotifyFlags
: GetNotifyFlags
::<Identity
, Impl
, OFFSET
>,
1039 SetNotifyInterface
: SetNotifyInterface
::<Identity
, Impl
, OFFSET
>,
1040 GetNotifyInterface
: GetNotifyInterface
::<Identity
, Impl
, OFFSET
>,
1041 SetMinimumRetryDelay
: SetMinimumRetryDelay
::<Identity
, Impl
, OFFSET
>,
1042 GetMinimumRetryDelay
: GetMinimumRetryDelay
::<Identity
, Impl
, OFFSET
>,
1043 SetNoProgressTimeout
: SetNoProgressTimeout
::<Identity
, Impl
, OFFSET
>,
1044 GetNoProgressTimeout
: GetNoProgressTimeout
::<Identity
, Impl
, OFFSET
>,
1045 GetErrorCount
: GetErrorCount
::<Identity
, Impl
, OFFSET
>,
1046 SetProxySettings
: SetProxySettings
::<Identity
, Impl
, OFFSET
>,
1047 GetProxySettings
: GetProxySettings
::<Identity
, Impl
, OFFSET
>,
1048 TakeOwnership
: TakeOwnership
::<Identity
, Impl
, OFFSET
>,
1051 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1052 iid
== &<IBackgroundCopyJob
as ::windows
::core
::ComInterface
>::IID
1055 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1056 pub trait IBackgroundCopyJob1_Impl
: Sized
{
1057 fn CancelJob(&self) -> ::windows
::core
::Result
<()>;
1058 fn GetProgress(&self, dwflags
: u32) -> ::windows
::core
::Result
<u32>;
1059 fn GetStatus(&self, pdwstatus
: *mut u32, pdwwin32result
: *mut u32, pdwtransportresult
: *mut u32, pdwnumofretries
: *mut u32) -> ::windows
::core
::Result
<()>;
1060 fn AddFiles(&self, cfilecount
: u32, ppfileset
: *const *const FILESETINFO
) -> ::windows
::core
::Result
<()>;
1061 fn GetFile(&self, cfileindex
: u32) -> ::windows
::core
::Result
<FILESETINFO
>;
1062 fn GetFileCount(&self) -> ::windows
::core
::Result
<u32>;
1063 fn SwitchToForeground(&self) -> ::windows
::core
::Result
<()>;
1064 fn JobID(&self) -> ::windows
::core
::Result
<::windows
::core
::GUID
>;
1066 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJob1 {}
1067 impl IBackgroundCopyJob1_Vtbl
{
1068 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJob1_Vtbl
{
1069 unsafe extern "system" fn CancelJob
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1070 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1071 let this
= (*this
).get_impl();
1072 this
.CancelJob().into()
1074 unsafe extern "system" fn GetProgress
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, dwflags
: u32, pdwprogress
: *mut u32) -> ::windows
::core
::HRESULT
{
1075 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1076 let this
= (*this
).get_impl();
1077 match this
.GetProgress(::core
::mem
::transmute_copy(&dwflags
)) {
1078 ::core
::result
::Result
::Ok(ok__
) => {
1079 ::core
::ptr
::write(pdwprogress
, ::core
::mem
::transmute(ok__
));
1080 ::windows
::core
::HRESULT(0)
1082 ::core
::result
::Result
::Err(err
) => err
.into(),
1085 unsafe extern "system" fn GetStatus
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pdwstatus
: *mut u32, pdwwin32result
: *mut u32, pdwtransportresult
: *mut u32, pdwnumofretries
: *mut u32) -> ::windows
::core
::HRESULT
{
1086 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1087 let this
= (*this
).get_impl();
1088 this
.GetStatus(::core
::mem
::transmute_copy(&pdwstatus
), ::core
::mem
::transmute_copy(&pdwwin32result
), ::core
::mem
::transmute_copy(&pdwtransportresult
), ::core
::mem
::transmute_copy(&pdwnumofretries
)).into()
1090 unsafe extern "system" fn AddFiles
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, cfilecount
: u32, ppfileset
: *const *const FILESETINFO
) -> ::windows
::core
::HRESULT
{
1091 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1092 let this
= (*this
).get_impl();
1093 this
.AddFiles(::core
::mem
::transmute_copy(&cfilecount
), ::core
::mem
::transmute_copy(&ppfileset
)).into()
1095 unsafe extern "system" fn GetFile
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, cfileindex
: u32, pfileinfo
: *mut FILESETINFO
) -> ::windows
::core
::HRESULT
{
1096 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1097 let this
= (*this
).get_impl();
1098 match this
.GetFile(::core
::mem
::transmute_copy(&cfileindex
)) {
1099 ::core
::result
::Result
::Ok(ok__
) => {
1100 ::core
::ptr
::write(pfileinfo
, ::core
::mem
::transmute(ok__
));
1101 ::windows
::core
::HRESULT(0)
1103 ::core
::result
::Result
::Err(err
) => err
.into(),
1106 unsafe extern "system" fn GetFileCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pdwfilecount
: *mut u32) -> ::windows
::core
::HRESULT
{
1107 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1108 let this
= (*this
).get_impl();
1109 match this
.GetFileCount() {
1110 ::core
::result
::Result
::Ok(ok__
) => {
1111 ::core
::ptr
::write(pdwfilecount
, ::core
::mem
::transmute(ok__
));
1112 ::windows
::core
::HRESULT(0)
1114 ::core
::result
::Result
::Err(err
) => err
.into(),
1117 unsafe extern "system" fn SwitchToForeground
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1118 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1119 let this
= (*this
).get_impl();
1120 this
.SwitchToForeground().into()
1122 unsafe extern "system" fn JobID
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pguidjobid
: *mut ::windows
::core
::GUID
) -> ::windows
::core
::HRESULT
{
1123 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1124 let this
= (*this
).get_impl();
1125 match this
.JobID() {
1126 ::core
::result
::Result
::Ok(ok__
) => {
1127 ::core
::ptr
::write(pguidjobid
, ::core
::mem
::transmute(ok__
));
1128 ::windows
::core
::HRESULT(0)
1130 ::core
::result
::Result
::Err(err
) => err
.into(),
1134 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1135 CancelJob
: CancelJob
::<Identity
, Impl
, OFFSET
>,
1136 GetProgress
: GetProgress
::<Identity
, Impl
, OFFSET
>,
1137 GetStatus
: GetStatus
::<Identity
, Impl
, OFFSET
>,
1138 AddFiles
: AddFiles
::<Identity
, Impl
, OFFSET
>,
1139 GetFile
: GetFile
::<Identity
, Impl
, OFFSET
>,
1140 GetFileCount
: GetFileCount
::<Identity
, Impl
, OFFSET
>,
1141 SwitchToForeground
: SwitchToForeground
::<Identity
, Impl
, OFFSET
>,
1142 JobID
: JobID
::<Identity
, Impl
, OFFSET
>,
1145 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1146 iid
== &<IBackgroundCopyJob1
as ::windows
::core
::ComInterface
>::IID
1149 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1150 #[cfg(feature = "Win32_Foundation")]
1151 pub trait IBackgroundCopyJob2_Impl
: Sized
+ IBackgroundCopyJob_Impl
{
1152 fn SetNotifyCmdLine(&self, program
: &::windows
::core
::PCWSTR
, parameters
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
1153 fn GetNotifyCmdLine(&self, pprogram
: *mut ::windows
::core
::PWSTR
, pparameters
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::Result
<()>;
1154 fn GetReplyProgress(&self, pprogress
: *mut BG_JOB_REPLY_PROGRESS
) -> ::windows
::core
::Result
<()>;
1155 fn GetReplyData(&self, ppbuffer
: *mut *mut u8, plength
: *mut u64) -> ::windows
::core
::Result
<()>;
1156 fn SetReplyFileName(&self, replyfilename
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
1157 fn GetReplyFileName(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
1158 fn SetCredentials(&self, credentials
: *const BG_AUTH_CREDENTIALS
) -> ::windows
::core
::Result
<()>;
1159 fn RemoveCredentials(&self, target
: BG_AUTH_TARGET
, scheme
: BG_AUTH_SCHEME
) -> ::windows
::core
::Result
<()>;
1161 #[cfg(feature = "Win32_Foundation")]
1162 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJob2 {}
1163 #[cfg(feature = "Win32_Foundation")]
1164 impl IBackgroundCopyJob2_Vtbl
{
1165 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJob2_Vtbl
{
1166 unsafe extern "system" fn SetNotifyCmdLine
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, program
: ::windows
::core
::PCWSTR
, parameters
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1167 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1168 let this
= (*this
).get_impl();
1169 this
.SetNotifyCmdLine(::core
::mem
::transmute(&program
), ::core
::mem
::transmute(¶meters
)).into()
1171 unsafe extern "system" fn GetNotifyCmdLine
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pprogram
: *mut ::windows
::core
::PWSTR
, pparameters
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1172 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1173 let this
= (*this
).get_impl();
1174 this
.GetNotifyCmdLine(::core
::mem
::transmute_copy(&pprogram
), ::core
::mem
::transmute_copy(&pparameters
)).into()
1176 unsafe extern "system" fn GetReplyProgress
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pprogress
: *mut BG_JOB_REPLY_PROGRESS
) -> ::windows
::core
::HRESULT
{
1177 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1178 let this
= (*this
).get_impl();
1179 this
.GetReplyProgress(::core
::mem
::transmute_copy(&pprogress
)).into()
1181 unsafe extern "system" fn GetReplyData
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppbuffer
: *mut *mut u8, plength
: *mut u64) -> ::windows
::core
::HRESULT
{
1182 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1183 let this
= (*this
).get_impl();
1184 this
.GetReplyData(::core
::mem
::transmute_copy(&ppbuffer
), ::core
::mem
::transmute_copy(&plength
)).into()
1186 unsafe extern "system" fn SetReplyFileName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, replyfilename
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1187 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1188 let this
= (*this
).get_impl();
1189 this
.SetReplyFileName(::core
::mem
::transmute(&replyfilename
)).into()
1191 unsafe extern "system" fn GetReplyFileName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, preplyfilename
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1192 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1193 let this
= (*this
).get_impl();
1194 match this
.GetReplyFileName() {
1195 ::core
::result
::Result
::Ok(ok__
) => {
1196 ::core
::ptr
::write(preplyfilename
, ::core
::mem
::transmute(ok__
));
1197 ::windows
::core
::HRESULT(0)
1199 ::core
::result
::Result
::Err(err
) => err
.into(),
1202 unsafe extern "system" fn SetCredentials
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, credentials
: *const BG_AUTH_CREDENTIALS
) -> ::windows
::core
::HRESULT
{
1203 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1204 let this
= (*this
).get_impl();
1205 this
.SetCredentials(::core
::mem
::transmute_copy(&credentials
)).into()
1207 unsafe extern "system" fn RemoveCredentials
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, target
: BG_AUTH_TARGET
, scheme
: BG_AUTH_SCHEME
) -> ::windows
::core
::HRESULT
{
1208 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1209 let this
= (*this
).get_impl();
1210 this
.RemoveCredentials(::core
::mem
::transmute_copy(&target
), ::core
::mem
::transmute_copy(&scheme
)).into()
1213 base__
: IBackgroundCopyJob_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
1214 SetNotifyCmdLine
: SetNotifyCmdLine
::<Identity
, Impl
, OFFSET
>,
1215 GetNotifyCmdLine
: GetNotifyCmdLine
::<Identity
, Impl
, OFFSET
>,
1216 GetReplyProgress
: GetReplyProgress
::<Identity
, Impl
, OFFSET
>,
1217 GetReplyData
: GetReplyData
::<Identity
, Impl
, OFFSET
>,
1218 SetReplyFileName
: SetReplyFileName
::<Identity
, Impl
, OFFSET
>,
1219 GetReplyFileName
: GetReplyFileName
::<Identity
, Impl
, OFFSET
>,
1220 SetCredentials
: SetCredentials
::<Identity
, Impl
, OFFSET
>,
1221 RemoveCredentials
: RemoveCredentials
::<Identity
, Impl
, OFFSET
>,
1224 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1225 iid
== &<IBackgroundCopyJob2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob
as ::windows
::core
::ComInterface
>::IID
1228 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1229 #[cfg(feature = "Win32_Foundation")]
1230 pub trait IBackgroundCopyJob3_Impl
: Sized
+ IBackgroundCopyJob2_Impl
{
1231 fn ReplaceRemotePrefix(&self, oldprefix
: &::windows
::core
::PCWSTR
, newprefix
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
1232 fn AddFileWithRanges(&self, remoteurl
: &::windows
::core
::PCWSTR
, localname
: &::windows
::core
::PCWSTR
, rangecount
: u32, ranges
: *const BG_FILE_RANGE
) -> ::windows
::core
::Result
<()>;
1233 fn SetFileACLFlags(&self, flags
: u32) -> ::windows
::core
::Result
<()>;
1234 fn GetFileACLFlags(&self) -> ::windows
::core
::Result
<u32>;
1236 #[cfg(feature = "Win32_Foundation")]
1237 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJob3 {}
1238 #[cfg(feature = "Win32_Foundation")]
1239 impl IBackgroundCopyJob3_Vtbl
{
1240 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob3_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJob3_Vtbl
{
1241 unsafe extern "system" fn ReplaceRemotePrefix
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, oldprefix
: ::windows
::core
::PCWSTR
, newprefix
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1242 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1243 let this
= (*this
).get_impl();
1244 this
.ReplaceRemotePrefix(::core
::mem
::transmute(&oldprefix
), ::core
::mem
::transmute(&newprefix
)).into()
1246 unsafe extern "system" fn AddFileWithRanges
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, remoteurl
: ::windows
::core
::PCWSTR
, localname
: ::windows
::core
::PCWSTR
, rangecount
: u32, ranges
: *const BG_FILE_RANGE
) -> ::windows
::core
::HRESULT
{
1247 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1248 let this
= (*this
).get_impl();
1249 this
.AddFileWithRanges(::core
::mem
::transmute(&remoteurl
), ::core
::mem
::transmute(&localname
), ::core
::mem
::transmute_copy(&rangecount
), ::core
::mem
::transmute_copy(&ranges
)).into()
1251 unsafe extern "system" fn SetFileACLFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, flags
: u32) -> ::windows
::core
::HRESULT
{
1252 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1253 let this
= (*this
).get_impl();
1254 this
.SetFileACLFlags(::core
::mem
::transmute_copy(&flags
)).into()
1256 unsafe extern "system" fn GetFileACLFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, flags
: *mut u32) -> ::windows
::core
::HRESULT
{
1257 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1258 let this
= (*this
).get_impl();
1259 match this
.GetFileACLFlags() {
1260 ::core
::result
::Result
::Ok(ok__
) => {
1261 ::core
::ptr
::write(flags
, ::core
::mem
::transmute(ok__
));
1262 ::windows
::core
::HRESULT(0)
1264 ::core
::result
::Result
::Err(err
) => err
.into(),
1268 base__
: IBackgroundCopyJob2_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
1269 ReplaceRemotePrefix
: ReplaceRemotePrefix
::<Identity
, Impl
, OFFSET
>,
1270 AddFileWithRanges
: AddFileWithRanges
::<Identity
, Impl
, OFFSET
>,
1271 SetFileACLFlags
: SetFileACLFlags
::<Identity
, Impl
, OFFSET
>,
1272 GetFileACLFlags
: GetFileACLFlags
::<Identity
, Impl
, OFFSET
>,
1275 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1276 iid
== &<IBackgroundCopyJob3
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob2
as ::windows
::core
::ComInterface
>::IID
1279 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1280 #[cfg(feature = "Win32_Foundation")]
1281 pub trait IBackgroundCopyJob4_Impl
: Sized
+ IBackgroundCopyJob3_Impl
{
1282 fn SetPeerCachingFlags(&self, flags
: u32) -> ::windows
::core
::Result
<()>;
1283 fn GetPeerCachingFlags(&self) -> ::windows
::core
::Result
<u32>;
1284 fn GetOwnerIntegrityLevel(&self) -> ::windows
::core
::Result
<u32>;
1285 fn GetOwnerElevationState(&self) -> ::windows
::core
::Result
<super::super::Foundation
::BOOL
>;
1286 fn SetMaximumDownloadTime(&self, timeout
: u32) -> ::windows
::core
::Result
<()>;
1287 fn GetMaximumDownloadTime(&self) -> ::windows
::core
::Result
<u32>;
1289 #[cfg(feature = "Win32_Foundation")]
1290 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJob4 {}
1291 #[cfg(feature = "Win32_Foundation")]
1292 impl IBackgroundCopyJob4_Vtbl
{
1293 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob4_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJob4_Vtbl
{
1294 unsafe extern "system" fn SetPeerCachingFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob4_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, flags
: u32) -> ::windows
::core
::HRESULT
{
1295 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1296 let this
= (*this
).get_impl();
1297 this
.SetPeerCachingFlags(::core
::mem
::transmute_copy(&flags
)).into()
1299 unsafe extern "system" fn GetPeerCachingFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob4_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pflags
: *mut u32) -> ::windows
::core
::HRESULT
{
1300 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1301 let this
= (*this
).get_impl();
1302 match this
.GetPeerCachingFlags() {
1303 ::core
::result
::Result
::Ok(ok__
) => {
1304 ::core
::ptr
::write(pflags
, ::core
::mem
::transmute(ok__
));
1305 ::windows
::core
::HRESULT(0)
1307 ::core
::result
::Result
::Err(err
) => err
.into(),
1310 unsafe extern "system" fn GetOwnerIntegrityLevel
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob4_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, plevel
: *mut u32) -> ::windows
::core
::HRESULT
{
1311 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1312 let this
= (*this
).get_impl();
1313 match this
.GetOwnerIntegrityLevel() {
1314 ::core
::result
::Result
::Ok(ok__
) => {
1315 ::core
::ptr
::write(plevel
, ::core
::mem
::transmute(ok__
));
1316 ::windows
::core
::HRESULT(0)
1318 ::core
::result
::Result
::Err(err
) => err
.into(),
1321 unsafe extern "system" fn GetOwnerElevationState
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob4_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pelevated
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
1322 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1323 let this
= (*this
).get_impl();
1324 match this
.GetOwnerElevationState() {
1325 ::core
::result
::Result
::Ok(ok__
) => {
1326 ::core
::ptr
::write(pelevated
, ::core
::mem
::transmute(ok__
));
1327 ::windows
::core
::HRESULT(0)
1329 ::core
::result
::Result
::Err(err
) => err
.into(),
1332 unsafe extern "system" fn SetMaximumDownloadTime
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob4_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, timeout
: u32) -> ::windows
::core
::HRESULT
{
1333 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1334 let this
= (*this
).get_impl();
1335 this
.SetMaximumDownloadTime(::core
::mem
::transmute_copy(&timeout
)).into()
1337 unsafe extern "system" fn GetMaximumDownloadTime
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob4_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ptimeout
: *mut u32) -> ::windows
::core
::HRESULT
{
1338 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1339 let this
= (*this
).get_impl();
1340 match this
.GetMaximumDownloadTime() {
1341 ::core
::result
::Result
::Ok(ok__
) => {
1342 ::core
::ptr
::write(ptimeout
, ::core
::mem
::transmute(ok__
));
1343 ::windows
::core
::HRESULT(0)
1345 ::core
::result
::Result
::Err(err
) => err
.into(),
1349 base__
: IBackgroundCopyJob3_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
1350 SetPeerCachingFlags
: SetPeerCachingFlags
::<Identity
, Impl
, OFFSET
>,
1351 GetPeerCachingFlags
: GetPeerCachingFlags
::<Identity
, Impl
, OFFSET
>,
1352 GetOwnerIntegrityLevel
: GetOwnerIntegrityLevel
::<Identity
, Impl
, OFFSET
>,
1353 GetOwnerElevationState
: GetOwnerElevationState
::<Identity
, Impl
, OFFSET
>,
1354 SetMaximumDownloadTime
: SetMaximumDownloadTime
::<Identity
, Impl
, OFFSET
>,
1355 GetMaximumDownloadTime
: GetMaximumDownloadTime
::<Identity
, Impl
, OFFSET
>,
1358 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1359 iid
== &<IBackgroundCopyJob4
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob3
as ::windows
::core
::ComInterface
>::IID
1362 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1363 #[cfg(feature = "Win32_Foundation")]
1364 pub trait IBackgroundCopyJob5_Impl
: Sized
+ IBackgroundCopyJob4_Impl
{
1365 fn SetProperty(&self, propertyid
: BITS_JOB_PROPERTY_ID
, propertyvalue
: &BITS_JOB_PROPERTY_VALUE
) -> ::windows
::core
::Result
<()>;
1366 fn GetProperty(&self, propertyid
: BITS_JOB_PROPERTY_ID
) -> ::windows
::core
::Result
<BITS_JOB_PROPERTY_VALUE
>;
1368 #[cfg(feature = "Win32_Foundation")]
1369 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJob5 {}
1370 #[cfg(feature = "Win32_Foundation")]
1371 impl IBackgroundCopyJob5_Vtbl
{
1372 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob5_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJob5_Vtbl
{
1373 unsafe extern "system" fn SetProperty
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob5_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, propertyid
: BITS_JOB_PROPERTY_ID
, propertyvalue
: BITS_JOB_PROPERTY_VALUE
) -> ::windows
::core
::HRESULT
{
1374 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1375 let this
= (*this
).get_impl();
1376 this
.SetProperty(::core
::mem
::transmute_copy(&propertyid
), ::core
::mem
::transmute(&propertyvalue
)).into()
1378 unsafe extern "system" fn GetProperty
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJob5_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, propertyid
: BITS_JOB_PROPERTY_ID
, propertyvalue
: *mut BITS_JOB_PROPERTY_VALUE
) -> ::windows
::core
::HRESULT
{
1379 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1380 let this
= (*this
).get_impl();
1381 match this
.GetProperty(::core
::mem
::transmute_copy(&propertyid
)) {
1382 ::core
::result
::Result
::Ok(ok__
) => {
1383 ::core
::ptr
::write(propertyvalue
, ::core
::mem
::transmute(ok__
));
1384 ::windows
::core
::HRESULT(0)
1386 ::core
::result
::Result
::Err(err
) => err
.into(),
1390 base__
: IBackgroundCopyJob4_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
1391 SetProperty
: SetProperty
::<Identity
, Impl
, OFFSET
>,
1392 GetProperty
: GetProperty
::<Identity
, Impl
, OFFSET
>,
1395 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1396 iid
== &<IBackgroundCopyJob5
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob3
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJob4
as ::windows
::core
::ComInterface
>::IID
1399 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1400 pub trait IBackgroundCopyJobHttpOptions_Impl
: Sized
{
1401 fn SetClientCertificateByID(&self, storelocation
: BG_CERT_STORE_LOCATION
, storename
: &::windows
::core
::PCWSTR
, pcerthashblob
: *const u8) -> ::windows
::core
::Result
<()>;
1402 fn SetClientCertificateByName(&self, storelocation
: BG_CERT_STORE_LOCATION
, storename
: &::windows
::core
::PCWSTR
, subjectname
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
1403 fn RemoveClientCertificate(&self) -> ::windows
::core
::Result
<()>;
1404 fn GetClientCertificate(&self, pstorelocation
: *mut BG_CERT_STORE_LOCATION
, pstorename
: *mut ::windows
::core
::PWSTR
, ppcerthashblob
: *mut *mut u8, psubjectname
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::Result
<()>;
1405 fn SetCustomHeaders(&self, requestheaders
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
1406 fn GetCustomHeaders(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
1407 fn SetSecurityFlags(&self, flags
: u32) -> ::windows
::core
::Result
<()>;
1408 fn GetSecurityFlags(&self) -> ::windows
::core
::Result
<u32>;
1410 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJobHttpOptions {}
1411 impl IBackgroundCopyJobHttpOptions_Vtbl
{
1412 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJobHttpOptions_Vtbl
{
1413 unsafe extern "system" fn SetClientCertificateByID
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, storelocation
: BG_CERT_STORE_LOCATION
, storename
: ::windows
::core
::PCWSTR
, pcerthashblob
: *const u8) -> ::windows
::core
::HRESULT
{
1414 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1415 let this
= (*this
).get_impl();
1416 this
.SetClientCertificateByID(::core
::mem
::transmute_copy(&storelocation
), ::core
::mem
::transmute(&storename
), ::core
::mem
::transmute_copy(&pcerthashblob
)).into()
1418 unsafe extern "system" fn SetClientCertificateByName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, storelocation
: BG_CERT_STORE_LOCATION
, storename
: ::windows
::core
::PCWSTR
, subjectname
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1419 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1420 let this
= (*this
).get_impl();
1421 this
.SetClientCertificateByName(::core
::mem
::transmute_copy(&storelocation
), ::core
::mem
::transmute(&storename
), ::core
::mem
::transmute(&subjectname
)).into()
1423 unsafe extern "system" fn RemoveClientCertificate
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1424 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1425 let this
= (*this
).get_impl();
1426 this
.RemoveClientCertificate().into()
1428 unsafe extern "system" fn GetClientCertificate
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pstorelocation
: *mut BG_CERT_STORE_LOCATION
, pstorename
: *mut ::windows
::core
::PWSTR
, ppcerthashblob
: *mut *mut u8, psubjectname
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1429 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1430 let this
= (*this
).get_impl();
1431 this
.GetClientCertificate(::core
::mem
::transmute_copy(&pstorelocation
), ::core
::mem
::transmute_copy(&pstorename
), ::core
::mem
::transmute_copy(&ppcerthashblob
), ::core
::mem
::transmute_copy(&psubjectname
)).into()
1433 unsafe extern "system" fn SetCustomHeaders
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, requestheaders
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1434 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1435 let this
= (*this
).get_impl();
1436 this
.SetCustomHeaders(::core
::mem
::transmute(&requestheaders
)).into()
1438 unsafe extern "system" fn GetCustomHeaders
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, prequestheaders
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1439 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1440 let this
= (*this
).get_impl();
1441 match this
.GetCustomHeaders() {
1442 ::core
::result
::Result
::Ok(ok__
) => {
1443 ::core
::ptr
::write(prequestheaders
, ::core
::mem
::transmute(ok__
));
1444 ::windows
::core
::HRESULT(0)
1446 ::core
::result
::Result
::Err(err
) => err
.into(),
1449 unsafe extern "system" fn SetSecurityFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, flags
: u32) -> ::windows
::core
::HRESULT
{
1450 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1451 let this
= (*this
).get_impl();
1452 this
.SetSecurityFlags(::core
::mem
::transmute_copy(&flags
)).into()
1454 unsafe extern "system" fn GetSecurityFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pflags
: *mut u32) -> ::windows
::core
::HRESULT
{
1455 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1456 let this
= (*this
).get_impl();
1457 match this
.GetSecurityFlags() {
1458 ::core
::result
::Result
::Ok(ok__
) => {
1459 ::core
::ptr
::write(pflags
, ::core
::mem
::transmute(ok__
));
1460 ::windows
::core
::HRESULT(0)
1462 ::core
::result
::Result
::Err(err
) => err
.into(),
1466 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1467 SetClientCertificateByID
: SetClientCertificateByID
::<Identity
, Impl
, OFFSET
>,
1468 SetClientCertificateByName
: SetClientCertificateByName
::<Identity
, Impl
, OFFSET
>,
1469 RemoveClientCertificate
: RemoveClientCertificate
::<Identity
, Impl
, OFFSET
>,
1470 GetClientCertificate
: GetClientCertificate
::<Identity
, Impl
, OFFSET
>,
1471 SetCustomHeaders
: SetCustomHeaders
::<Identity
, Impl
, OFFSET
>,
1472 GetCustomHeaders
: GetCustomHeaders
::<Identity
, Impl
, OFFSET
>,
1473 SetSecurityFlags
: SetSecurityFlags
::<Identity
, Impl
, OFFSET
>,
1474 GetSecurityFlags
: GetSecurityFlags
::<Identity
, Impl
, OFFSET
>,
1477 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1478 iid
== &<IBackgroundCopyJobHttpOptions
as ::windows
::core
::ComInterface
>::IID
1481 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1482 pub trait IBackgroundCopyJobHttpOptions2_Impl
: Sized
+ IBackgroundCopyJobHttpOptions_Impl
{
1483 fn SetHttpMethod(&self, method
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
1484 fn GetHttpMethod(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
1486 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJobHttpOptions2 {}
1487 impl IBackgroundCopyJobHttpOptions2_Vtbl
{
1488 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions2_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJobHttpOptions2_Vtbl
{
1489 unsafe extern "system" fn SetHttpMethod
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, method
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1490 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1491 let this
= (*this
).get_impl();
1492 this
.SetHttpMethod(::core
::mem
::transmute(&method
)).into()
1494 unsafe extern "system" fn GetHttpMethod
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions2_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, method
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1495 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1496 let this
= (*this
).get_impl();
1497 match this
.GetHttpMethod() {
1498 ::core
::result
::Result
::Ok(ok__
) => {
1499 ::core
::ptr
::write(method
, ::core
::mem
::transmute(ok__
));
1500 ::windows
::core
::HRESULT(0)
1502 ::core
::result
::Result
::Err(err
) => err
.into(),
1506 base__
: IBackgroundCopyJobHttpOptions_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
1507 SetHttpMethod
: SetHttpMethod
::<Identity
, Impl
, OFFSET
>,
1508 GetHttpMethod
: GetHttpMethod
::<Identity
, Impl
, OFFSET
>,
1511 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1512 iid
== &<IBackgroundCopyJobHttpOptions2
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJobHttpOptions
as ::windows
::core
::ComInterface
>::IID
1515 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1516 pub trait IBackgroundCopyJobHttpOptions3_Impl
: Sized
+ IBackgroundCopyJobHttpOptions2_Impl
{
1517 fn SetServerCertificateValidationInterface(&self, certvalidationcallback
: ::core
::option
::Option
<&::windows
::core
::IUnknown
>) -> ::windows
::core
::Result
<()>;
1518 fn MakeCustomHeadersWriteOnly(&self) -> ::windows
::core
::Result
<()>;
1520 impl ::windows
::core
::RuntimeName
for IBackgroundCopyJobHttpOptions3 {}
1521 impl IBackgroundCopyJobHttpOptions3_Vtbl
{
1522 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions3_Impl
, const OFFSET
: isize>() -> IBackgroundCopyJobHttpOptions3_Vtbl
{
1523 unsafe extern "system" fn SetServerCertificateValidationInterface
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, certvalidationcallback
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1524 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1525 let this
= (*this
).get_impl();
1526 this
.SetServerCertificateValidationInterface(::windows
::core
::from_raw_borrowed(&certvalidationcallback
)).into()
1528 unsafe extern "system" fn MakeCustomHeadersWriteOnly
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyJobHttpOptions3_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1529 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1530 let this
= (*this
).get_impl();
1531 this
.MakeCustomHeadersWriteOnly().into()
1534 base__
: IBackgroundCopyJobHttpOptions2_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
1535 SetServerCertificateValidationInterface
: SetServerCertificateValidationInterface
::<Identity
, Impl
, OFFSET
>,
1536 MakeCustomHeadersWriteOnly
: MakeCustomHeadersWriteOnly
::<Identity
, Impl
, OFFSET
>,
1539 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1540 iid
== &<IBackgroundCopyJobHttpOptions3
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJobHttpOptions
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IBackgroundCopyJobHttpOptions2
as ::windows
::core
::ComInterface
>::IID
1543 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1544 pub trait IBackgroundCopyManager_Impl
: Sized
{
1545 fn CreateJob(&self, displayname
: &::windows
::core
::PCWSTR
, r
#type: BG_JOB_TYPE, pjobid: *mut ::windows::core::GUID, ppjob: *mut ::core::option::Option<IBackgroundCopyJob>) -> ::windows::core::Result<()>;
1546 fn GetJob(&self, jobid
: *const ::windows
::core
::GUID
) -> ::windows
::core
::Result
<IBackgroundCopyJob
>;
1547 fn EnumJobs(&self, dwflags
: u32) -> ::windows
::core
::Result
<IEnumBackgroundCopyJobs
>;
1548 fn GetErrorDescription(&self, hresult
: ::windows
::core
::HRESULT
, languageid
: u32) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
1550 impl ::windows
::core
::RuntimeName
for IBackgroundCopyManager {}
1551 impl IBackgroundCopyManager_Vtbl
{
1552 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyManager_Impl
, const OFFSET
: isize>() -> IBackgroundCopyManager_Vtbl
{
1553 unsafe extern "system" fn CreateJob
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyManager_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, displayname
: ::windows
::core
::PCWSTR
, r
#type: BG_JOB_TYPE, pjobid: *mut ::windows::core::GUID, ppjob: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1554 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1555 let this
= (*this
).get_impl();
1556 this
.CreateJob(::core
::mem
::transmute(&displayname
), ::core
::mem
::transmute_copy(&r
#type), ::core::mem::transmute_copy(&pjobid), ::core::mem::transmute_copy(&ppjob)).into()
1558 unsafe extern "system" fn GetJob
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyManager_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, jobid
: *const ::windows
::core
::GUID
, ppjob
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1559 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1560 let this
= (*this
).get_impl();
1561 match this
.GetJob(::core
::mem
::transmute_copy(&jobid
)) {
1562 ::core
::result
::Result
::Ok(ok__
) => {
1563 ::core
::ptr
::write(ppjob
, ::core
::mem
::transmute(ok__
));
1564 ::windows
::core
::HRESULT(0)
1566 ::core
::result
::Result
::Err(err
) => err
.into(),
1569 unsafe extern "system" fn EnumJobs
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyManager_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, dwflags
: u32, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1570 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1571 let this
= (*this
).get_impl();
1572 match this
.EnumJobs(::core
::mem
::transmute_copy(&dwflags
)) {
1573 ::core
::result
::Result
::Ok(ok__
) => {
1574 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
1575 ::windows
::core
::HRESULT(0)
1577 ::core
::result
::Result
::Err(err
) => err
.into(),
1580 unsafe extern "system" fn GetErrorDescription
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyManager_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, hresult
: ::windows
::core
::HRESULT
, languageid
: u32, perrordescription
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1581 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1582 let this
= (*this
).get_impl();
1583 match this
.GetErrorDescription(::core
::mem
::transmute_copy(&hresult
), ::core
::mem
::transmute_copy(&languageid
)) {
1584 ::core
::result
::Result
::Ok(ok__
) => {
1585 ::core
::ptr
::write(perrordescription
, ::core
::mem
::transmute(ok__
));
1586 ::windows
::core
::HRESULT(0)
1588 ::core
::result
::Result
::Err(err
) => err
.into(),
1592 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1593 CreateJob
: CreateJob
::<Identity
, Impl
, OFFSET
>,
1594 GetJob
: GetJob
::<Identity
, Impl
, OFFSET
>,
1595 EnumJobs
: EnumJobs
::<Identity
, Impl
, OFFSET
>,
1596 GetErrorDescription
: GetErrorDescription
::<Identity
, Impl
, OFFSET
>,
1599 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1600 iid
== &<IBackgroundCopyManager
as ::windows
::core
::ComInterface
>::IID
1603 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1604 pub trait IBackgroundCopyQMgr_Impl
: Sized
{
1605 fn CreateGroup(&self, guidgroupid
: &::windows
::core
::GUID
) -> ::windows
::core
::Result
<IBackgroundCopyGroup
>;
1606 fn GetGroup(&self, groupid
: &::windows
::core
::GUID
) -> ::windows
::core
::Result
<IBackgroundCopyGroup
>;
1607 fn EnumGroups(&self, dwflags
: u32) -> ::windows
::core
::Result
<IEnumBackgroundCopyGroups
>;
1609 impl ::windows
::core
::RuntimeName
for IBackgroundCopyQMgr {}
1610 impl IBackgroundCopyQMgr_Vtbl
{
1611 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyQMgr_Impl
, const OFFSET
: isize>() -> IBackgroundCopyQMgr_Vtbl
{
1612 unsafe extern "system" fn CreateGroup
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyQMgr_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, guidgroupid
: ::windows
::core
::GUID
, ppgroup
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1613 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1614 let this
= (*this
).get_impl();
1615 match this
.CreateGroup(::core
::mem
::transmute(&guidgroupid
)) {
1616 ::core
::result
::Result
::Ok(ok__
) => {
1617 ::core
::ptr
::write(ppgroup
, ::core
::mem
::transmute(ok__
));
1618 ::windows
::core
::HRESULT(0)
1620 ::core
::result
::Result
::Err(err
) => err
.into(),
1623 unsafe extern "system" fn GetGroup
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyQMgr_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, groupid
: ::windows
::core
::GUID
, ppgroup
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1624 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1625 let this
= (*this
).get_impl();
1626 match this
.GetGroup(::core
::mem
::transmute(&groupid
)) {
1627 ::core
::result
::Result
::Ok(ok__
) => {
1628 ::core
::ptr
::write(ppgroup
, ::core
::mem
::transmute(ok__
));
1629 ::windows
::core
::HRESULT(0)
1631 ::core
::result
::Result
::Err(err
) => err
.into(),
1634 unsafe extern "system" fn EnumGroups
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyQMgr_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, dwflags
: u32, ppenumgroups
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1635 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1636 let this
= (*this
).get_impl();
1637 match this
.EnumGroups(::core
::mem
::transmute_copy(&dwflags
)) {
1638 ::core
::result
::Result
::Ok(ok__
) => {
1639 ::core
::ptr
::write(ppenumgroups
, ::core
::mem
::transmute(ok__
));
1640 ::windows
::core
::HRESULT(0)
1642 ::core
::result
::Result
::Err(err
) => err
.into(),
1646 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1647 CreateGroup
: CreateGroup
::<Identity
, Impl
, OFFSET
>,
1648 GetGroup
: GetGroup
::<Identity
, Impl
, OFFSET
>,
1649 EnumGroups
: EnumGroups
::<Identity
, Impl
, OFFSET
>,
1652 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1653 iid
== &<IBackgroundCopyQMgr
as ::windows
::core
::ComInterface
>::IID
1656 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1657 pub trait IBackgroundCopyServerCertificateValidationCallback_Impl
: Sized
{
1658 fn ValidateServerCertificate(&self, job
: ::core
::option
::Option
<&IBackgroundCopyJob
>, file
: ::core
::option
::Option
<&IBackgroundCopyFile
>, certlength
: u32, certdata
: *const u8, certencodingtype
: u32, certstorelength
: u32, certstoredata
: *const u8) -> ::windows
::core
::Result
<()>;
1660 impl ::windows
::core
::RuntimeName
for IBackgroundCopyServerCertificateValidationCallback {}
1661 impl IBackgroundCopyServerCertificateValidationCallback_Vtbl
{
1662 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyServerCertificateValidationCallback_Impl
, const OFFSET
: isize>() -> IBackgroundCopyServerCertificateValidationCallback_Vtbl
{
1663 unsafe extern "system" fn ValidateServerCertificate
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBackgroundCopyServerCertificateValidationCallback_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, job
: *mut ::core
::ffi
::c_void
, file
: *mut ::core
::ffi
::c_void
, certlength
: u32, certdata
: *const u8, certencodingtype
: u32, certstorelength
: u32, certstoredata
: *const u8) -> ::windows
::core
::HRESULT
{
1664 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1665 let this
= (*this
).get_impl();
1666 this
.ValidateServerCertificate(::windows
::core
::from_raw_borrowed(&job
), ::windows
::core
::from_raw_borrowed(&file
), ::core
::mem
::transmute_copy(&certlength
), ::core
::mem
::transmute_copy(&certdata
), ::core
::mem
::transmute_copy(&certencodingtype
), ::core
::mem
::transmute_copy(&certstorelength
), ::core
::mem
::transmute_copy(&certstoredata
)).into()
1669 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1670 ValidateServerCertificate
: ValidateServerCertificate
::<Identity
, Impl
, OFFSET
>,
1673 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1674 iid
== &<IBackgroundCopyServerCertificateValidationCallback
as ::windows
::core
::ComInterface
>::IID
1677 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1678 #[cfg(feature = "Win32_Foundation")]
1679 pub trait IBitsPeer_Impl
: Sized
{
1680 fn GetPeerName(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
1681 fn IsAuthenticated(&self) -> ::windows
::core
::Result
<super::super::Foundation
::BOOL
>;
1682 fn IsAvailable(&self) -> ::windows
::core
::Result
<super::super::Foundation
::BOOL
>;
1684 #[cfg(feature = "Win32_Foundation")]
1685 impl ::windows
::core
::RuntimeName
for IBitsPeer {}
1686 #[cfg(feature = "Win32_Foundation")]
1687 impl IBitsPeer_Vtbl
{
1688 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeer_Impl
, const OFFSET
: isize>() -> IBitsPeer_Vtbl
{
1689 unsafe extern "system" fn GetPeerName
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeer_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pname
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1690 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1691 let this
= (*this
).get_impl();
1692 match this
.GetPeerName() {
1693 ::core
::result
::Result
::Ok(ok__
) => {
1694 ::core
::ptr
::write(pname
, ::core
::mem
::transmute(ok__
));
1695 ::windows
::core
::HRESULT(0)
1697 ::core
::result
::Result
::Err(err
) => err
.into(),
1700 unsafe extern "system" fn IsAuthenticated
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeer_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pauth
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
1701 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1702 let this
= (*this
).get_impl();
1703 match this
.IsAuthenticated() {
1704 ::core
::result
::Result
::Ok(ok__
) => {
1705 ::core
::ptr
::write(pauth
, ::core
::mem
::transmute(ok__
));
1706 ::windows
::core
::HRESULT(0)
1708 ::core
::result
::Result
::Err(err
) => err
.into(),
1711 unsafe extern "system" fn IsAvailable
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeer_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ponline
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
1712 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1713 let this
= (*this
).get_impl();
1714 match this
.IsAvailable() {
1715 ::core
::result
::Result
::Ok(ok__
) => {
1716 ::core
::ptr
::write(ponline
, ::core
::mem
::transmute(ok__
));
1717 ::windows
::core
::HRESULT(0)
1719 ::core
::result
::Result
::Err(err
) => err
.into(),
1723 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1724 GetPeerName
: GetPeerName
::<Identity
, Impl
, OFFSET
>,
1725 IsAuthenticated
: IsAuthenticated
::<Identity
, Impl
, OFFSET
>,
1726 IsAvailable
: IsAvailable
::<Identity
, Impl
, OFFSET
>,
1729 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1730 iid
== &<IBitsPeer
as ::windows
::core
::ComInterface
>::IID
1733 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1734 pub trait IBitsPeerCacheAdministration_Impl
: Sized
{
1735 fn GetMaximumCacheSize(&self) -> ::windows
::core
::Result
<u32>;
1736 fn SetMaximumCacheSize(&self, bytes
: u32) -> ::windows
::core
::Result
<()>;
1737 fn GetMaximumContentAge(&self) -> ::windows
::core
::Result
<u32>;
1738 fn SetMaximumContentAge(&self, seconds
: u32) -> ::windows
::core
::Result
<()>;
1739 fn GetConfigurationFlags(&self) -> ::windows
::core
::Result
<u32>;
1740 fn SetConfigurationFlags(&self, flags
: u32) -> ::windows
::core
::Result
<()>;
1741 fn EnumRecords(&self) -> ::windows
::core
::Result
<IEnumBitsPeerCacheRecords
>;
1742 fn GetRecord(&self, id
: *const ::windows
::core
::GUID
) -> ::windows
::core
::Result
<IBitsPeerCacheRecord
>;
1743 fn ClearRecords(&self) -> ::windows
::core
::Result
<()>;
1744 fn DeleteRecord(&self, id
: *const ::windows
::core
::GUID
) -> ::windows
::core
::Result
<()>;
1745 fn DeleteUrl(&self, url
: &::windows
::core
::PCWSTR
) -> ::windows
::core
::Result
<()>;
1746 fn EnumPeers(&self) -> ::windows
::core
::Result
<IEnumBitsPeers
>;
1747 fn ClearPeers(&self) -> ::windows
::core
::Result
<()>;
1748 fn DiscoverPeers(&self) -> ::windows
::core
::Result
<()>;
1750 impl ::windows
::core
::RuntimeName
for IBitsPeerCacheAdministration {}
1751 impl IBitsPeerCacheAdministration_Vtbl
{
1752 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>() -> IBitsPeerCacheAdministration_Vtbl
{
1753 unsafe extern "system" fn GetMaximumCacheSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pbytes
: *mut u32) -> ::windows
::core
::HRESULT
{
1754 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1755 let this
= (*this
).get_impl();
1756 match this
.GetMaximumCacheSize() {
1757 ::core
::result
::Result
::Ok(ok__
) => {
1758 ::core
::ptr
::write(pbytes
, ::core
::mem
::transmute(ok__
));
1759 ::windows
::core
::HRESULT(0)
1761 ::core
::result
::Result
::Err(err
) => err
.into(),
1764 unsafe extern "system" fn SetMaximumCacheSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, bytes
: u32) -> ::windows
::core
::HRESULT
{
1765 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1766 let this
= (*this
).get_impl();
1767 this
.SetMaximumCacheSize(::core
::mem
::transmute_copy(&bytes
)).into()
1769 unsafe extern "system" fn GetMaximumContentAge
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pseconds
: *mut u32) -> ::windows
::core
::HRESULT
{
1770 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1771 let this
= (*this
).get_impl();
1772 match this
.GetMaximumContentAge() {
1773 ::core
::result
::Result
::Ok(ok__
) => {
1774 ::core
::ptr
::write(pseconds
, ::core
::mem
::transmute(ok__
));
1775 ::windows
::core
::HRESULT(0)
1777 ::core
::result
::Result
::Err(err
) => err
.into(),
1780 unsafe extern "system" fn SetMaximumContentAge
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, seconds
: u32) -> ::windows
::core
::HRESULT
{
1781 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1782 let this
= (*this
).get_impl();
1783 this
.SetMaximumContentAge(::core
::mem
::transmute_copy(&seconds
)).into()
1785 unsafe extern "system" fn GetConfigurationFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pflags
: *mut u32) -> ::windows
::core
::HRESULT
{
1786 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1787 let this
= (*this
).get_impl();
1788 match this
.GetConfigurationFlags() {
1789 ::core
::result
::Result
::Ok(ok__
) => {
1790 ::core
::ptr
::write(pflags
, ::core
::mem
::transmute(ok__
));
1791 ::windows
::core
::HRESULT(0)
1793 ::core
::result
::Result
::Err(err
) => err
.into(),
1796 unsafe extern "system" fn SetConfigurationFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, flags
: u32) -> ::windows
::core
::HRESULT
{
1797 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1798 let this
= (*this
).get_impl();
1799 this
.SetConfigurationFlags(::core
::mem
::transmute_copy(&flags
)).into()
1801 unsafe extern "system" fn EnumRecords
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1802 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1803 let this
= (*this
).get_impl();
1804 match this
.EnumRecords() {
1805 ::core
::result
::Result
::Ok(ok__
) => {
1806 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
1807 ::windows
::core
::HRESULT(0)
1809 ::core
::result
::Result
::Err(err
) => err
.into(),
1812 unsafe extern "system" fn GetRecord
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, id
: *const ::windows
::core
::GUID
, pprecord
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1813 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1814 let this
= (*this
).get_impl();
1815 match this
.GetRecord(::core
::mem
::transmute_copy(&id
)) {
1816 ::core
::result
::Result
::Ok(ok__
) => {
1817 ::core
::ptr
::write(pprecord
, ::core
::mem
::transmute(ok__
));
1818 ::windows
::core
::HRESULT(0)
1820 ::core
::result
::Result
::Err(err
) => err
.into(),
1823 unsafe extern "system" fn ClearRecords
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1824 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1825 let this
= (*this
).get_impl();
1826 this
.ClearRecords().into()
1828 unsafe extern "system" fn DeleteRecord
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, id
: *const ::windows
::core
::GUID
) -> ::windows
::core
::HRESULT
{
1829 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1830 let this
= (*this
).get_impl();
1831 this
.DeleteRecord(::core
::mem
::transmute_copy(&id
)).into()
1833 unsafe extern "system" fn DeleteUrl
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, url
: ::windows
::core
::PCWSTR
) -> ::windows
::core
::HRESULT
{
1834 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1835 let this
= (*this
).get_impl();
1836 this
.DeleteUrl(::core
::mem
::transmute(&url
)).into()
1838 unsafe extern "system" fn EnumPeers
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1839 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1840 let this
= (*this
).get_impl();
1841 match this
.EnumPeers() {
1842 ::core
::result
::Result
::Ok(ok__
) => {
1843 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
1844 ::windows
::core
::HRESULT(0)
1846 ::core
::result
::Result
::Err(err
) => err
.into(),
1849 unsafe extern "system" fn ClearPeers
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1850 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1851 let this
= (*this
).get_impl();
1852 this
.ClearPeers().into()
1854 unsafe extern "system" fn DiscoverPeers
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheAdministration_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1855 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1856 let this
= (*this
).get_impl();
1857 this
.DiscoverPeers().into()
1860 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1861 GetMaximumCacheSize
: GetMaximumCacheSize
::<Identity
, Impl
, OFFSET
>,
1862 SetMaximumCacheSize
: SetMaximumCacheSize
::<Identity
, Impl
, OFFSET
>,
1863 GetMaximumContentAge
: GetMaximumContentAge
::<Identity
, Impl
, OFFSET
>,
1864 SetMaximumContentAge
: SetMaximumContentAge
::<Identity
, Impl
, OFFSET
>,
1865 GetConfigurationFlags
: GetConfigurationFlags
::<Identity
, Impl
, OFFSET
>,
1866 SetConfigurationFlags
: SetConfigurationFlags
::<Identity
, Impl
, OFFSET
>,
1867 EnumRecords
: EnumRecords
::<Identity
, Impl
, OFFSET
>,
1868 GetRecord
: GetRecord
::<Identity
, Impl
, OFFSET
>,
1869 ClearRecords
: ClearRecords
::<Identity
, Impl
, OFFSET
>,
1870 DeleteRecord
: DeleteRecord
::<Identity
, Impl
, OFFSET
>,
1871 DeleteUrl
: DeleteUrl
::<Identity
, Impl
, OFFSET
>,
1872 EnumPeers
: EnumPeers
::<Identity
, Impl
, OFFSET
>,
1873 ClearPeers
: ClearPeers
::<Identity
, Impl
, OFFSET
>,
1874 DiscoverPeers
: DiscoverPeers
::<Identity
, Impl
, OFFSET
>,
1877 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1878 iid
== &<IBitsPeerCacheAdministration
as ::windows
::core
::ComInterface
>::IID
1881 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1882 #[cfg(feature = "Win32_Foundation")]
1883 pub trait IBitsPeerCacheRecord_Impl
: Sized
{
1884 fn GetId(&self) -> ::windows
::core
::Result
<::windows
::core
::GUID
>;
1885 fn GetOriginUrl(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
1886 fn GetFileSize(&self) -> ::windows
::core
::Result
<u64>;
1887 fn GetFileModificationTime(&self) -> ::windows
::core
::Result
<super::super::Foundation
::FILETIME
>;
1888 fn GetLastAccessTime(&self) -> ::windows
::core
::Result
<super::super::Foundation
::FILETIME
>;
1889 fn IsFileValidated(&self) -> ::windows
::core
::Result
<()>;
1890 fn GetFileRanges(&self, prangecount
: *mut u32, ppranges
: *mut *mut BG_FILE_RANGE
) -> ::windows
::core
::Result
<()>;
1892 #[cfg(feature = "Win32_Foundation")]
1893 impl ::windows
::core
::RuntimeName
for IBitsPeerCacheRecord {}
1894 #[cfg(feature = "Win32_Foundation")]
1895 impl IBitsPeerCacheRecord_Vtbl
{
1896 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>() -> IBitsPeerCacheRecord_Vtbl
{
1897 unsafe extern "system" fn GetId
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::GUID
) -> ::windows
::core
::HRESULT
{
1898 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1899 let this
= (*this
).get_impl();
1900 match this
.GetId() {
1901 ::core
::result
::Result
::Ok(ok__
) => {
1902 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
1903 ::windows
::core
::HRESULT(0)
1905 ::core
::result
::Result
::Err(err
) => err
.into(),
1908 unsafe extern "system" fn GetOriginUrl
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
1909 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1910 let this
= (*this
).get_impl();
1911 match this
.GetOriginUrl() {
1912 ::core
::result
::Result
::Ok(ok__
) => {
1913 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
1914 ::windows
::core
::HRESULT(0)
1916 ::core
::result
::Result
::Err(err
) => err
.into(),
1919 unsafe extern "system" fn GetFileSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut u64) -> ::windows
::core
::HRESULT
{
1920 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1921 let this
= (*this
).get_impl();
1922 match this
.GetFileSize() {
1923 ::core
::result
::Result
::Ok(ok__
) => {
1924 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
1925 ::windows
::core
::HRESULT(0)
1927 ::core
::result
::Result
::Err(err
) => err
.into(),
1930 unsafe extern "system" fn GetFileModificationTime
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut super::super::Foundation
::FILETIME
) -> ::windows
::core
::HRESULT
{
1931 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1932 let this
= (*this
).get_impl();
1933 match this
.GetFileModificationTime() {
1934 ::core
::result
::Result
::Ok(ok__
) => {
1935 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
1936 ::windows
::core
::HRESULT(0)
1938 ::core
::result
::Result
::Err(err
) => err
.into(),
1941 unsafe extern "system" fn GetLastAccessTime
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pval
: *mut super::super::Foundation
::FILETIME
) -> ::windows
::core
::HRESULT
{
1942 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1943 let this
= (*this
).get_impl();
1944 match this
.GetLastAccessTime() {
1945 ::core
::result
::Result
::Ok(ok__
) => {
1946 ::core
::ptr
::write(pval
, ::core
::mem
::transmute(ok__
));
1947 ::windows
::core
::HRESULT(0)
1949 ::core
::result
::Result
::Err(err
) => err
.into(),
1952 unsafe extern "system" fn IsFileValidated
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
1953 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1954 let this
= (*this
).get_impl();
1955 this
.IsFileValidated().into()
1957 unsafe extern "system" fn GetFileRanges
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsPeerCacheRecord_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, prangecount
: *mut u32, ppranges
: *mut *mut BG_FILE_RANGE
) -> ::windows
::core
::HRESULT
{
1958 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1959 let this
= (*this
).get_impl();
1960 this
.GetFileRanges(::core
::mem
::transmute_copy(&prangecount
), ::core
::mem
::transmute_copy(&ppranges
)).into()
1963 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
1964 GetId
: GetId
::<Identity
, Impl
, OFFSET
>,
1965 GetOriginUrl
: GetOriginUrl
::<Identity
, Impl
, OFFSET
>,
1966 GetFileSize
: GetFileSize
::<Identity
, Impl
, OFFSET
>,
1967 GetFileModificationTime
: GetFileModificationTime
::<Identity
, Impl
, OFFSET
>,
1968 GetLastAccessTime
: GetLastAccessTime
::<Identity
, Impl
, OFFSET
>,
1969 IsFileValidated
: IsFileValidated
::<Identity
, Impl
, OFFSET
>,
1970 GetFileRanges
: GetFileRanges
::<Identity
, Impl
, OFFSET
>,
1973 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
1974 iid
== &<IBitsPeerCacheRecord
as ::windows
::core
::ComInterface
>::IID
1977 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
1978 pub trait IBitsTokenOptions_Impl
: Sized
{
1979 fn SetHelperTokenFlags(&self, usageflags
: BG_TOKEN
) -> ::windows
::core
::Result
<()>;
1980 fn GetHelperTokenFlags(&self) -> ::windows
::core
::Result
<BG_TOKEN
>;
1981 fn SetHelperToken(&self) -> ::windows
::core
::Result
<()>;
1982 fn ClearHelperToken(&self) -> ::windows
::core
::Result
<()>;
1983 fn GetHelperTokenSid(&self) -> ::windows
::core
::Result
<::windows
::core
::PWSTR
>;
1985 impl ::windows
::core
::RuntimeName
for IBitsTokenOptions {}
1986 impl IBitsTokenOptions_Vtbl
{
1987 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsTokenOptions_Impl
, const OFFSET
: isize>() -> IBitsTokenOptions_Vtbl
{
1988 unsafe extern "system" fn SetHelperTokenFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsTokenOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, usageflags
: BG_TOKEN
) -> ::windows
::core
::HRESULT
{
1989 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1990 let this
= (*this
).get_impl();
1991 this
.SetHelperTokenFlags(::core
::mem
::transmute_copy(&usageflags
)).into()
1993 unsafe extern "system" fn GetHelperTokenFlags
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsTokenOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pflags
: *mut BG_TOKEN
) -> ::windows
::core
::HRESULT
{
1994 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
1995 let this
= (*this
).get_impl();
1996 match this
.GetHelperTokenFlags() {
1997 ::core
::result
::Result
::Ok(ok__
) => {
1998 ::core
::ptr
::write(pflags
, ::core
::mem
::transmute(ok__
));
1999 ::windows
::core
::HRESULT(0)
2001 ::core
::result
::Result
::Err(err
) => err
.into(),
2004 unsafe extern "system" fn SetHelperToken
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsTokenOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2005 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2006 let this
= (*this
).get_impl();
2007 this
.SetHelperToken().into()
2009 unsafe extern "system" fn ClearHelperToken
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsTokenOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2010 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2011 let this
= (*this
).get_impl();
2012 this
.ClearHelperToken().into()
2014 unsafe extern "system" fn GetHelperTokenSid
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IBitsTokenOptions_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, psid
: *mut ::windows
::core
::PWSTR
) -> ::windows
::core
::HRESULT
{
2015 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2016 let this
= (*this
).get_impl();
2017 match this
.GetHelperTokenSid() {
2018 ::core
::result
::Result
::Ok(ok__
) => {
2019 ::core
::ptr
::write(psid
, ::core
::mem
::transmute(ok__
));
2020 ::windows
::core
::HRESULT(0)
2022 ::core
::result
::Result
::Err(err
) => err
.into(),
2026 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
2027 SetHelperTokenFlags
: SetHelperTokenFlags
::<Identity
, Impl
, OFFSET
>,
2028 GetHelperTokenFlags
: GetHelperTokenFlags
::<Identity
, Impl
, OFFSET
>,
2029 SetHelperToken
: SetHelperToken
::<Identity
, Impl
, OFFSET
>,
2030 ClearHelperToken
: ClearHelperToken
::<Identity
, Impl
, OFFSET
>,
2031 GetHelperTokenSid
: GetHelperTokenSid
::<Identity
, Impl
, OFFSET
>,
2034 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
2035 iid
== &<IBitsTokenOptions
as ::windows
::core
::ComInterface
>::IID
2038 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
2039 pub trait IEnumBackgroundCopyFiles_Impl
: Sized
{
2040 fn Next(&self, celt
: u32, rgelt
: *mut ::core
::option
::Option
<IBackgroundCopyFile
>, pceltfetched
: *mut u32) -> ::windows
::core
::Result
<()>;
2041 fn Skip(&self, celt
: u32) -> ::windows
::core
::Result
<()>;
2042 fn Reset(&self) -> ::windows
::core
::Result
<()>;
2043 fn Clone(&self) -> ::windows
::core
::Result
<IEnumBackgroundCopyFiles
>;
2044 fn GetCount(&self) -> ::windows
::core
::Result
<u32>;
2046 impl ::windows
::core
::RuntimeName
for IEnumBackgroundCopyFiles {}
2047 impl IEnumBackgroundCopyFiles_Vtbl
{
2048 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyFiles_Impl
, const OFFSET
: isize>() -> IEnumBackgroundCopyFiles_Vtbl
{
2049 unsafe extern "system" fn Next
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyFiles_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32, rgelt
: *mut *mut ::core
::ffi
::c_void
, pceltfetched
: *mut u32) -> ::windows
::core
::HRESULT
{
2050 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2051 let this
= (*this
).get_impl();
2052 this
.Next(::core
::mem
::transmute_copy(&celt
), ::core
::mem
::transmute_copy(&rgelt
), ::core
::mem
::transmute_copy(&pceltfetched
)).into()
2054 unsafe extern "system" fn Skip
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyFiles_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32) -> ::windows
::core
::HRESULT
{
2055 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2056 let this
= (*this
).get_impl();
2057 this
.Skip(::core
::mem
::transmute_copy(&celt
)).into()
2059 unsafe extern "system" fn Reset
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyFiles_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2060 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2061 let this
= (*this
).get_impl();
2064 unsafe extern "system" fn Clone
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyFiles_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2065 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2066 let this
= (*this
).get_impl();
2067 match this
.Clone() {
2068 ::core
::result
::Result
::Ok(ok__
) => {
2069 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
2070 ::windows
::core
::HRESULT(0)
2072 ::core
::result
::Result
::Err(err
) => err
.into(),
2075 unsafe extern "system" fn GetCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyFiles_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pucount
: *mut u32) -> ::windows
::core
::HRESULT
{
2076 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2077 let this
= (*this
).get_impl();
2078 match this
.GetCount() {
2079 ::core
::result
::Result
::Ok(ok__
) => {
2080 ::core
::ptr
::write(pucount
, ::core
::mem
::transmute(ok__
));
2081 ::windows
::core
::HRESULT(0)
2083 ::core
::result
::Result
::Err(err
) => err
.into(),
2087 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
2088 Next
: Next
::<Identity
, Impl
, OFFSET
>,
2089 Skip
: Skip
::<Identity
, Impl
, OFFSET
>,
2090 Reset
: Reset
::<Identity
, Impl
, OFFSET
>,
2091 Clone
: Clone
::<Identity
, Impl
, OFFSET
>,
2092 GetCount
: GetCount
::<Identity
, Impl
, OFFSET
>,
2095 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
2096 iid
== &<IEnumBackgroundCopyFiles
as ::windows
::core
::ComInterface
>::IID
2099 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
2100 pub trait IEnumBackgroundCopyGroups_Impl
: Sized
{
2101 fn Next(&self, celt
: u32, rgelt
: *mut ::windows
::core
::GUID
, pceltfetched
: *mut u32) -> ::windows
::core
::Result
<()>;
2102 fn Skip(&self, celt
: u32) -> ::windows
::core
::Result
<()>;
2103 fn Reset(&self) -> ::windows
::core
::Result
<()>;
2104 fn Clone(&self) -> ::windows
::core
::Result
<IEnumBackgroundCopyGroups
>;
2105 fn GetCount(&self) -> ::windows
::core
::Result
<u32>;
2107 impl ::windows
::core
::RuntimeName
for IEnumBackgroundCopyGroups {}
2108 impl IEnumBackgroundCopyGroups_Vtbl
{
2109 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyGroups_Impl
, const OFFSET
: isize>() -> IEnumBackgroundCopyGroups_Vtbl
{
2110 unsafe extern "system" fn Next
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyGroups_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32, rgelt
: *mut ::windows
::core
::GUID
, pceltfetched
: *mut u32) -> ::windows
::core
::HRESULT
{
2111 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2112 let this
= (*this
).get_impl();
2113 this
.Next(::core
::mem
::transmute_copy(&celt
), ::core
::mem
::transmute_copy(&rgelt
), ::core
::mem
::transmute_copy(&pceltfetched
)).into()
2115 unsafe extern "system" fn Skip
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyGroups_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32) -> ::windows
::core
::HRESULT
{
2116 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2117 let this
= (*this
).get_impl();
2118 this
.Skip(::core
::mem
::transmute_copy(&celt
)).into()
2120 unsafe extern "system" fn Reset
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyGroups_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2121 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2122 let this
= (*this
).get_impl();
2125 unsafe extern "system" fn Clone
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyGroups_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2126 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2127 let this
= (*this
).get_impl();
2128 match this
.Clone() {
2129 ::core
::result
::Result
::Ok(ok__
) => {
2130 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
2131 ::windows
::core
::HRESULT(0)
2133 ::core
::result
::Result
::Err(err
) => err
.into(),
2136 unsafe extern "system" fn GetCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyGroups_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pucount
: *mut u32) -> ::windows
::core
::HRESULT
{
2137 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2138 let this
= (*this
).get_impl();
2139 match this
.GetCount() {
2140 ::core
::result
::Result
::Ok(ok__
) => {
2141 ::core
::ptr
::write(pucount
, ::core
::mem
::transmute(ok__
));
2142 ::windows
::core
::HRESULT(0)
2144 ::core
::result
::Result
::Err(err
) => err
.into(),
2148 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
2149 Next
: Next
::<Identity
, Impl
, OFFSET
>,
2150 Skip
: Skip
::<Identity
, Impl
, OFFSET
>,
2151 Reset
: Reset
::<Identity
, Impl
, OFFSET
>,
2152 Clone
: Clone
::<Identity
, Impl
, OFFSET
>,
2153 GetCount
: GetCount
::<Identity
, Impl
, OFFSET
>,
2156 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
2157 iid
== &<IEnumBackgroundCopyGroups
as ::windows
::core
::ComInterface
>::IID
2160 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
2161 pub trait IEnumBackgroundCopyJobs_Impl
: Sized
{
2162 fn Next(&self, celt
: u32, rgelt
: *mut ::core
::option
::Option
<IBackgroundCopyJob
>, pceltfetched
: *mut u32) -> ::windows
::core
::Result
<()>;
2163 fn Skip(&self, celt
: u32) -> ::windows
::core
::Result
<()>;
2164 fn Reset(&self) -> ::windows
::core
::Result
<()>;
2165 fn Clone(&self) -> ::windows
::core
::Result
<IEnumBackgroundCopyJobs
>;
2166 fn GetCount(&self) -> ::windows
::core
::Result
<u32>;
2168 impl ::windows
::core
::RuntimeName
for IEnumBackgroundCopyJobs {}
2169 impl IEnumBackgroundCopyJobs_Vtbl
{
2170 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs_Impl
, const OFFSET
: isize>() -> IEnumBackgroundCopyJobs_Vtbl
{
2171 unsafe extern "system" fn Next
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32, rgelt
: *mut *mut ::core
::ffi
::c_void
, pceltfetched
: *mut u32) -> ::windows
::core
::HRESULT
{
2172 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2173 let this
= (*this
).get_impl();
2174 this
.Next(::core
::mem
::transmute_copy(&celt
), ::core
::mem
::transmute_copy(&rgelt
), ::core
::mem
::transmute_copy(&pceltfetched
)).into()
2176 unsafe extern "system" fn Skip
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32) -> ::windows
::core
::HRESULT
{
2177 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2178 let this
= (*this
).get_impl();
2179 this
.Skip(::core
::mem
::transmute_copy(&celt
)).into()
2181 unsafe extern "system" fn Reset
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2182 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2183 let this
= (*this
).get_impl();
2186 unsafe extern "system" fn Clone
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2187 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2188 let this
= (*this
).get_impl();
2189 match this
.Clone() {
2190 ::core
::result
::Result
::Ok(ok__
) => {
2191 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
2192 ::windows
::core
::HRESULT(0)
2194 ::core
::result
::Result
::Err(err
) => err
.into(),
2197 unsafe extern "system" fn GetCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pucount
: *mut u32) -> ::windows
::core
::HRESULT
{
2198 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2199 let this
= (*this
).get_impl();
2200 match this
.GetCount() {
2201 ::core
::result
::Result
::Ok(ok__
) => {
2202 ::core
::ptr
::write(pucount
, ::core
::mem
::transmute(ok__
));
2203 ::windows
::core
::HRESULT(0)
2205 ::core
::result
::Result
::Err(err
) => err
.into(),
2209 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
2210 Next
: Next
::<Identity
, Impl
, OFFSET
>,
2211 Skip
: Skip
::<Identity
, Impl
, OFFSET
>,
2212 Reset
: Reset
::<Identity
, Impl
, OFFSET
>,
2213 Clone
: Clone
::<Identity
, Impl
, OFFSET
>,
2214 GetCount
: GetCount
::<Identity
, Impl
, OFFSET
>,
2217 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
2218 iid
== &<IEnumBackgroundCopyJobs
as ::windows
::core
::ComInterface
>::IID
2221 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
2222 pub trait IEnumBackgroundCopyJobs1_Impl
: Sized
{
2223 fn Next(&self, celt
: u32, rgelt
: *mut ::windows
::core
::GUID
, pceltfetched
: *mut u32) -> ::windows
::core
::Result
<()>;
2224 fn Skip(&self, celt
: u32) -> ::windows
::core
::Result
<()>;
2225 fn Reset(&self) -> ::windows
::core
::Result
<()>;
2226 fn Clone(&self) -> ::windows
::core
::Result
<IEnumBackgroundCopyJobs1
>;
2227 fn GetCount(&self) -> ::windows
::core
::Result
<u32>;
2229 impl ::windows
::core
::RuntimeName
for IEnumBackgroundCopyJobs1 {}
2230 impl IEnumBackgroundCopyJobs1_Vtbl
{
2231 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs1_Impl
, const OFFSET
: isize>() -> IEnumBackgroundCopyJobs1_Vtbl
{
2232 unsafe extern "system" fn Next
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32, rgelt
: *mut ::windows
::core
::GUID
, pceltfetched
: *mut u32) -> ::windows
::core
::HRESULT
{
2233 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2234 let this
= (*this
).get_impl();
2235 this
.Next(::core
::mem
::transmute_copy(&celt
), ::core
::mem
::transmute_copy(&rgelt
), ::core
::mem
::transmute_copy(&pceltfetched
)).into()
2237 unsafe extern "system" fn Skip
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32) -> ::windows
::core
::HRESULT
{
2238 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2239 let this
= (*this
).get_impl();
2240 this
.Skip(::core
::mem
::transmute_copy(&celt
)).into()
2242 unsafe extern "system" fn Reset
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2243 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2244 let this
= (*this
).get_impl();
2247 unsafe extern "system" fn Clone
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2248 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2249 let this
= (*this
).get_impl();
2250 match this
.Clone() {
2251 ::core
::result
::Result
::Ok(ok__
) => {
2252 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
2253 ::windows
::core
::HRESULT(0)
2255 ::core
::result
::Result
::Err(err
) => err
.into(),
2258 unsafe extern "system" fn GetCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBackgroundCopyJobs1_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pucount
: *mut u32) -> ::windows
::core
::HRESULT
{
2259 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2260 let this
= (*this
).get_impl();
2261 match this
.GetCount() {
2262 ::core
::result
::Result
::Ok(ok__
) => {
2263 ::core
::ptr
::write(pucount
, ::core
::mem
::transmute(ok__
));
2264 ::windows
::core
::HRESULT(0)
2266 ::core
::result
::Result
::Err(err
) => err
.into(),
2270 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
2271 Next
: Next
::<Identity
, Impl
, OFFSET
>,
2272 Skip
: Skip
::<Identity
, Impl
, OFFSET
>,
2273 Reset
: Reset
::<Identity
, Impl
, OFFSET
>,
2274 Clone
: Clone
::<Identity
, Impl
, OFFSET
>,
2275 GetCount
: GetCount
::<Identity
, Impl
, OFFSET
>,
2278 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
2279 iid
== &<IEnumBackgroundCopyJobs1
as ::windows
::core
::ComInterface
>::IID
2282 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
2283 pub trait IEnumBitsPeerCacheRecords_Impl
: Sized
{
2284 fn Next(&self, celt
: u32, rgelt
: *mut ::core
::option
::Option
<IBitsPeerCacheRecord
>, pceltfetched
: *mut u32) -> ::windows
::core
::Result
<()>;
2285 fn Skip(&self, celt
: u32) -> ::windows
::core
::Result
<()>;
2286 fn Reset(&self) -> ::windows
::core
::Result
<()>;
2287 fn Clone(&self) -> ::windows
::core
::Result
<IEnumBitsPeerCacheRecords
>;
2288 fn GetCount(&self) -> ::windows
::core
::Result
<u32>;
2290 impl ::windows
::core
::RuntimeName
for IEnumBitsPeerCacheRecords {}
2291 impl IEnumBitsPeerCacheRecords_Vtbl
{
2292 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeerCacheRecords_Impl
, const OFFSET
: isize>() -> IEnumBitsPeerCacheRecords_Vtbl
{
2293 unsafe extern "system" fn Next
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeerCacheRecords_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32, rgelt
: *mut *mut ::core
::ffi
::c_void
, pceltfetched
: *mut u32) -> ::windows
::core
::HRESULT
{
2294 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2295 let this
= (*this
).get_impl();
2296 this
.Next(::core
::mem
::transmute_copy(&celt
), ::core
::mem
::transmute_copy(&rgelt
), ::core
::mem
::transmute_copy(&pceltfetched
)).into()
2298 unsafe extern "system" fn Skip
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeerCacheRecords_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32) -> ::windows
::core
::HRESULT
{
2299 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2300 let this
= (*this
).get_impl();
2301 this
.Skip(::core
::mem
::transmute_copy(&celt
)).into()
2303 unsafe extern "system" fn Reset
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeerCacheRecords_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2304 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2305 let this
= (*this
).get_impl();
2308 unsafe extern "system" fn Clone
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeerCacheRecords_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2309 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2310 let this
= (*this
).get_impl();
2311 match this
.Clone() {
2312 ::core
::result
::Result
::Ok(ok__
) => {
2313 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
2314 ::windows
::core
::HRESULT(0)
2316 ::core
::result
::Result
::Err(err
) => err
.into(),
2319 unsafe extern "system" fn GetCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeerCacheRecords_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pucount
: *mut u32) -> ::windows
::core
::HRESULT
{
2320 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2321 let this
= (*this
).get_impl();
2322 match this
.GetCount() {
2323 ::core
::result
::Result
::Ok(ok__
) => {
2324 ::core
::ptr
::write(pucount
, ::core
::mem
::transmute(ok__
));
2325 ::windows
::core
::HRESULT(0)
2327 ::core
::result
::Result
::Err(err
) => err
.into(),
2331 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
2332 Next
: Next
::<Identity
, Impl
, OFFSET
>,
2333 Skip
: Skip
::<Identity
, Impl
, OFFSET
>,
2334 Reset
: Reset
::<Identity
, Impl
, OFFSET
>,
2335 Clone
: Clone
::<Identity
, Impl
, OFFSET
>,
2336 GetCount
: GetCount
::<Identity
, Impl
, OFFSET
>,
2339 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
2340 iid
== &<IEnumBitsPeerCacheRecords
as ::windows
::core
::ComInterface
>::IID
2343 #[doc = "*Required features: `\"Win32_Networking_BackgroundIntelligentTransferService\"`, `\"implement\"`*"]
2344 pub trait IEnumBitsPeers_Impl
: Sized
{
2345 fn Next(&self, celt
: u32, rgelt
: *mut ::core
::option
::Option
<IBitsPeer
>, pceltfetched
: *mut u32) -> ::windows
::core
::Result
<()>;
2346 fn Skip(&self, celt
: u32) -> ::windows
::core
::Result
<()>;
2347 fn Reset(&self) -> ::windows
::core
::Result
<()>;
2348 fn Clone(&self) -> ::windows
::core
::Result
<IEnumBitsPeers
>;
2349 fn GetCount(&self) -> ::windows
::core
::Result
<u32>;
2351 impl ::windows
::core
::RuntimeName
for IEnumBitsPeers {}
2352 impl IEnumBitsPeers_Vtbl
{
2353 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeers_Impl
, const OFFSET
: isize>() -> IEnumBitsPeers_Vtbl
{
2354 unsafe extern "system" fn Next
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeers_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32, rgelt
: *mut *mut ::core
::ffi
::c_void
, pceltfetched
: *mut u32) -> ::windows
::core
::HRESULT
{
2355 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2356 let this
= (*this
).get_impl();
2357 this
.Next(::core
::mem
::transmute_copy(&celt
), ::core
::mem
::transmute_copy(&rgelt
), ::core
::mem
::transmute_copy(&pceltfetched
)).into()
2359 unsafe extern "system" fn Skip
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeers_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, celt
: u32) -> ::windows
::core
::HRESULT
{
2360 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2361 let this
= (*this
).get_impl();
2362 this
.Skip(::core
::mem
::transmute_copy(&celt
)).into()
2364 unsafe extern "system" fn Reset
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeers_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2365 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2366 let this
= (*this
).get_impl();
2369 unsafe extern "system" fn Clone
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeers_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ppenum
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
2370 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2371 let this
= (*this
).get_impl();
2372 match this
.Clone() {
2373 ::core
::result
::Result
::Ok(ok__
) => {
2374 ::core
::ptr
::write(ppenum
, ::core
::mem
::transmute(ok__
));
2375 ::windows
::core
::HRESULT(0)
2377 ::core
::result
::Result
::Err(err
) => err
.into(),
2380 unsafe extern "system" fn GetCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IEnumBitsPeers_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pucount
: *mut u32) -> ::windows
::core
::HRESULT
{
2381 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
2382 let this
= (*this
).get_impl();
2383 match this
.GetCount() {
2384 ::core
::result
::Result
::Ok(ok__
) => {
2385 ::core
::ptr
::write(pucount
, ::core
::mem
::transmute(ok__
));
2386 ::windows
::core
::HRESULT(0)
2388 ::core
::result
::Result
::Err(err
) => err
.into(),
2392 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
2393 Next
: Next
::<Identity
, Impl
, OFFSET
>,
2394 Skip
: Skip
::<Identity
, Impl
, OFFSET
>,
2395 Reset
: Reset
::<Identity
, Impl
, OFFSET
>,
2396 Clone
: Clone
::<Identity
, Impl
, OFFSET
>,
2397 GetCount
: GetCount
::<Identity
, Impl
, OFFSET
>,
2400 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
2401 iid
== &<IEnumBitsPeers
as ::windows
::core
::ComInterface
>::IID