1 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
2 pub trait IFindSimilarResults_Impl
: Sized
{
3 fn GetSize(&self) -> ::windows
::core
::Result
<u32>;
4 fn GetNextFileId(&self, numtraitsmatched
: *mut u32, similarityfileid
: *mut SimilarityFileId
) -> ::windows
::core
::Result
<()>;
6 impl ::windows
::core
::RuntimeName
for IFindSimilarResults {}
7 impl IFindSimilarResults_Vtbl
{
8 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IFindSimilarResults_Impl
, const OFFSET
: isize>() -> IFindSimilarResults_Vtbl
{
9 unsafe extern "system" fn GetSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IFindSimilarResults_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, size
: *mut u32) -> ::windows
::core
::HRESULT
{
10 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
11 let this
= (*this
).get_impl();
12 match this
.GetSize() {
13 ::core
::result
::Result
::Ok(ok__
) => {
14 ::core
::ptr
::write(size
, ::core
::mem
::transmute(ok__
));
15 ::windows
::core
::HRESULT(0)
17 ::core
::result
::Result
::Err(err
) => err
.into(),
20 unsafe extern "system" fn GetNextFileId
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IFindSimilarResults_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, numtraitsmatched
: *mut u32, similarityfileid
: *mut SimilarityFileId
) -> ::windows
::core
::HRESULT
{
21 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
22 let this
= (*this
).get_impl();
23 this
.GetNextFileId(::core
::mem
::transmute_copy(&numtraitsmatched
), ::core
::mem
::transmute_copy(&similarityfileid
)).into()
26 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
27 GetSize
: GetSize
::<Identity
, Impl
, OFFSET
>,
28 GetNextFileId
: GetNextFileId
::<Identity
, Impl
, OFFSET
>,
31 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
32 iid
== &<IFindSimilarResults
as ::windows
::core
::ComInterface
>::IID
35 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
36 #[cfg(feature = "Win32_Foundation")]
37 pub trait IRdcComparator_Impl
: Sized
{
38 fn Process(&self, endofinput
: super::super::Foundation
::BOOL
, endofoutput
: *mut super::super::Foundation
::BOOL
, inputbuffer
: *mut RdcBufferPointer
, outputbuffer
: *mut RdcNeedPointer
, rdc_errorcode
: *mut RDC_ErrorCode
) -> ::windows
::core
::Result
<()>;
40 #[cfg(feature = "Win32_Foundation")]
41 impl ::windows
::core
::RuntimeName
for IRdcComparator {}
42 #[cfg(feature = "Win32_Foundation")]
43 impl IRdcComparator_Vtbl
{
44 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcComparator_Impl
, const OFFSET
: isize>() -> IRdcComparator_Vtbl
{
45 unsafe extern "system" fn Process
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcComparator_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, endofinput
: super::super::Foundation
::BOOL
, endofoutput
: *mut super::super::Foundation
::BOOL
, inputbuffer
: *mut RdcBufferPointer
, outputbuffer
: *mut RdcNeedPointer
, rdc_errorcode
: *mut RDC_ErrorCode
) -> ::windows
::core
::HRESULT
{
46 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
47 let this
= (*this
).get_impl();
48 this
.Process(::core
::mem
::transmute_copy(&endofinput
), ::core
::mem
::transmute_copy(&endofoutput
), ::core
::mem
::transmute_copy(&inputbuffer
), ::core
::mem
::transmute_copy(&outputbuffer
), ::core
::mem
::transmute_copy(&rdc_errorcode
)).into()
50 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Process: Process::<Identity, Impl, OFFSET> }
52 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
53 iid
== &<IRdcComparator
as ::windows
::core
::ComInterface
>::IID
56 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
57 #[cfg(feature = "Win32_Foundation")]
58 pub trait IRdcFileReader_Impl
: Sized
{
59 fn GetFileSize(&self) -> ::windows
::core
::Result
<u64>;
60 fn Read(&self, offsetfilestart
: u64, bytestoread
: u32, bytesactuallyread
: *mut u32, buffer
: *mut u8, eof
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::Result
<()>;
61 fn GetFilePosition(&self) -> ::windows
::core
::Result
<u64>;
63 #[cfg(feature = "Win32_Foundation")]
64 impl ::windows
::core
::RuntimeName
for IRdcFileReader {}
65 #[cfg(feature = "Win32_Foundation")]
66 impl IRdcFileReader_Vtbl
{
67 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileReader_Impl
, const OFFSET
: isize>() -> IRdcFileReader_Vtbl
{
68 unsafe extern "system" fn GetFileSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileReader_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, filesize
: *mut u64) -> ::windows
::core
::HRESULT
{
69 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
70 let this
= (*this
).get_impl();
71 match this
.GetFileSize() {
72 ::core
::result
::Result
::Ok(ok__
) => {
73 ::core
::ptr
::write(filesize
, ::core
::mem
::transmute(ok__
));
74 ::windows
::core
::HRESULT(0)
76 ::core
::result
::Result
::Err(err
) => err
.into(),
79 unsafe extern "system" fn Read
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileReader_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, offsetfilestart
: u64, bytestoread
: u32, bytesactuallyread
: *mut u32, buffer
: *mut u8, eof
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
80 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
81 let this
= (*this
).get_impl();
82 this
.Read(::core
::mem
::transmute_copy(&offsetfilestart
), ::core
::mem
::transmute_copy(&bytestoread
), ::core
::mem
::transmute_copy(&bytesactuallyread
), ::core
::mem
::transmute_copy(&buffer
), ::core
::mem
::transmute_copy(&eof
)).into()
84 unsafe extern "system" fn GetFilePosition
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileReader_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, offsetfromstart
: *mut u64) -> ::windows
::core
::HRESULT
{
85 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
86 let this
= (*this
).get_impl();
87 match this
.GetFilePosition() {
88 ::core
::result
::Result
::Ok(ok__
) => {
89 ::core
::ptr
::write(offsetfromstart
, ::core
::mem
::transmute(ok__
));
90 ::windows
::core
::HRESULT(0)
92 ::core
::result
::Result
::Err(err
) => err
.into(),
96 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
97 GetFileSize
: GetFileSize
::<Identity
, Impl
, OFFSET
>,
98 Read
: Read
::<Identity
, Impl
, OFFSET
>,
99 GetFilePosition
: GetFilePosition
::<Identity
, Impl
, OFFSET
>,
102 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
103 iid
== &<IRdcFileReader
as ::windows
::core
::ComInterface
>::IID
106 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
107 #[cfg(feature = "Win32_Foundation")]
108 pub trait IRdcFileWriter_Impl
: Sized
+ IRdcFileReader_Impl
{
109 fn Write(&self, offsetfilestart
: u64, bytestowrite
: u32) -> ::windows
::core
::Result
<u8>;
110 fn Truncate(&self) -> ::windows
::core
::Result
<()>;
111 fn DeleteOnClose(&self) -> ::windows
::core
::Result
<()>;
113 #[cfg(feature = "Win32_Foundation")]
114 impl ::windows
::core
::RuntimeName
for IRdcFileWriter {}
115 #[cfg(feature = "Win32_Foundation")]
116 impl IRdcFileWriter_Vtbl
{
117 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileWriter_Impl
, const OFFSET
: isize>() -> IRdcFileWriter_Vtbl
{
118 unsafe extern "system" fn Write
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileWriter_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, offsetfilestart
: u64, bytestowrite
: u32, buffer
: *mut u8) -> ::windows
::core
::HRESULT
{
119 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
120 let this
= (*this
).get_impl();
121 match this
.Write(::core
::mem
::transmute_copy(&offsetfilestart
), ::core
::mem
::transmute_copy(&bytestowrite
)) {
122 ::core
::result
::Result
::Ok(ok__
) => {
123 ::core
::ptr
::write(buffer
, ::core
::mem
::transmute(ok__
));
124 ::windows
::core
::HRESULT(0)
126 ::core
::result
::Result
::Err(err
) => err
.into(),
129 unsafe extern "system" fn Truncate
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileWriter_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
130 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
131 let this
= (*this
).get_impl();
132 this
.Truncate().into()
134 unsafe extern "system" fn DeleteOnClose
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcFileWriter_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
135 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
136 let this
= (*this
).get_impl();
137 this
.DeleteOnClose().into()
140 base__
: IRdcFileReader_Vtbl
::new
::<Identity
, Impl
, OFFSET
>(),
141 Write
: Write
::<Identity
, Impl
, OFFSET
>,
142 Truncate
: Truncate
::<Identity
, Impl
, OFFSET
>,
143 DeleteOnClose
: DeleteOnClose
::<Identity
, Impl
, OFFSET
>,
146 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
147 iid
== &<IRdcFileWriter
as ::windows
::core
::ComInterface
>::IID
|| iid
== &<IRdcFileReader
as ::windows
::core
::ComInterface
>::IID
150 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
151 #[cfg(feature = "Win32_Foundation")]
152 pub trait IRdcGenerator_Impl
: Sized
{
153 fn GetGeneratorParameters(&self, level
: u32) -> ::windows
::core
::Result
<IRdcGeneratorParameters
>;
154 fn Process(&self, endofinput
: super::super::Foundation
::BOOL
, endofoutput
: *mut super::super::Foundation
::BOOL
, inputbuffer
: *mut RdcBufferPointer
, depth
: u32, outputbuffers
: *mut *mut RdcBufferPointer
, rdc_errorcode
: *mut RDC_ErrorCode
) -> ::windows
::core
::Result
<()>;
156 #[cfg(feature = "Win32_Foundation")]
157 impl ::windows
::core
::RuntimeName
for IRdcGenerator {}
158 #[cfg(feature = "Win32_Foundation")]
159 impl IRdcGenerator_Vtbl
{
160 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGenerator_Impl
, const OFFSET
: isize>() -> IRdcGenerator_Vtbl
{
161 unsafe extern "system" fn GetGeneratorParameters
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGenerator_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, level
: u32, igeneratorparameters
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
162 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
163 let this
= (*this
).get_impl();
164 match this
.GetGeneratorParameters(::core
::mem
::transmute_copy(&level
)) {
165 ::core
::result
::Result
::Ok(ok__
) => {
166 ::core
::ptr
::write(igeneratorparameters
, ::core
::mem
::transmute(ok__
));
167 ::windows
::core
::HRESULT(0)
169 ::core
::result
::Result
::Err(err
) => err
.into(),
172 unsafe extern "system" fn Process
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGenerator_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, endofinput
: super::super::Foundation
::BOOL
, endofoutput
: *mut super::super::Foundation
::BOOL
, inputbuffer
: *mut RdcBufferPointer
, depth
: u32, outputbuffers
: *mut *mut RdcBufferPointer
, rdc_errorcode
: *mut RDC_ErrorCode
) -> ::windows
::core
::HRESULT
{
173 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
174 let this
= (*this
).get_impl();
175 this
.Process(::core
::mem
::transmute_copy(&endofinput
), ::core
::mem
::transmute_copy(&endofoutput
), ::core
::mem
::transmute_copy(&inputbuffer
), ::core
::mem
::transmute_copy(&depth
), ::core
::mem
::transmute_copy(&outputbuffers
), ::core
::mem
::transmute_copy(&rdc_errorcode
)).into()
178 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
179 GetGeneratorParameters
: GetGeneratorParameters
::<Identity
, Impl
, OFFSET
>,
180 Process
: Process
::<Identity
, Impl
, OFFSET
>,
183 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
184 iid
== &<IRdcGenerator
as ::windows
::core
::ComInterface
>::IID
187 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
188 pub trait IRdcGeneratorFilterMaxParameters_Impl
: Sized
{
189 fn GetHorizonSize(&self) -> ::windows
::core
::Result
<u32>;
190 fn SetHorizonSize(&self, horizonsize
: u32) -> ::windows
::core
::Result
<()>;
191 fn GetHashWindowSize(&self) -> ::windows
::core
::Result
<u32>;
192 fn SetHashWindowSize(&self, hashwindowsize
: u32) -> ::windows
::core
::Result
<()>;
194 impl ::windows
::core
::RuntimeName
for IRdcGeneratorFilterMaxParameters {}
195 impl IRdcGeneratorFilterMaxParameters_Vtbl
{
196 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorFilterMaxParameters_Impl
, const OFFSET
: isize>() -> IRdcGeneratorFilterMaxParameters_Vtbl
{
197 unsafe extern "system" fn GetHorizonSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorFilterMaxParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, horizonsize
: *mut u32) -> ::windows
::core
::HRESULT
{
198 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
199 let this
= (*this
).get_impl();
200 match this
.GetHorizonSize() {
201 ::core
::result
::Result
::Ok(ok__
) => {
202 ::core
::ptr
::write(horizonsize
, ::core
::mem
::transmute(ok__
));
203 ::windows
::core
::HRESULT(0)
205 ::core
::result
::Result
::Err(err
) => err
.into(),
208 unsafe extern "system" fn SetHorizonSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorFilterMaxParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, horizonsize
: u32) -> ::windows
::core
::HRESULT
{
209 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
210 let this
= (*this
).get_impl();
211 this
.SetHorizonSize(::core
::mem
::transmute_copy(&horizonsize
)).into()
213 unsafe extern "system" fn GetHashWindowSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorFilterMaxParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, hashwindowsize
: *mut u32) -> ::windows
::core
::HRESULT
{
214 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
215 let this
= (*this
).get_impl();
216 match this
.GetHashWindowSize() {
217 ::core
::result
::Result
::Ok(ok__
) => {
218 ::core
::ptr
::write(hashwindowsize
, ::core
::mem
::transmute(ok__
));
219 ::windows
::core
::HRESULT(0)
221 ::core
::result
::Result
::Err(err
) => err
.into(),
224 unsafe extern "system" fn SetHashWindowSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorFilterMaxParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, hashwindowsize
: u32) -> ::windows
::core
::HRESULT
{
225 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
226 let this
= (*this
).get_impl();
227 this
.SetHashWindowSize(::core
::mem
::transmute_copy(&hashwindowsize
)).into()
230 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
231 GetHorizonSize
: GetHorizonSize
::<Identity
, Impl
, OFFSET
>,
232 SetHorizonSize
: SetHorizonSize
::<Identity
, Impl
, OFFSET
>,
233 GetHashWindowSize
: GetHashWindowSize
::<Identity
, Impl
, OFFSET
>,
234 SetHashWindowSize
: SetHashWindowSize
::<Identity
, Impl
, OFFSET
>,
237 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
238 iid
== &<IRdcGeneratorFilterMaxParameters
as ::windows
::core
::ComInterface
>::IID
241 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
242 pub trait IRdcGeneratorParameters_Impl
: Sized
{
243 fn GetGeneratorParametersType(&self) -> ::windows
::core
::Result
<GeneratorParametersType
>;
244 fn GetParametersVersion(&self, currentversion
: *mut u32, minimumcompatibleappversion
: *mut u32) -> ::windows
::core
::Result
<()>;
245 fn GetSerializeSize(&self) -> ::windows
::core
::Result
<u32>;
246 fn Serialize(&self, size
: u32, parametersblob
: *mut u8, byteswritten
: *mut u32) -> ::windows
::core
::Result
<()>;
248 impl ::windows
::core
::RuntimeName
for IRdcGeneratorParameters {}
249 impl IRdcGeneratorParameters_Vtbl
{
250 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorParameters_Impl
, const OFFSET
: isize>() -> IRdcGeneratorParameters_Vtbl
{
251 unsafe extern "system" fn GetGeneratorParametersType
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, parameterstype
: *mut GeneratorParametersType
) -> ::windows
::core
::HRESULT
{
252 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
253 let this
= (*this
).get_impl();
254 match this
.GetGeneratorParametersType() {
255 ::core
::result
::Result
::Ok(ok__
) => {
256 ::core
::ptr
::write(parameterstype
, ::core
::mem
::transmute(ok__
));
257 ::windows
::core
::HRESULT(0)
259 ::core
::result
::Result
::Err(err
) => err
.into(),
262 unsafe extern "system" fn GetParametersVersion
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, currentversion
: *mut u32, minimumcompatibleappversion
: *mut u32) -> ::windows
::core
::HRESULT
{
263 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
264 let this
= (*this
).get_impl();
265 this
.GetParametersVersion(::core
::mem
::transmute_copy(¤tversion
), ::core
::mem
::transmute_copy(&minimumcompatibleappversion
)).into()
267 unsafe extern "system" fn GetSerializeSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, size
: *mut u32) -> ::windows
::core
::HRESULT
{
268 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
269 let this
= (*this
).get_impl();
270 match this
.GetSerializeSize() {
271 ::core
::result
::Result
::Ok(ok__
) => {
272 ::core
::ptr
::write(size
, ::core
::mem
::transmute(ok__
));
273 ::windows
::core
::HRESULT(0)
275 ::core
::result
::Result
::Err(err
) => err
.into(),
278 unsafe extern "system" fn Serialize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcGeneratorParameters_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, size
: u32, parametersblob
: *mut u8, byteswritten
: *mut u32) -> ::windows
::core
::HRESULT
{
279 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
280 let this
= (*this
).get_impl();
281 this
.Serialize(::core
::mem
::transmute_copy(&size
), ::core
::mem
::transmute_copy(¶metersblob
), ::core
::mem
::transmute_copy(&byteswritten
)).into()
284 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
285 GetGeneratorParametersType
: GetGeneratorParametersType
::<Identity
, Impl
, OFFSET
>,
286 GetParametersVersion
: GetParametersVersion
::<Identity
, Impl
, OFFSET
>,
287 GetSerializeSize
: GetSerializeSize
::<Identity
, Impl
, OFFSET
>,
288 Serialize
: Serialize
::<Identity
, Impl
, OFFSET
>,
291 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
292 iid
== &<IRdcGeneratorParameters
as ::windows
::core
::ComInterface
>::IID
295 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
296 pub trait IRdcLibrary_Impl
: Sized
{
297 fn ComputeDefaultRecursionDepth(&self, filesize
: u64) -> ::windows
::core
::Result
<u32>;
298 fn CreateGeneratorParameters(&self, parameterstype
: GeneratorParametersType
, level
: u32) -> ::windows
::core
::Result
<IRdcGeneratorParameters
>;
299 fn OpenGeneratorParameters(&self, size
: u32, parametersblob
: *const u8) -> ::windows
::core
::Result
<IRdcGeneratorParameters
>;
300 fn CreateGenerator(&self, depth
: u32, igeneratorparametersarray
: *const ::core
::option
::Option
<IRdcGeneratorParameters
>) -> ::windows
::core
::Result
<IRdcGenerator
>;
301 fn CreateComparator(&self, iseedsignaturesfile
: ::core
::option
::Option
<&IRdcFileReader
>, comparatorbuffersize
: u32) -> ::windows
::core
::Result
<IRdcComparator
>;
302 fn CreateSignatureReader(&self, ifilereader
: ::core
::option
::Option
<&IRdcFileReader
>) -> ::windows
::core
::Result
<IRdcSignatureReader
>;
303 fn GetRDCVersion(&self, currentversion
: *mut u32, minimumcompatibleappversion
: *mut u32) -> ::windows
::core
::Result
<()>;
305 impl ::windows
::core
::RuntimeName
for IRdcLibrary {}
306 impl IRdcLibrary_Vtbl
{
307 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>() -> IRdcLibrary_Vtbl
{
308 unsafe extern "system" fn ComputeDefaultRecursionDepth
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, filesize
: u64, depth
: *mut u32) -> ::windows
::core
::HRESULT
{
309 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
310 let this
= (*this
).get_impl();
311 match this
.ComputeDefaultRecursionDepth(::core
::mem
::transmute_copy(&filesize
)) {
312 ::core
::result
::Result
::Ok(ok__
) => {
313 ::core
::ptr
::write(depth
, ::core
::mem
::transmute(ok__
));
314 ::windows
::core
::HRESULT(0)
316 ::core
::result
::Result
::Err(err
) => err
.into(),
319 unsafe extern "system" fn CreateGeneratorParameters
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, parameterstype
: GeneratorParametersType
, level
: u32, igeneratorparameters
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
320 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
321 let this
= (*this
).get_impl();
322 match this
.CreateGeneratorParameters(::core
::mem
::transmute_copy(¶meterstype
), ::core
::mem
::transmute_copy(&level
)) {
323 ::core
::result
::Result
::Ok(ok__
) => {
324 ::core
::ptr
::write(igeneratorparameters
, ::core
::mem
::transmute(ok__
));
325 ::windows
::core
::HRESULT(0)
327 ::core
::result
::Result
::Err(err
) => err
.into(),
330 unsafe extern "system" fn OpenGeneratorParameters
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, size
: u32, parametersblob
: *const u8, igeneratorparameters
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
331 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
332 let this
= (*this
).get_impl();
333 match this
.OpenGeneratorParameters(::core
::mem
::transmute_copy(&size
), ::core
::mem
::transmute_copy(¶metersblob
)) {
334 ::core
::result
::Result
::Ok(ok__
) => {
335 ::core
::ptr
::write(igeneratorparameters
, ::core
::mem
::transmute(ok__
));
336 ::windows
::core
::HRESULT(0)
338 ::core
::result
::Result
::Err(err
) => err
.into(),
341 unsafe extern "system" fn CreateGenerator
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, depth
: u32, igeneratorparametersarray
: *const *mut ::core
::ffi
::c_void
, igenerator
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
342 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
343 let this
= (*this
).get_impl();
344 match this
.CreateGenerator(::core
::mem
::transmute_copy(&depth
), ::core
::mem
::transmute_copy(&igeneratorparametersarray
)) {
345 ::core
::result
::Result
::Ok(ok__
) => {
346 ::core
::ptr
::write(igenerator
, ::core
::mem
::transmute(ok__
));
347 ::windows
::core
::HRESULT(0)
349 ::core
::result
::Result
::Err(err
) => err
.into(),
352 unsafe extern "system" fn CreateComparator
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, iseedsignaturesfile
: *mut ::core
::ffi
::c_void
, comparatorbuffersize
: u32, icomparator
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
353 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
354 let this
= (*this
).get_impl();
355 match this
.CreateComparator(::windows
::core
::from_raw_borrowed(&iseedsignaturesfile
), ::core
::mem
::transmute_copy(&comparatorbuffersize
)) {
356 ::core
::result
::Result
::Ok(ok__
) => {
357 ::core
::ptr
::write(icomparator
, ::core
::mem
::transmute(ok__
));
358 ::windows
::core
::HRESULT(0)
360 ::core
::result
::Result
::Err(err
) => err
.into(),
363 unsafe extern "system" fn CreateSignatureReader
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, ifilereader
: *mut ::core
::ffi
::c_void
, isignaturereader
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
364 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
365 let this
= (*this
).get_impl();
366 match this
.CreateSignatureReader(::windows
::core
::from_raw_borrowed(&ifilereader
)) {
367 ::core
::result
::Result
::Ok(ok__
) => {
368 ::core
::ptr
::write(isignaturereader
, ::core
::mem
::transmute(ok__
));
369 ::windows
::core
::HRESULT(0)
371 ::core
::result
::Result
::Err(err
) => err
.into(),
374 unsafe extern "system" fn GetRDCVersion
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcLibrary_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, currentversion
: *mut u32, minimumcompatibleappversion
: *mut u32) -> ::windows
::core
::HRESULT
{
375 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
376 let this
= (*this
).get_impl();
377 this
.GetRDCVersion(::core
::mem
::transmute_copy(¤tversion
), ::core
::mem
::transmute_copy(&minimumcompatibleappversion
)).into()
380 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
381 ComputeDefaultRecursionDepth
: ComputeDefaultRecursionDepth
::<Identity
, Impl
, OFFSET
>,
382 CreateGeneratorParameters
: CreateGeneratorParameters
::<Identity
, Impl
, OFFSET
>,
383 OpenGeneratorParameters
: OpenGeneratorParameters
::<Identity
, Impl
, OFFSET
>,
384 CreateGenerator
: CreateGenerator
::<Identity
, Impl
, OFFSET
>,
385 CreateComparator
: CreateComparator
::<Identity
, Impl
, OFFSET
>,
386 CreateSignatureReader
: CreateSignatureReader
::<Identity
, Impl
, OFFSET
>,
387 GetRDCVersion
: GetRDCVersion
::<Identity
, Impl
, OFFSET
>,
390 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
391 iid
== &<IRdcLibrary
as ::windows
::core
::ComInterface
>::IID
394 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
395 #[cfg(feature = "Win32_Foundation")]
396 pub trait IRdcSignatureReader_Impl
: Sized
{
397 fn ReadHeader(&self) -> ::windows
::core
::Result
<RDC_ErrorCode
>;
398 fn ReadSignatures(&self, rdcsignaturepointer
: *mut RdcSignaturePointer
, endofoutput
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::Result
<()>;
400 #[cfg(feature = "Win32_Foundation")]
401 impl ::windows
::core
::RuntimeName
for IRdcSignatureReader {}
402 #[cfg(feature = "Win32_Foundation")]
403 impl IRdcSignatureReader_Vtbl
{
404 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcSignatureReader_Impl
, const OFFSET
: isize>() -> IRdcSignatureReader_Vtbl
{
405 unsafe extern "system" fn ReadHeader
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcSignatureReader_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, rdc_errorcode
: *mut RDC_ErrorCode
) -> ::windows
::core
::HRESULT
{
406 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
407 let this
= (*this
).get_impl();
408 match this
.ReadHeader() {
409 ::core
::result
::Result
::Ok(ok__
) => {
410 ::core
::ptr
::write(rdc_errorcode
, ::core
::mem
::transmute(ok__
));
411 ::windows
::core
::HRESULT(0)
413 ::core
::result
::Result
::Err(err
) => err
.into(),
416 unsafe extern "system" fn ReadSignatures
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcSignatureReader_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, rdcsignaturepointer
: *mut RdcSignaturePointer
, endofoutput
: *mut super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
417 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
418 let this
= (*this
).get_impl();
419 this
.ReadSignatures(::core
::mem
::transmute_copy(&rdcsignaturepointer
), ::core
::mem
::transmute_copy(&endofoutput
)).into()
422 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
423 ReadHeader
: ReadHeader
::<Identity
, Impl
, OFFSET
>,
424 ReadSignatures
: ReadSignatures
::<Identity
, Impl
, OFFSET
>,
427 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
428 iid
== &<IRdcSignatureReader
as ::windows
::core
::ComInterface
>::IID
431 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
432 pub trait IRdcSimilarityGenerator_Impl
: Sized
{
433 fn EnableSimilarity(&self) -> ::windows
::core
::Result
<()>;
434 fn Results(&self) -> ::windows
::core
::Result
<SimilarityData
>;
436 impl ::windows
::core
::RuntimeName
for IRdcSimilarityGenerator {}
437 impl IRdcSimilarityGenerator_Vtbl
{
438 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcSimilarityGenerator_Impl
, const OFFSET
: isize>() -> IRdcSimilarityGenerator_Vtbl
{
439 unsafe extern "system" fn EnableSimilarity
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcSimilarityGenerator_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
440 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
441 let this
= (*this
).get_impl();
442 this
.EnableSimilarity().into()
444 unsafe extern "system" fn Results
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: IRdcSimilarityGenerator_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similaritydata
: *mut SimilarityData
) -> ::windows
::core
::HRESULT
{
445 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
446 let this
= (*this
).get_impl();
447 match this
.Results() {
448 ::core
::result
::Result
::Ok(ok__
) => {
449 ::core
::ptr
::write(similaritydata
, ::core
::mem
::transmute(ok__
));
450 ::windows
::core
::HRESULT(0)
452 ::core
::result
::Result
::Err(err
) => err
.into(),
456 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
457 EnableSimilarity
: EnableSimilarity
::<Identity
, Impl
, OFFSET
>,
458 Results
: Results
::<Identity
, Impl
, OFFSET
>,
461 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
462 iid
== &<IRdcSimilarityGenerator
as ::windows
::core
::ComInterface
>::IID
465 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
466 #[cfg(feature = "Win32_Foundation")]
467 pub trait ISimilarity_Impl
: Sized
{
468 fn CreateTable(&self, path
: &::windows
::core
::PCWSTR
, truncate
: super::super::Foundation
::BOOL
, securitydescriptor
: *const u8, recordsize
: u32) -> ::windows
::core
::Result
<RdcCreatedTables
>;
469 fn CreateTableIndirect(&self, mapping
: ::core
::option
::Option
<&ISimilarityTraitsMapping
>, fileidfile
: ::core
::option
::Option
<&IRdcFileWriter
>, truncate
: super::super::Foundation
::BOOL
, recordsize
: u32) -> ::windows
::core
::Result
<RdcCreatedTables
>;
470 fn CloseTable(&self, isvalid
: super::super::Foundation
::BOOL
) -> ::windows
::core
::Result
<()>;
471 fn Append(&self, similarityfileid
: *const SimilarityFileId
, similaritydata
: *const SimilarityData
) -> ::windows
::core
::Result
<()>;
472 fn FindSimilarFileId(&self, similaritydata
: *const SimilarityData
, numberofmatchesrequired
: u16, resultssize
: u32) -> ::windows
::core
::Result
<IFindSimilarResults
>;
473 fn CopyAndSwap(&self, newsimilaritytables
: ::core
::option
::Option
<&ISimilarity
>, reportprogress
: ::core
::option
::Option
<&ISimilarityReportProgress
>) -> ::windows
::core
::Result
<()>;
474 fn GetRecordCount(&self) -> ::windows
::core
::Result
<u32>;
476 #[cfg(feature = "Win32_Foundation")]
477 impl ::windows
::core
::RuntimeName
for ISimilarity {}
478 #[cfg(feature = "Win32_Foundation")]
479 impl ISimilarity_Vtbl
{
480 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>() -> ISimilarity_Vtbl
{
481 unsafe extern "system" fn CreateTable
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, path
: ::windows
::core
::PCWSTR
, truncate
: super::super::Foundation
::BOOL
, securitydescriptor
: *const u8, recordsize
: u32, isnew
: *mut RdcCreatedTables
) -> ::windows
::core
::HRESULT
{
482 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
483 let this
= (*this
).get_impl();
484 match this
.CreateTable(::core
::mem
::transmute(&path
), ::core
::mem
::transmute_copy(&truncate
), ::core
::mem
::transmute_copy(&securitydescriptor
), ::core
::mem
::transmute_copy(&recordsize
)) {
485 ::core
::result
::Result
::Ok(ok__
) => {
486 ::core
::ptr
::write(isnew
, ::core
::mem
::transmute(ok__
));
487 ::windows
::core
::HRESULT(0)
489 ::core
::result
::Result
::Err(err
) => err
.into(),
492 unsafe extern "system" fn CreateTableIndirect
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, mapping
: *mut ::core
::ffi
::c_void
, fileidfile
: *mut ::core
::ffi
::c_void
, truncate
: super::super::Foundation
::BOOL
, recordsize
: u32, isnew
: *mut RdcCreatedTables
) -> ::windows
::core
::HRESULT
{
493 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
494 let this
= (*this
).get_impl();
495 match this
.CreateTableIndirect(::windows
::core
::from_raw_borrowed(&mapping
), ::windows
::core
::from_raw_borrowed(&fileidfile
), ::core
::mem
::transmute_copy(&truncate
), ::core
::mem
::transmute_copy(&recordsize
)) {
496 ::core
::result
::Result
::Ok(ok__
) => {
497 ::core
::ptr
::write(isnew
, ::core
::mem
::transmute(ok__
));
498 ::windows
::core
::HRESULT(0)
500 ::core
::result
::Result
::Err(err
) => err
.into(),
503 unsafe extern "system" fn CloseTable
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, isvalid
: super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
504 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
505 let this
= (*this
).get_impl();
506 this
.CloseTable(::core
::mem
::transmute_copy(&isvalid
)).into()
508 unsafe extern "system" fn Append
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similarityfileid
: *const SimilarityFileId
, similaritydata
: *const SimilarityData
) -> ::windows
::core
::HRESULT
{
509 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
510 let this
= (*this
).get_impl();
511 this
.Append(::core
::mem
::transmute_copy(&similarityfileid
), ::core
::mem
::transmute_copy(&similaritydata
)).into()
513 unsafe extern "system" fn FindSimilarFileId
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similaritydata
: *const SimilarityData
, numberofmatchesrequired
: u16, resultssize
: u32, findsimilarresults
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
514 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
515 let this
= (*this
).get_impl();
516 match this
.FindSimilarFileId(::core
::mem
::transmute_copy(&similaritydata
), ::core
::mem
::transmute_copy(&numberofmatchesrequired
), ::core
::mem
::transmute_copy(&resultssize
)) {
517 ::core
::result
::Result
::Ok(ok__
) => {
518 ::core
::ptr
::write(findsimilarresults
, ::core
::mem
::transmute(ok__
));
519 ::windows
::core
::HRESULT(0)
521 ::core
::result
::Result
::Err(err
) => err
.into(),
524 unsafe extern "system" fn CopyAndSwap
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, newsimilaritytables
: *mut ::core
::ffi
::c_void
, reportprogress
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
525 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
526 let this
= (*this
).get_impl();
527 this
.CopyAndSwap(::windows
::core
::from_raw_borrowed(&newsimilaritytables
), ::windows
::core
::from_raw_borrowed(&reportprogress
)).into()
529 unsafe extern "system" fn GetRecordCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarity_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, recordcount
: *mut u32) -> ::windows
::core
::HRESULT
{
530 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
531 let this
= (*this
).get_impl();
532 match this
.GetRecordCount() {
533 ::core
::result
::Result
::Ok(ok__
) => {
534 ::core
::ptr
::write(recordcount
, ::core
::mem
::transmute(ok__
));
535 ::windows
::core
::HRESULT(0)
537 ::core
::result
::Result
::Err(err
) => err
.into(),
541 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
542 CreateTable
: CreateTable
::<Identity
, Impl
, OFFSET
>,
543 CreateTableIndirect
: CreateTableIndirect
::<Identity
, Impl
, OFFSET
>,
544 CloseTable
: CloseTable
::<Identity
, Impl
, OFFSET
>,
545 Append
: Append
::<Identity
, Impl
, OFFSET
>,
546 FindSimilarFileId
: FindSimilarFileId
::<Identity
, Impl
, OFFSET
>,
547 CopyAndSwap
: CopyAndSwap
::<Identity
, Impl
, OFFSET
>,
548 GetRecordCount
: GetRecordCount
::<Identity
, Impl
, OFFSET
>,
551 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
552 iid
== &<ISimilarity
as ::windows
::core
::ComInterface
>::IID
555 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
556 #[cfg(feature = "Win32_Foundation")]
557 pub trait ISimilarityFileIdTable_Impl
: Sized
{
558 fn CreateTable(&self, path
: &::windows
::core
::PCWSTR
, truncate
: super::super::Foundation
::BOOL
, securitydescriptor
: *const u8, recordsize
: u32) -> ::windows
::core
::Result
<RdcCreatedTables
>;
559 fn CreateTableIndirect(&self, fileidfile
: ::core
::option
::Option
<&IRdcFileWriter
>, truncate
: super::super::Foundation
::BOOL
, recordsize
: u32) -> ::windows
::core
::Result
<RdcCreatedTables
>;
560 fn CloseTable(&self, isvalid
: super::super::Foundation
::BOOL
) -> ::windows
::core
::Result
<()>;
561 fn Append(&self, similarityfileid
: *const SimilarityFileId
) -> ::windows
::core
::Result
<u32>;
562 fn Lookup(&self, similarityfileindex
: u32, similarityfileid
: *mut SimilarityFileId
) -> ::windows
::core
::Result
<()>;
563 fn Invalidate(&self, similarityfileindex
: u32) -> ::windows
::core
::Result
<()>;
564 fn GetRecordCount(&self) -> ::windows
::core
::Result
<u32>;
566 #[cfg(feature = "Win32_Foundation")]
567 impl ::windows
::core
::RuntimeName
for ISimilarityFileIdTable {}
568 #[cfg(feature = "Win32_Foundation")]
569 impl ISimilarityFileIdTable_Vtbl
{
570 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>() -> ISimilarityFileIdTable_Vtbl
{
571 unsafe extern "system" fn CreateTable
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, path
: ::windows
::core
::PCWSTR
, truncate
: super::super::Foundation
::BOOL
, securitydescriptor
: *const u8, recordsize
: u32, isnew
: *mut RdcCreatedTables
) -> ::windows
::core
::HRESULT
{
572 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
573 let this
= (*this
).get_impl();
574 match this
.CreateTable(::core
::mem
::transmute(&path
), ::core
::mem
::transmute_copy(&truncate
), ::core
::mem
::transmute_copy(&securitydescriptor
), ::core
::mem
::transmute_copy(&recordsize
)) {
575 ::core
::result
::Result
::Ok(ok__
) => {
576 ::core
::ptr
::write(isnew
, ::core
::mem
::transmute(ok__
));
577 ::windows
::core
::HRESULT(0)
579 ::core
::result
::Result
::Err(err
) => err
.into(),
582 unsafe extern "system" fn CreateTableIndirect
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, fileidfile
: *mut ::core
::ffi
::c_void
, truncate
: super::super::Foundation
::BOOL
, recordsize
: u32, isnew
: *mut RdcCreatedTables
) -> ::windows
::core
::HRESULT
{
583 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
584 let this
= (*this
).get_impl();
585 match this
.CreateTableIndirect(::windows
::core
::from_raw_borrowed(&fileidfile
), ::core
::mem
::transmute_copy(&truncate
), ::core
::mem
::transmute_copy(&recordsize
)) {
586 ::core
::result
::Result
::Ok(ok__
) => {
587 ::core
::ptr
::write(isnew
, ::core
::mem
::transmute(ok__
));
588 ::windows
::core
::HRESULT(0)
590 ::core
::result
::Result
::Err(err
) => err
.into(),
593 unsafe extern "system" fn CloseTable
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, isvalid
: super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
594 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
595 let this
= (*this
).get_impl();
596 this
.CloseTable(::core
::mem
::transmute_copy(&isvalid
)).into()
598 unsafe extern "system" fn Append
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similarityfileid
: *const SimilarityFileId
, similarityfileindex
: *mut u32) -> ::windows
::core
::HRESULT
{
599 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
600 let this
= (*this
).get_impl();
601 match this
.Append(::core
::mem
::transmute_copy(&similarityfileid
)) {
602 ::core
::result
::Result
::Ok(ok__
) => {
603 ::core
::ptr
::write(similarityfileindex
, ::core
::mem
::transmute(ok__
));
604 ::windows
::core
::HRESULT(0)
606 ::core
::result
::Result
::Err(err
) => err
.into(),
609 unsafe extern "system" fn Lookup
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similarityfileindex
: u32, similarityfileid
: *mut SimilarityFileId
) -> ::windows
::core
::HRESULT
{
610 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
611 let this
= (*this
).get_impl();
612 this
.Lookup(::core
::mem
::transmute_copy(&similarityfileindex
), ::core
::mem
::transmute_copy(&similarityfileid
)).into()
614 unsafe extern "system" fn Invalidate
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similarityfileindex
: u32) -> ::windows
::core
::HRESULT
{
615 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
616 let this
= (*this
).get_impl();
617 this
.Invalidate(::core
::mem
::transmute_copy(&similarityfileindex
)).into()
619 unsafe extern "system" fn GetRecordCount
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityFileIdTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, recordcount
: *mut u32) -> ::windows
::core
::HRESULT
{
620 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
621 let this
= (*this
).get_impl();
622 match this
.GetRecordCount() {
623 ::core
::result
::Result
::Ok(ok__
) => {
624 ::core
::ptr
::write(recordcount
, ::core
::mem
::transmute(ok__
));
625 ::windows
::core
::HRESULT(0)
627 ::core
::result
::Result
::Err(err
) => err
.into(),
631 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
632 CreateTable
: CreateTable
::<Identity
, Impl
, OFFSET
>,
633 CreateTableIndirect
: CreateTableIndirect
::<Identity
, Impl
, OFFSET
>,
634 CloseTable
: CloseTable
::<Identity
, Impl
, OFFSET
>,
635 Append
: Append
::<Identity
, Impl
, OFFSET
>,
636 Lookup
: Lookup
::<Identity
, Impl
, OFFSET
>,
637 Invalidate
: Invalidate
::<Identity
, Impl
, OFFSET
>,
638 GetRecordCount
: GetRecordCount
::<Identity
, Impl
, OFFSET
>,
641 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
642 iid
== &<ISimilarityFileIdTable
as ::windows
::core
::ComInterface
>::IID
645 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
646 pub trait ISimilarityReportProgress_Impl
: Sized
{
647 fn ReportProgress(&self, percentcompleted
: u32) -> ::windows
::core
::Result
<()>;
649 impl ::windows
::core
::RuntimeName
for ISimilarityReportProgress {}
650 impl ISimilarityReportProgress_Vtbl
{
651 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityReportProgress_Impl
, const OFFSET
: isize>() -> ISimilarityReportProgress_Vtbl
{
652 unsafe extern "system" fn ReportProgress
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityReportProgress_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, percentcompleted
: u32) -> ::windows
::core
::HRESULT
{
653 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
654 let this
= (*this
).get_impl();
655 this
.ReportProgress(::core
::mem
::transmute_copy(&percentcompleted
)).into()
657 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ReportProgress: ReportProgress::<Identity, Impl, OFFSET> }
659 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
660 iid
== &<ISimilarityReportProgress
as ::windows
::core
::ComInterface
>::IID
663 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
664 #[cfg(feature = "Win32_Foundation")]
665 pub trait ISimilarityTableDumpState_Impl
: Sized
{
666 fn GetNextData(&self, resultssize
: u32, resultsused
: *mut u32, eof
: *mut super::super::Foundation
::BOOL
, results
: *mut SimilarityDumpData
) -> ::windows
::core
::Result
<()>;
668 #[cfg(feature = "Win32_Foundation")]
669 impl ::windows
::core
::RuntimeName
for ISimilarityTableDumpState {}
670 #[cfg(feature = "Win32_Foundation")]
671 impl ISimilarityTableDumpState_Vtbl
{
672 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTableDumpState_Impl
, const OFFSET
: isize>() -> ISimilarityTableDumpState_Vtbl
{
673 unsafe extern "system" fn GetNextData
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTableDumpState_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, resultssize
: u32, resultsused
: *mut u32, eof
: *mut super::super::Foundation
::BOOL
, results
: *mut SimilarityDumpData
) -> ::windows
::core
::HRESULT
{
674 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
675 let this
= (*this
).get_impl();
676 this
.GetNextData(::core
::mem
::transmute_copy(&resultssize
), ::core
::mem
::transmute_copy(&resultsused
), ::core
::mem
::transmute_copy(&eof
), ::core
::mem
::transmute_copy(&results
)).into()
678 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetNextData: GetNextData::<Identity, Impl, OFFSET> }
680 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
681 iid
== &<ISimilarityTableDumpState
as ::windows
::core
::ComInterface
>::IID
684 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
685 #[cfg(feature = "Win32_Foundation")]
686 pub trait ISimilarityTraitsMappedView_Impl
: Sized
{
687 fn Flush(&self) -> ::windows
::core
::Result
<()>;
688 fn Unmap(&self) -> ::windows
::core
::Result
<()>;
689 fn Get(&self, index
: u64, dirty
: super::super::Foundation
::BOOL
, numelements
: u32) -> ::windows
::core
::Result
<SimilarityMappedViewInfo
>;
690 fn GetView(&self, mappedpagebegin
: *mut *mut u8, mappedpageend
: *mut *mut u8);
692 #[cfg(feature = "Win32_Foundation")]
693 impl ::windows
::core
::RuntimeName
for ISimilarityTraitsMappedView {}
694 #[cfg(feature = "Win32_Foundation")]
695 impl ISimilarityTraitsMappedView_Vtbl
{
696 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMappedView_Impl
, const OFFSET
: isize>() -> ISimilarityTraitsMappedView_Vtbl
{
697 unsafe extern "system" fn Flush
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMappedView_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
698 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
699 let this
= (*this
).get_impl();
702 unsafe extern "system" fn Unmap
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMappedView_Impl
, const OFFSET
: isize>(this
: *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();
707 unsafe extern "system" fn Get
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMappedView_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, index
: u64, dirty
: super::super::Foundation
::BOOL
, numelements
: u32, viewinfo
: *mut SimilarityMappedViewInfo
) -> ::windows
::core
::HRESULT
{
708 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
709 let this
= (*this
).get_impl();
710 match this
.Get(::core
::mem
::transmute_copy(&index
), ::core
::mem
::transmute_copy(&dirty
), ::core
::mem
::transmute_copy(&numelements
)) {
711 ::core
::result
::Result
::Ok(ok__
) => {
712 ::core
::ptr
::write(viewinfo
, ::core
::mem
::transmute(ok__
));
713 ::windows
::core
::HRESULT(0)
715 ::core
::result
::Result
::Err(err
) => err
.into(),
718 unsafe extern "system" fn GetView
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMappedView_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, mappedpagebegin
: *mut *mut u8, mappedpageend
: *mut *mut u8) {
719 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
720 let this
= (*this
).get_impl();
721 this
.GetView(::core
::mem
::transmute_copy(&mappedpagebegin
), ::core
::mem
::transmute_copy(&mappedpageend
))
724 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
725 Flush
: Flush
::<Identity
, Impl
, OFFSET
>,
726 Unmap
: Unmap
::<Identity
, Impl
, OFFSET
>,
727 Get
: Get
::<Identity
, Impl
, OFFSET
>,
728 GetView
: GetView
::<Identity
, Impl
, OFFSET
>,
731 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
732 iid
== &<ISimilarityTraitsMappedView
as ::windows
::core
::ComInterface
>::IID
735 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
736 pub trait ISimilarityTraitsMapping_Impl
: Sized
{
737 fn CloseMapping(&self);
738 fn SetFileSize(&self, filesize
: u64) -> ::windows
::core
::Result
<()>;
739 fn GetFileSize(&self) -> ::windows
::core
::Result
<u64>;
740 fn OpenMapping(&self, accessmode
: RdcMappingAccessMode
, begin
: u64, end
: u64) -> ::windows
::core
::Result
<u64>;
741 fn ResizeMapping(&self, accessmode
: RdcMappingAccessMode
, begin
: u64, end
: u64) -> ::windows
::core
::Result
<u64>;
742 fn GetPageSize(&self, pagesize
: *mut u32) -> ();
743 fn CreateView(&self, minimummappedpages
: u32, accessmode
: RdcMappingAccessMode
) -> ::windows
::core
::Result
<ISimilarityTraitsMappedView
>;
745 impl ::windows
::core
::RuntimeName
for ISimilarityTraitsMapping {}
746 impl ISimilarityTraitsMapping_Vtbl
{
747 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>() -> ISimilarityTraitsMapping_Vtbl
{
748 unsafe extern "system" fn CloseMapping
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
) {
749 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
750 let this
= (*this
).get_impl();
753 unsafe extern "system" fn SetFileSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, filesize
: u64) -> ::windows
::core
::HRESULT
{
754 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
755 let this
= (*this
).get_impl();
756 this
.SetFileSize(::core
::mem
::transmute_copy(&filesize
)).into()
758 unsafe extern "system" fn GetFileSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, filesize
: *mut u64) -> ::windows
::core
::HRESULT
{
759 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
760 let this
= (*this
).get_impl();
761 match this
.GetFileSize() {
762 ::core
::result
::Result
::Ok(ok__
) => {
763 ::core
::ptr
::write(filesize
, ::core
::mem
::transmute(ok__
));
764 ::windows
::core
::HRESULT(0)
766 ::core
::result
::Result
::Err(err
) => err
.into(),
769 unsafe extern "system" fn OpenMapping
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, accessmode
: RdcMappingAccessMode
, begin
: u64, end
: u64, actualend
: *mut u64) -> ::windows
::core
::HRESULT
{
770 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
771 let this
= (*this
).get_impl();
772 match this
.OpenMapping(::core
::mem
::transmute_copy(&accessmode
), ::core
::mem
::transmute_copy(&begin
), ::core
::mem
::transmute_copy(&end
)) {
773 ::core
::result
::Result
::Ok(ok__
) => {
774 ::core
::ptr
::write(actualend
, ::core
::mem
::transmute(ok__
));
775 ::windows
::core
::HRESULT(0)
777 ::core
::result
::Result
::Err(err
) => err
.into(),
780 unsafe extern "system" fn ResizeMapping
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, accessmode
: RdcMappingAccessMode
, begin
: u64, end
: u64, actualend
: *mut u64) -> ::windows
::core
::HRESULT
{
781 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
782 let this
= (*this
).get_impl();
783 match this
.ResizeMapping(::core
::mem
::transmute_copy(&accessmode
), ::core
::mem
::transmute_copy(&begin
), ::core
::mem
::transmute_copy(&end
)) {
784 ::core
::result
::Result
::Ok(ok__
) => {
785 ::core
::ptr
::write(actualend
, ::core
::mem
::transmute(ok__
));
786 ::windows
::core
::HRESULT(0)
788 ::core
::result
::Result
::Err(err
) => err
.into(),
791 unsafe extern "system" fn GetPageSize
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, pagesize
: *mut u32) {
792 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
793 let this
= (*this
).get_impl();
794 this
.GetPageSize(::core
::mem
::transmute_copy(&pagesize
))
796 unsafe extern "system" fn CreateView
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsMapping_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, minimummappedpages
: u32, accessmode
: RdcMappingAccessMode
, mappedview
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
797 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
798 let this
= (*this
).get_impl();
799 match this
.CreateView(::core
::mem
::transmute_copy(&minimummappedpages
), ::core
::mem
::transmute_copy(&accessmode
)) {
800 ::core
::result
::Result
::Ok(ok__
) => {
801 ::core
::ptr
::write(mappedview
, ::core
::mem
::transmute(ok__
));
802 ::windows
::core
::HRESULT(0)
804 ::core
::result
::Result
::Err(err
) => err
.into(),
808 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
809 CloseMapping
: CloseMapping
::<Identity
, Impl
, OFFSET
>,
810 SetFileSize
: SetFileSize
::<Identity
, Impl
, OFFSET
>,
811 GetFileSize
: GetFileSize
::<Identity
, Impl
, OFFSET
>,
812 OpenMapping
: OpenMapping
::<Identity
, Impl
, OFFSET
>,
813 ResizeMapping
: ResizeMapping
::<Identity
, Impl
, OFFSET
>,
814 GetPageSize
: GetPageSize
::<Identity
, Impl
, OFFSET
>,
815 CreateView
: CreateView
::<Identity
, Impl
, OFFSET
>,
818 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
819 iid
== &<ISimilarityTraitsMapping
as ::windows
::core
::ComInterface
>::IID
822 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
823 #[cfg(feature = "Win32_Foundation")]
824 pub trait ISimilarityTraitsTable_Impl
: Sized
{
825 fn CreateTable(&self, path
: &::windows
::core
::PCWSTR
, truncate
: super::super::Foundation
::BOOL
, securitydescriptor
: *const u8) -> ::windows
::core
::Result
<RdcCreatedTables
>;
826 fn CreateTableIndirect(&self, mapping
: ::core
::option
::Option
<&ISimilarityTraitsMapping
>, truncate
: super::super::Foundation
::BOOL
) -> ::windows
::core
::Result
<RdcCreatedTables
>;
827 fn CloseTable(&self, isvalid
: super::super::Foundation
::BOOL
) -> ::windows
::core
::Result
<()>;
828 fn Append(&self, data
: *const SimilarityData
, fileindex
: u32) -> ::windows
::core
::Result
<()>;
829 fn FindSimilarFileIndex(&self, similaritydata
: *const SimilarityData
, numberofmatchesrequired
: u16, findsimilarfileindexresults
: *mut FindSimilarFileIndexResults
, resultssize
: u32, resultsused
: *mut u32) -> ::windows
::core
::Result
<()>;
830 fn BeginDump(&self) -> ::windows
::core
::Result
<ISimilarityTableDumpState
>;
831 fn GetLastIndex(&self) -> ::windows
::core
::Result
<u32>;
833 #[cfg(feature = "Win32_Foundation")]
834 impl ::windows
::core
::RuntimeName
for ISimilarityTraitsTable {}
835 #[cfg(feature = "Win32_Foundation")]
836 impl ISimilarityTraitsTable_Vtbl
{
837 pub const fn new
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>() -> ISimilarityTraitsTable_Vtbl
{
838 unsafe extern "system" fn CreateTable
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, path
: ::windows
::core
::PCWSTR
, truncate
: super::super::Foundation
::BOOL
, securitydescriptor
: *const u8, isnew
: *mut RdcCreatedTables
) -> ::windows
::core
::HRESULT
{
839 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
840 let this
= (*this
).get_impl();
841 match this
.CreateTable(::core
::mem
::transmute(&path
), ::core
::mem
::transmute_copy(&truncate
), ::core
::mem
::transmute_copy(&securitydescriptor
)) {
842 ::core
::result
::Result
::Ok(ok__
) => {
843 ::core
::ptr
::write(isnew
, ::core
::mem
::transmute(ok__
));
844 ::windows
::core
::HRESULT(0)
846 ::core
::result
::Result
::Err(err
) => err
.into(),
849 unsafe extern "system" fn CreateTableIndirect
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, mapping
: *mut ::core
::ffi
::c_void
, truncate
: super::super::Foundation
::BOOL
, isnew
: *mut RdcCreatedTables
) -> ::windows
::core
::HRESULT
{
850 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
851 let this
= (*this
).get_impl();
852 match this
.CreateTableIndirect(::windows
::core
::from_raw_borrowed(&mapping
), ::core
::mem
::transmute_copy(&truncate
)) {
853 ::core
::result
::Result
::Ok(ok__
) => {
854 ::core
::ptr
::write(isnew
, ::core
::mem
::transmute(ok__
));
855 ::windows
::core
::HRESULT(0)
857 ::core
::result
::Result
::Err(err
) => err
.into(),
860 unsafe extern "system" fn CloseTable
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, isvalid
: super::super::Foundation
::BOOL
) -> ::windows
::core
::HRESULT
{
861 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
862 let this
= (*this
).get_impl();
863 this
.CloseTable(::core
::mem
::transmute_copy(&isvalid
)).into()
865 unsafe extern "system" fn Append
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, data
: *const SimilarityData
, fileindex
: u32) -> ::windows
::core
::HRESULT
{
866 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
867 let this
= (*this
).get_impl();
868 this
.Append(::core
::mem
::transmute_copy(&data
), ::core
::mem
::transmute_copy(&fileindex
)).into()
870 unsafe extern "system" fn FindSimilarFileIndex
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similaritydata
: *const SimilarityData
, numberofmatchesrequired
: u16, findsimilarfileindexresults
: *mut FindSimilarFileIndexResults
, resultssize
: u32, resultsused
: *mut u32) -> ::windows
::core
::HRESULT
{
871 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
872 let this
= (*this
).get_impl();
873 this
.FindSimilarFileIndex(::core
::mem
::transmute_copy(&similaritydata
), ::core
::mem
::transmute_copy(&numberofmatchesrequired
), ::core
::mem
::transmute_copy(&findsimilarfileindexresults
), ::core
::mem
::transmute_copy(&resultssize
), ::core
::mem
::transmute_copy(&resultsused
)).into()
875 unsafe extern "system" fn BeginDump
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, similaritytabledumpstate
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
{
876 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
877 let this
= (*this
).get_impl();
878 match this
.BeginDump() {
879 ::core
::result
::Result
::Ok(ok__
) => {
880 ::core
::ptr
::write(similaritytabledumpstate
, ::core
::mem
::transmute(ok__
));
881 ::windows
::core
::HRESULT(0)
883 ::core
::result
::Result
::Err(err
) => err
.into(),
886 unsafe extern "system" fn GetLastIndex
<Identity
: ::windows
::core
::IUnknownImpl
<Impl
= Impl
>, Impl
: ISimilarityTraitsTable_Impl
, const OFFSET
: isize>(this
: *mut ::core
::ffi
::c_void
, fileindex
: *mut u32) -> ::windows
::core
::HRESULT
{
887 let this
= (this
as *const *const ()).offset(OFFSET
) as *const Identity
;
888 let this
= (*this
).get_impl();
889 match this
.GetLastIndex() {
890 ::core
::result
::Result
::Ok(ok__
) => {
891 ::core
::ptr
::write(fileindex
, ::core
::mem
::transmute(ok__
));
892 ::windows
::core
::HRESULT(0)
894 ::core
::result
::Result
::Err(err
) => err
.into(),
898 base__
: ::windows
::core
::IUnknown_Vtbl
::new
::<Identity
, OFFSET
>(),
899 CreateTable
: CreateTable
::<Identity
, Impl
, OFFSET
>,
900 CreateTableIndirect
: CreateTableIndirect
::<Identity
, Impl
, OFFSET
>,
901 CloseTable
: CloseTable
::<Identity
, Impl
, OFFSET
>,
902 Append
: Append
::<Identity
, Impl
, OFFSET
>,
903 FindSimilarFileIndex
: FindSimilarFileIndex
::<Identity
, Impl
, OFFSET
>,
904 BeginDump
: BeginDump
::<Identity
, Impl
, OFFSET
>,
905 GetLastIndex
: GetLastIndex
::<Identity
, Impl
, OFFSET
>,
908 pub fn matches(iid
: &windows
::core
::GUID
) -> bool
{
909 iid
== &<ISimilarityTraitsTable
as ::windows
::core
::ComInterface
>::IID