]>
Commit | Line | Data |
---|---|---|
353b0b11 FG |
1 | #[doc = "*Required features: `\"Win32_System_SecurityCenter\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] |
2 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
3 | pub trait IWSCDefaultProduct_Impl: Sized + super::Com::IDispatch_Impl { | |
4 | fn SetDefaultProduct(&self, etype: SECURITY_PRODUCT_TYPE, pguid: &::windows::core::BSTR) -> ::windows::core::Result<()>; | |
5 | } | |
6 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
7 | impl ::windows::core::RuntimeName for IWSCDefaultProduct {} | |
8 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
9 | impl IWSCDefaultProduct_Vtbl { | |
10 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWSCDefaultProduct_Impl, const OFFSET: isize>() -> IWSCDefaultProduct_Vtbl { | |
11 | unsafe extern "system" fn SetDefaultProduct<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWSCDefaultProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, etype: SECURITY_PRODUCT_TYPE, pguid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { | |
12 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
13 | let this = (*this).get_impl(); | |
14 | this.SetDefaultProduct(::core::mem::transmute_copy(&etype), ::core::mem::transmute(&pguid)).into() | |
15 | } | |
16 | Self { base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), SetDefaultProduct: SetDefaultProduct::<Identity, Impl, OFFSET> } | |
17 | } | |
18 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
19 | iid == &<IWSCDefaultProduct as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID | |
20 | } | |
21 | } | |
22 | #[doc = "*Required features: `\"Win32_System_SecurityCenter\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] | |
23 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
24 | pub trait IWSCProductList_Impl: Sized + super::Com::IDispatch_Impl { | |
25 | fn Initialize(&self, provider: WSC_SECURITY_PROVIDER) -> ::windows::core::Result<()>; | |
26 | fn Count(&self) -> ::windows::core::Result<i32>; | |
27 | fn get_Item(&self, index: u32) -> ::windows::core::Result<IWscProduct>; | |
28 | } | |
29 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
30 | impl ::windows::core::RuntimeName for IWSCProductList {} | |
31 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
32 | impl IWSCProductList_Vtbl { | |
33 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWSCProductList_Impl, const OFFSET: isize>() -> IWSCProductList_Vtbl { | |
34 | unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWSCProductList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, provider: WSC_SECURITY_PROVIDER) -> ::windows::core::HRESULT { | |
35 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
36 | let this = (*this).get_impl(); | |
37 | this.Initialize(::core::mem::transmute_copy(&provider)).into() | |
38 | } | |
39 | unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWSCProductList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT { | |
40 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
41 | let this = (*this).get_impl(); | |
42 | match this.Count() { | |
43 | ::core::result::Result::Ok(ok__) => { | |
44 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
45 | ::windows::core::HRESULT(0) | |
46 | } | |
47 | ::core::result::Result::Err(err) => err.into(), | |
48 | } | |
49 | } | |
50 | unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWSCProductList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: u32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
51 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
52 | let this = (*this).get_impl(); | |
53 | match this.get_Item(::core::mem::transmute_copy(&index)) { | |
54 | ::core::result::Result::Ok(ok__) => { | |
55 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
56 | ::windows::core::HRESULT(0) | |
57 | } | |
58 | ::core::result::Result::Err(err) => err.into(), | |
59 | } | |
60 | } | |
61 | Self { | |
62 | base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), | |
63 | Initialize: Initialize::<Identity, Impl, OFFSET>, | |
64 | Count: Count::<Identity, Impl, OFFSET>, | |
65 | get_Item: get_Item::<Identity, Impl, OFFSET>, | |
66 | } | |
67 | } | |
68 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
69 | iid == &<IWSCProductList as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID | |
70 | } | |
71 | } | |
72 | #[doc = "*Required features: `\"Win32_System_SecurityCenter\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] | |
73 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
74 | pub trait IWscProduct_Impl: Sized + super::Com::IDispatch_Impl { | |
75 | fn ProductName(&self) -> ::windows::core::Result<::windows::core::BSTR>; | |
76 | fn ProductState(&self) -> ::windows::core::Result<WSC_SECURITY_PRODUCT_STATE>; | |
77 | fn SignatureStatus(&self) -> ::windows::core::Result<WSC_SECURITY_SIGNATURE_STATUS>; | |
78 | fn RemediationPath(&self) -> ::windows::core::Result<::windows::core::BSTR>; | |
79 | fn ProductStateTimestamp(&self) -> ::windows::core::Result<::windows::core::BSTR>; | |
80 | fn ProductGuid(&self) -> ::windows::core::Result<::windows::core::BSTR>; | |
81 | fn ProductIsDefault(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>; | |
82 | } | |
83 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
84 | impl ::windows::core::RuntimeName for IWscProduct {} | |
85 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
86 | impl IWscProduct_Vtbl { | |
87 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>() -> IWscProduct_Vtbl { | |
88 | unsafe extern "system" fn ProductName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { | |
89 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
90 | let this = (*this).get_impl(); | |
91 | match this.ProductName() { | |
92 | ::core::result::Result::Ok(ok__) => { | |
93 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
94 | ::windows::core::HRESULT(0) | |
95 | } | |
96 | ::core::result::Result::Err(err) => err.into(), | |
97 | } | |
98 | } | |
99 | unsafe extern "system" fn ProductState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut WSC_SECURITY_PRODUCT_STATE) -> ::windows::core::HRESULT { | |
100 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
101 | let this = (*this).get_impl(); | |
102 | match this.ProductState() { | |
103 | ::core::result::Result::Ok(ok__) => { | |
104 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
105 | ::windows::core::HRESULT(0) | |
106 | } | |
107 | ::core::result::Result::Err(err) => err.into(), | |
108 | } | |
109 | } | |
110 | unsafe extern "system" fn SignatureStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut WSC_SECURITY_SIGNATURE_STATUS) -> ::windows::core::HRESULT { | |
111 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
112 | let this = (*this).get_impl(); | |
113 | match this.SignatureStatus() { | |
114 | ::core::result::Result::Ok(ok__) => { | |
115 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
116 | ::windows::core::HRESULT(0) | |
117 | } | |
118 | ::core::result::Result::Err(err) => err.into(), | |
119 | } | |
120 | } | |
121 | unsafe extern "system" fn RemediationPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { | |
122 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
123 | let this = (*this).get_impl(); | |
124 | match this.RemediationPath() { | |
125 | ::core::result::Result::Ok(ok__) => { | |
126 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
127 | ::windows::core::HRESULT(0) | |
128 | } | |
129 | ::core::result::Result::Err(err) => err.into(), | |
130 | } | |
131 | } | |
132 | unsafe extern "system" fn ProductStateTimestamp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { | |
133 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
134 | let this = (*this).get_impl(); | |
135 | match this.ProductStateTimestamp() { | |
136 | ::core::result::Result::Ok(ok__) => { | |
137 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
138 | ::windows::core::HRESULT(0) | |
139 | } | |
140 | ::core::result::Result::Err(err) => err.into(), | |
141 | } | |
142 | } | |
143 | unsafe extern "system" fn ProductGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { | |
144 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
145 | let this = (*this).get_impl(); | |
146 | match this.ProductGuid() { | |
147 | ::core::result::Result::Ok(ok__) => { | |
148 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
149 | ::windows::core::HRESULT(0) | |
150 | } | |
151 | ::core::result::Result::Err(err) => err.into(), | |
152 | } | |
153 | } | |
154 | unsafe extern "system" fn ProductIsDefault<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { | |
155 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
156 | let this = (*this).get_impl(); | |
157 | match this.ProductIsDefault() { | |
158 | ::core::result::Result::Ok(ok__) => { | |
159 | ::core::ptr::write(pval, ::core::mem::transmute(ok__)); | |
160 | ::windows::core::HRESULT(0) | |
161 | } | |
162 | ::core::result::Result::Err(err) => err.into(), | |
163 | } | |
164 | } | |
165 | Self { | |
166 | base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), | |
167 | ProductName: ProductName::<Identity, Impl, OFFSET>, | |
168 | ProductState: ProductState::<Identity, Impl, OFFSET>, | |
169 | SignatureStatus: SignatureStatus::<Identity, Impl, OFFSET>, | |
170 | RemediationPath: RemediationPath::<Identity, Impl, OFFSET>, | |
171 | ProductStateTimestamp: ProductStateTimestamp::<Identity, Impl, OFFSET>, | |
172 | ProductGuid: ProductGuid::<Identity, Impl, OFFSET>, | |
173 | ProductIsDefault: ProductIsDefault::<Identity, Impl, OFFSET>, | |
174 | } | |
175 | } | |
176 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
177 | iid == &<IWscProduct as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID | |
178 | } | |
179 | } | |
180 | #[doc = "*Required features: `\"Win32_System_SecurityCenter\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] | |
181 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
182 | pub trait IWscProduct2_Impl: Sized + IWscProduct_Impl { | |
183 | fn AntivirusScanSubstatus(&self) -> ::windows::core::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>; | |
184 | fn AntivirusSettingsSubstatus(&self) -> ::windows::core::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>; | |
185 | fn AntivirusProtectionUpdateSubstatus(&self) -> ::windows::core::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>; | |
186 | fn FirewallDomainProfileSubstatus(&self) -> ::windows::core::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>; | |
187 | fn FirewallPrivateProfileSubstatus(&self) -> ::windows::core::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>; | |
188 | fn FirewallPublicProfileSubstatus(&self) -> ::windows::core::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>; | |
189 | } | |
190 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
191 | impl ::windows::core::RuntimeName for IWscProduct2 {} | |
192 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
193 | impl IWscProduct2_Vtbl { | |
194 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct2_Impl, const OFFSET: isize>() -> IWscProduct2_Vtbl { | |
195 | unsafe extern "system" fn AntivirusScanSubstatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::core::HRESULT { | |
196 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
197 | let this = (*this).get_impl(); | |
198 | match this.AntivirusScanSubstatus() { | |
199 | ::core::result::Result::Ok(ok__) => { | |
200 | ::core::ptr::write(pestatus, ::core::mem::transmute(ok__)); | |
201 | ::windows::core::HRESULT(0) | |
202 | } | |
203 | ::core::result::Result::Err(err) => err.into(), | |
204 | } | |
205 | } | |
206 | unsafe extern "system" fn AntivirusSettingsSubstatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::core::HRESULT { | |
207 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
208 | let this = (*this).get_impl(); | |
209 | match this.AntivirusSettingsSubstatus() { | |
210 | ::core::result::Result::Ok(ok__) => { | |
211 | ::core::ptr::write(pestatus, ::core::mem::transmute(ok__)); | |
212 | ::windows::core::HRESULT(0) | |
213 | } | |
214 | ::core::result::Result::Err(err) => err.into(), | |
215 | } | |
216 | } | |
217 | unsafe extern "system" fn AntivirusProtectionUpdateSubstatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::core::HRESULT { | |
218 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
219 | let this = (*this).get_impl(); | |
220 | match this.AntivirusProtectionUpdateSubstatus() { | |
221 | ::core::result::Result::Ok(ok__) => { | |
222 | ::core::ptr::write(pestatus, ::core::mem::transmute(ok__)); | |
223 | ::windows::core::HRESULT(0) | |
224 | } | |
225 | ::core::result::Result::Err(err) => err.into(), | |
226 | } | |
227 | } | |
228 | unsafe extern "system" fn FirewallDomainProfileSubstatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::core::HRESULT { | |
229 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
230 | let this = (*this).get_impl(); | |
231 | match this.FirewallDomainProfileSubstatus() { | |
232 | ::core::result::Result::Ok(ok__) => { | |
233 | ::core::ptr::write(pestatus, ::core::mem::transmute(ok__)); | |
234 | ::windows::core::HRESULT(0) | |
235 | } | |
236 | ::core::result::Result::Err(err) => err.into(), | |
237 | } | |
238 | } | |
239 | unsafe extern "system" fn FirewallPrivateProfileSubstatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::core::HRESULT { | |
240 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
241 | let this = (*this).get_impl(); | |
242 | match this.FirewallPrivateProfileSubstatus() { | |
243 | ::core::result::Result::Ok(ok__) => { | |
244 | ::core::ptr::write(pestatus, ::core::mem::transmute(ok__)); | |
245 | ::windows::core::HRESULT(0) | |
246 | } | |
247 | ::core::result::Result::Err(err) => err.into(), | |
248 | } | |
249 | } | |
250 | unsafe extern "system" fn FirewallPublicProfileSubstatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::core::HRESULT { | |
251 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
252 | let this = (*this).get_impl(); | |
253 | match this.FirewallPublicProfileSubstatus() { | |
254 | ::core::result::Result::Ok(ok__) => { | |
255 | ::core::ptr::write(pestatus, ::core::mem::transmute(ok__)); | |
256 | ::windows::core::HRESULT(0) | |
257 | } | |
258 | ::core::result::Result::Err(err) => err.into(), | |
259 | } | |
260 | } | |
261 | Self { | |
262 | base__: IWscProduct_Vtbl::new::<Identity, Impl, OFFSET>(), | |
263 | AntivirusScanSubstatus: AntivirusScanSubstatus::<Identity, Impl, OFFSET>, | |
264 | AntivirusSettingsSubstatus: AntivirusSettingsSubstatus::<Identity, Impl, OFFSET>, | |
265 | AntivirusProtectionUpdateSubstatus: AntivirusProtectionUpdateSubstatus::<Identity, Impl, OFFSET>, | |
266 | FirewallDomainProfileSubstatus: FirewallDomainProfileSubstatus::<Identity, Impl, OFFSET>, | |
267 | FirewallPrivateProfileSubstatus: FirewallPrivateProfileSubstatus::<Identity, Impl, OFFSET>, | |
268 | FirewallPublicProfileSubstatus: FirewallPublicProfileSubstatus::<Identity, Impl, OFFSET>, | |
269 | } | |
270 | } | |
271 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
272 | iid == &<IWscProduct2 as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWscProduct as ::windows::core::ComInterface>::IID | |
273 | } | |
274 | } | |
275 | #[doc = "*Required features: `\"Win32_System_SecurityCenter\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] | |
276 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
277 | pub trait IWscProduct3_Impl: Sized + IWscProduct2_Impl { | |
278 | fn AntivirusDaysUntilExpired(&self) -> ::windows::core::Result<u32>; | |
279 | } | |
280 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
281 | impl ::windows::core::RuntimeName for IWscProduct3 {} | |
282 | #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] | |
283 | impl IWscProduct3_Vtbl { | |
284 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct3_Impl, const OFFSET: isize>() -> IWscProduct3_Vtbl { | |
285 | unsafe extern "system" fn AntivirusDaysUntilExpired<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IWscProduct3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwdays: *mut u32) -> ::windows::core::HRESULT { | |
286 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
287 | let this = (*this).get_impl(); | |
288 | match this.AntivirusDaysUntilExpired() { | |
289 | ::core::result::Result::Ok(ok__) => { | |
290 | ::core::ptr::write(pdwdays, ::core::mem::transmute(ok__)); | |
291 | ::windows::core::HRESULT(0) | |
292 | } | |
293 | ::core::result::Result::Err(err) => err.into(), | |
294 | } | |
295 | } | |
296 | Self { base__: IWscProduct2_Vtbl::new::<Identity, Impl, OFFSET>(), AntivirusDaysUntilExpired: AntivirusDaysUntilExpired::<Identity, Impl, OFFSET> } | |
297 | } | |
298 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
299 | iid == &<IWscProduct3 as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IWscProduct as ::windows::core::ComInterface>::IID || iid == &<IWscProduct2 as ::windows::core::ComInterface>::IID | |
300 | } | |
301 | } |