]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Win32/Networking/RemoteDifferentialCompression/impl.rs
bbcd11e5ba4bc61e9afff010c4700d36548248d0
[rustc.git] / vendor / windows / src / Windows / Win32 / Networking / RemoteDifferentialCompression / impl.rs
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<()>;
5 }
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)
16 }
17 ::core::result::Result::Err(err) => err.into(),
18 }
19 }
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()
24 }
25 Self {
26 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
27 GetSize: GetSize::<Identity, Impl, OFFSET>,
28 GetNextFileId: GetNextFileId::<Identity, Impl, OFFSET>,
29 }
30 }
31 pub fn matches(iid: &windows::core::GUID) -> bool {
32 iid == &<IFindSimilarResults as ::windows::core::ComInterface>::IID
33 }
34 }
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<()>;
39 }
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()
49 }
50 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Process: Process::<Identity, Impl, OFFSET> }
51 }
52 pub fn matches(iid: &windows::core::GUID) -> bool {
53 iid == &<IRdcComparator as ::windows::core::ComInterface>::IID
54 }
55 }
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>;
62 }
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)
75 }
76 ::core::result::Result::Err(err) => err.into(),
77 }
78 }
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()
83 }
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)
91 }
92 ::core::result::Result::Err(err) => err.into(),
93 }
94 }
95 Self {
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>,
100 }
101 }
102 pub fn matches(iid: &windows::core::GUID) -> bool {
103 iid == &<IRdcFileReader as ::windows::core::ComInterface>::IID
104 }
105 }
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<()>;
112 }
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)
125 }
126 ::core::result::Result::Err(err) => err.into(),
127 }
128 }
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()
133 }
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()
138 }
139 Self {
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>,
144 }
145 }
146 pub fn matches(iid: &windows::core::GUID) -> bool {
147 iid == &<IRdcFileWriter as ::windows::core::ComInterface>::IID || iid == &<IRdcFileReader as ::windows::core::ComInterface>::IID
148 }
149 }
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<()>;
155 }
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)
168 }
169 ::core::result::Result::Err(err) => err.into(),
170 }
171 }
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()
176 }
177 Self {
178 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
179 GetGeneratorParameters: GetGeneratorParameters::<Identity, Impl, OFFSET>,
180 Process: Process::<Identity, Impl, OFFSET>,
181 }
182 }
183 pub fn matches(iid: &windows::core::GUID) -> bool {
184 iid == &<IRdcGenerator as ::windows::core::ComInterface>::IID
185 }
186 }
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<()>;
193 }
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)
204 }
205 ::core::result::Result::Err(err) => err.into(),
206 }
207 }
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()
212 }
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)
220 }
221 ::core::result::Result::Err(err) => err.into(),
222 }
223 }
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()
228 }
229 Self {
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>,
235 }
236 }
237 pub fn matches(iid: &windows::core::GUID) -> bool {
238 iid == &<IRdcGeneratorFilterMaxParameters as ::windows::core::ComInterface>::IID
239 }
240 }
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<()>;
247 }
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)
258 }
259 ::core::result::Result::Err(err) => err.into(),
260 }
261 }
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(&currentversion), ::core::mem::transmute_copy(&minimumcompatibleappversion)).into()
266 }
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)
274 }
275 ::core::result::Result::Err(err) => err.into(),
276 }
277 }
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(&parametersblob), ::core::mem::transmute_copy(&byteswritten)).into()
282 }
283 Self {
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>,
289 }
290 }
291 pub fn matches(iid: &windows::core::GUID) -> bool {
292 iid == &<IRdcGeneratorParameters as ::windows::core::ComInterface>::IID
293 }
294 }
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<()>;
304 }
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)
315 }
316 ::core::result::Result::Err(err) => err.into(),
317 }
318 }
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(&parameterstype), ::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)
326 }
327 ::core::result::Result::Err(err) => err.into(),
328 }
329 }
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(&parametersblob)) {
334 ::core::result::Result::Ok(ok__) => {
335 ::core::ptr::write(igeneratorparameters, ::core::mem::transmute(ok__));
336 ::windows::core::HRESULT(0)
337 }
338 ::core::result::Result::Err(err) => err.into(),
339 }
340 }
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)
348 }
349 ::core::result::Result::Err(err) => err.into(),
350 }
351 }
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)
359 }
360 ::core::result::Result::Err(err) => err.into(),
361 }
362 }
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)
370 }
371 ::core::result::Result::Err(err) => err.into(),
372 }
373 }
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(&currentversion), ::core::mem::transmute_copy(&minimumcompatibleappversion)).into()
378 }
379 Self {
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>,
388 }
389 }
390 pub fn matches(iid: &windows::core::GUID) -> bool {
391 iid == &<IRdcLibrary as ::windows::core::ComInterface>::IID
392 }
393 }
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<()>;
399 }
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)
412 }
413 ::core::result::Result::Err(err) => err.into(),
414 }
415 }
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()
420 }
421 Self {
422 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
423 ReadHeader: ReadHeader::<Identity, Impl, OFFSET>,
424 ReadSignatures: ReadSignatures::<Identity, Impl, OFFSET>,
425 }
426 }
427 pub fn matches(iid: &windows::core::GUID) -> bool {
428 iid == &<IRdcSignatureReader as ::windows::core::ComInterface>::IID
429 }
430 }
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>;
435 }
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()
443 }
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)
451 }
452 ::core::result::Result::Err(err) => err.into(),
453 }
454 }
455 Self {
456 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
457 EnableSimilarity: EnableSimilarity::<Identity, Impl, OFFSET>,
458 Results: Results::<Identity, Impl, OFFSET>,
459 }
460 }
461 pub fn matches(iid: &windows::core::GUID) -> bool {
462 iid == &<IRdcSimilarityGenerator as ::windows::core::ComInterface>::IID
463 }
464 }
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>;
475 }
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)
488 }
489 ::core::result::Result::Err(err) => err.into(),
490 }
491 }
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)
499 }
500 ::core::result::Result::Err(err) => err.into(),
501 }
502 }
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()
507 }
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()
512 }
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)
520 }
521 ::core::result::Result::Err(err) => err.into(),
522 }
523 }
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()
528 }
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)
536 }
537 ::core::result::Result::Err(err) => err.into(),
538 }
539 }
540 Self {
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>,
549 }
550 }
551 pub fn matches(iid: &windows::core::GUID) -> bool {
552 iid == &<ISimilarity as ::windows::core::ComInterface>::IID
553 }
554 }
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>;
565 }
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)
578 }
579 ::core::result::Result::Err(err) => err.into(),
580 }
581 }
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)
589 }
590 ::core::result::Result::Err(err) => err.into(),
591 }
592 }
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()
597 }
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)
605 }
606 ::core::result::Result::Err(err) => err.into(),
607 }
608 }
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()
613 }
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()
618 }
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)
626 }
627 ::core::result::Result::Err(err) => err.into(),
628 }
629 }
630 Self {
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>,
639 }
640 }
641 pub fn matches(iid: &windows::core::GUID) -> bool {
642 iid == &<ISimilarityFileIdTable as ::windows::core::ComInterface>::IID
643 }
644 }
645 #[doc = "*Required features: `\"Win32_Networking_RemoteDifferentialCompression\"`, `\"implement\"`*"]
646 pub trait ISimilarityReportProgress_Impl: Sized {
647 fn ReportProgress(&self, percentcompleted: u32) -> ::windows::core::Result<()>;
648 }
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()
656 }
657 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ReportProgress: ReportProgress::<Identity, Impl, OFFSET> }
658 }
659 pub fn matches(iid: &windows::core::GUID) -> bool {
660 iid == &<ISimilarityReportProgress as ::windows::core::ComInterface>::IID
661 }
662 }
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<()>;
667 }
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()
677 }
678 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetNextData: GetNextData::<Identity, Impl, OFFSET> }
679 }
680 pub fn matches(iid: &windows::core::GUID) -> bool {
681 iid == &<ISimilarityTableDumpState as ::windows::core::ComInterface>::IID
682 }
683 }
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);
691 }
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();
700 this.Flush().into()
701 }
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();
705 this.Unmap().into()
706 }
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)
714 }
715 ::core::result::Result::Err(err) => err.into(),
716 }
717 }
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))
722 }
723 Self {
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>,
729 }
730 }
731 pub fn matches(iid: &windows::core::GUID) -> bool {
732 iid == &<ISimilarityTraitsMappedView as ::windows::core::ComInterface>::IID
733 }
734 }
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>;
744 }
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();
751 this.CloseMapping()
752 }
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()
757 }
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)
765 }
766 ::core::result::Result::Err(err) => err.into(),
767 }
768 }
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)
776 }
777 ::core::result::Result::Err(err) => err.into(),
778 }
779 }
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)
787 }
788 ::core::result::Result::Err(err) => err.into(),
789 }
790 }
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))
795 }
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)
803 }
804 ::core::result::Result::Err(err) => err.into(),
805 }
806 }
807 Self {
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>,
816 }
817 }
818 pub fn matches(iid: &windows::core::GUID) -> bool {
819 iid == &<ISimilarityTraitsMapping as ::windows::core::ComInterface>::IID
820 }
821 }
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>;
832 }
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)
845 }
846 ::core::result::Result::Err(err) => err.into(),
847 }
848 }
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)
856 }
857 ::core::result::Result::Err(err) => err.into(),
858 }
859 }
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()
864 }
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()
869 }
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()
874 }
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)
882 }
883 ::core::result::Result::Err(err) => err.into(),
884 }
885 }
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)
893 }
894 ::core::result::Result::Err(err) => err.into(),
895 }
896 }
897 Self {
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>,
906 }
907 }
908 pub fn matches(iid: &windows::core::GUID) -> bool {
909 iid == &<ISimilarityTraitsTable as ::windows::core::ComInterface>::IID
910 }
911 }