1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 pub struct IWSCDefaultProduct(::windows::runtime::IUnknown);
5 impl IWSCDefaultProduct {
6     #[cfg(feature = "Win32_Foundation")]
SetDefaultProduct<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, etype: SECURITY_PRODUCT_TYPE, pguid: Param1) -> ::windows::runtime::Result<()>7     pub unsafe fn SetDefaultProduct<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BSTR>>(&self, etype: SECURITY_PRODUCT_TYPE, pguid: Param1) -> ::windows::runtime::Result<()> {
8         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(etype), pguid.into_param().abi()).ok()
9     }
10 }
11 unsafe impl ::windows::runtime::Interface for IWSCDefaultProduct {
12     type Vtable = IWSCDefaultProduct_abi;
13     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(74897052, 61978, 4581, [156, 233, 94, 85, 23, 80, 124, 102]);
14 }
15 impl ::std::convert::From<IWSCDefaultProduct> for ::windows::runtime::IUnknown {
from(value: IWSCDefaultProduct) -> Self16     fn from(value: IWSCDefaultProduct) -> Self {
17         unsafe { ::std::mem::transmute(value) }
18     }
19 }
20 impl ::std::convert::From<&IWSCDefaultProduct> for ::windows::runtime::IUnknown {
from(value: &IWSCDefaultProduct) -> Self21     fn from(value: &IWSCDefaultProduct) -> Self {
22         ::std::convert::From::from(::std::clone::Clone::clone(value))
23     }
24 }
25 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWSCDefaultProduct {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28     }
29 }
30 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWSCDefaultProduct {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>31     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
32         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
33     }
34 }
35 #[cfg(feature = "Win32_System_Ole_Automation")]
36 impl ::std::convert::From<IWSCDefaultProduct> for super::Ole::Automation::IDispatch {
from(value: IWSCDefaultProduct) -> Self37     fn from(value: IWSCDefaultProduct) -> Self {
38         unsafe { ::std::mem::transmute(value) }
39     }
40 }
41 #[cfg(feature = "Win32_System_Ole_Automation")]
42 impl ::std::convert::From<&IWSCDefaultProduct> for super::Ole::Automation::IDispatch {
from(value: &IWSCDefaultProduct) -> Self43     fn from(value: &IWSCDefaultProduct) -> Self {
44         ::std::convert::From::from(::std::clone::Clone::clone(value))
45     }
46 }
47 #[cfg(feature = "Win32_System_Ole_Automation")]
48 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWSCDefaultProduct {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>49     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
50         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
51     }
52 }
53 #[cfg(feature = "Win32_System_Ole_Automation")]
54 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWSCDefaultProduct {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>55     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
56         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
57     }
58 }
59 #[repr(C)]
60 #[doc(hidden)]
61 pub struct IWSCDefaultProduct_abi(
62     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
63     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
64     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
65     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
66     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
67     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
68     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
69     #[cfg(not(feature = "Win32_Foundation"))] usize,
70     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
71     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
72     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
73     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, etype: SECURITY_PRODUCT_TYPE, pguid: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
74     #[cfg(not(feature = "Win32_Foundation"))] usize,
75 );
76 #[repr(transparent)]
77 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
78 pub struct IWSCProductList(::windows::runtime::IUnknown);
79 impl IWSCProductList {
Initialize(&self, provider: WSC_SECURITY_PROVIDER) -> ::windows::runtime::Result<()>80     pub unsafe fn Initialize(&self, provider: WSC_SECURITY_PROVIDER) -> ::windows::runtime::Result<()> {
81         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(provider)).ok()
82     }
Count(&self) -> ::windows::runtime::Result<i32>83     pub unsafe fn Count(&self) -> ::windows::runtime::Result<i32> {
84         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
85         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
86     }
Item(&self, index: u32) -> ::windows::runtime::Result<IWscProduct>87     pub unsafe fn Item(&self, index: u32) -> ::windows::runtime::Result<IWscProduct> {
88         let mut result__: <IWscProduct as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
89         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(index), &mut result__).from_abi::<IWscProduct>(result__)
90     }
91 }
92 unsafe impl ::windows::runtime::Interface for IWSCProductList {
93     type Vtable = IWSCProductList_abi;
94     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1915368332, 28302, 20082, [172, 39, 20, 23, 251, 12, 129, 194]);
95 }
96 impl ::std::convert::From<IWSCProductList> for ::windows::runtime::IUnknown {
from(value: IWSCProductList) -> Self97     fn from(value: IWSCProductList) -> Self {
98         unsafe { ::std::mem::transmute(value) }
99     }
100 }
101 impl ::std::convert::From<&IWSCProductList> for ::windows::runtime::IUnknown {
from(value: &IWSCProductList) -> Self102     fn from(value: &IWSCProductList) -> Self {
103         ::std::convert::From::from(::std::clone::Clone::clone(value))
104     }
105 }
106 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWSCProductList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>107     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
108         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
109     }
110 }
111 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWSCProductList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>112     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
113         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
114     }
115 }
116 #[cfg(feature = "Win32_System_Ole_Automation")]
117 impl ::std::convert::From<IWSCProductList> for super::Ole::Automation::IDispatch {
from(value: IWSCProductList) -> Self118     fn from(value: IWSCProductList) -> Self {
119         unsafe { ::std::mem::transmute(value) }
120     }
121 }
122 #[cfg(feature = "Win32_System_Ole_Automation")]
123 impl ::std::convert::From<&IWSCProductList> for super::Ole::Automation::IDispatch {
from(value: &IWSCProductList) -> Self124     fn from(value: &IWSCProductList) -> Self {
125         ::std::convert::From::from(::std::clone::Clone::clone(value))
126     }
127 }
128 #[cfg(feature = "Win32_System_Ole_Automation")]
129 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWSCProductList {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>130     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
131         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
132     }
133 }
134 #[cfg(feature = "Win32_System_Ole_Automation")]
135 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWSCProductList {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>136     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
137         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
138     }
139 }
140 #[repr(C)]
141 #[doc(hidden)]
142 pub struct IWSCProductList_abi(
143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
147     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
148     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
149     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
150     #[cfg(not(feature = "Win32_Foundation"))] usize,
151     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
152     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
153     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, provider: WSC_SECURITY_PROVIDER) -> ::windows::runtime::HRESULT,
155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut i32) -> ::windows::runtime::HRESULT,
156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, pval: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
157 );
158 #[repr(transparent)]
159 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
160 pub struct IWscProduct(::windows::runtime::IUnknown);
161 impl IWscProduct {
162     #[cfg(feature = "Win32_Foundation")]
ProductName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>163     pub unsafe fn ProductName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
164         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
165         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
166     }
ProductState(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_STATE>167     pub unsafe fn ProductState(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_STATE> {
168         let mut result__: <WSC_SECURITY_PRODUCT_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
169         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_STATE>(result__)
170     }
SignatureStatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_SIGNATURE_STATUS>171     pub unsafe fn SignatureStatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_SIGNATURE_STATUS> {
172         let mut result__: <WSC_SECURITY_SIGNATURE_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
173         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_SIGNATURE_STATUS>(result__)
174     }
175     #[cfg(feature = "Win32_Foundation")]
RemediationPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>176     pub unsafe fn RemediationPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
177         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
178         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
179     }
180     #[cfg(feature = "Win32_Foundation")]
ProductStateTimestamp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>181     pub unsafe fn ProductStateTimestamp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
182         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
183         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
184     }
185     #[cfg(feature = "Win32_Foundation")]
ProductGuid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>186     pub unsafe fn ProductGuid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
187         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
188         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
189     }
190     #[cfg(feature = "Win32_Foundation")]
ProductIsDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>191     pub unsafe fn ProductIsDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
192         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
193         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
194     }
195 }
196 unsafe impl ::windows::runtime::Interface for IWscProduct {
197     type Vtable = IWscProduct_abi;
198     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2352489262, 14917, 18983, [146, 176, 26, 22, 169, 117, 246, 105]);
199 }
200 impl ::std::convert::From<IWscProduct> for ::windows::runtime::IUnknown {
from(value: IWscProduct) -> Self201     fn from(value: IWscProduct) -> Self {
202         unsafe { ::std::mem::transmute(value) }
203     }
204 }
205 impl ::std::convert::From<&IWscProduct> for ::windows::runtime::IUnknown {
from(value: &IWscProduct) -> Self206     fn from(value: &IWscProduct) -> Self {
207         ::std::convert::From::from(::std::clone::Clone::clone(value))
208     }
209 }
210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWscProduct {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
212         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
213     }
214 }
215 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWscProduct {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>216     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
217         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
218     }
219 }
220 #[cfg(feature = "Win32_System_Ole_Automation")]
221 impl ::std::convert::From<IWscProduct> for super::Ole::Automation::IDispatch {
from(value: IWscProduct) -> Self222     fn from(value: IWscProduct) -> Self {
223         unsafe { ::std::mem::transmute(value) }
224     }
225 }
226 #[cfg(feature = "Win32_System_Ole_Automation")]
227 impl ::std::convert::From<&IWscProduct> for super::Ole::Automation::IDispatch {
from(value: &IWscProduct) -> Self228     fn from(value: &IWscProduct) -> Self {
229         ::std::convert::From::from(::std::clone::Clone::clone(value))
230     }
231 }
232 #[cfg(feature = "Win32_System_Ole_Automation")]
233 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWscProduct {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>234     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
235         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
236     }
237 }
238 #[cfg(feature = "Win32_System_Ole_Automation")]
239 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWscProduct {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>240     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
241         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
242     }
243 }
244 #[repr(C)]
245 #[doc(hidden)]
246 pub struct IWscProduct_abi(
247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
251     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
252     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
253     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
254     #[cfg(not(feature = "Win32_Foundation"))] usize,
255     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
256     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
257     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
258     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
259     #[cfg(not(feature = "Win32_Foundation"))] usize,
260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut WSC_SECURITY_PRODUCT_STATE) -> ::windows::runtime::HRESULT,
261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut WSC_SECURITY_SIGNATURE_STATUS) -> ::windows::runtime::HRESULT,
262     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
263     #[cfg(not(feature = "Win32_Foundation"))] usize,
264     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
265     #[cfg(not(feature = "Win32_Foundation"))] usize,
266     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
267     #[cfg(not(feature = "Win32_Foundation"))] usize,
268     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
269     #[cfg(not(feature = "Win32_Foundation"))] usize,
270 );
271 #[repr(transparent)]
272 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
273 pub struct IWscProduct2(::windows::runtime::IUnknown);
274 impl IWscProduct2 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>275     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
276         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
277         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
278     }
279     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo>280     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo> {
281         let mut result__: <super::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
282         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::Ole::Automation::ITypeInfo>(result__)
283     }
284     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>285     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
286         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
287     }
288     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>289     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
290         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
291     }
292     #[cfg(feature = "Win32_Foundation")]
ProductName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>293     pub unsafe fn ProductName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
294         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
295         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
296     }
ProductState(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_STATE>297     pub unsafe fn ProductState(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_STATE> {
298         let mut result__: <WSC_SECURITY_PRODUCT_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
299         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_STATE>(result__)
300     }
SignatureStatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_SIGNATURE_STATUS>301     pub unsafe fn SignatureStatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_SIGNATURE_STATUS> {
302         let mut result__: <WSC_SECURITY_SIGNATURE_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
303         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_SIGNATURE_STATUS>(result__)
304     }
305     #[cfg(feature = "Win32_Foundation")]
RemediationPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>306     pub unsafe fn RemediationPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
307         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
308         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
309     }
310     #[cfg(feature = "Win32_Foundation")]
ProductStateTimestamp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>311     pub unsafe fn ProductStateTimestamp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
312         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
313         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
314     }
315     #[cfg(feature = "Win32_Foundation")]
ProductGuid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>316     pub unsafe fn ProductGuid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
317         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
318         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
319     }
320     #[cfg(feature = "Win32_Foundation")]
ProductIsDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>321     pub unsafe fn ProductIsDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
322         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
323         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
324     }
AntivirusScanSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>325     pub unsafe fn AntivirusScanSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
326         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
327         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
328     }
AntivirusSettingsSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>329     pub unsafe fn AntivirusSettingsSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
330         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
331         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
332     }
AntivirusProtectionUpdateSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>333     pub unsafe fn AntivirusProtectionUpdateSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
334         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
335         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
336     }
FirewallDomainProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>337     pub unsafe fn FirewallDomainProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
338         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
339         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
340     }
FirewallPrivateProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>341     pub unsafe fn FirewallPrivateProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
342         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
343         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
344     }
FirewallPublicProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>345     pub unsafe fn FirewallPublicProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
346         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
347         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
348     }
349 }
350 unsafe impl ::windows::runtime::Interface for IWscProduct2 {
351     type Vtable = IWscProduct2_abi;
352     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4170631764, 65033, 17411, [134, 212, 35, 203, 72, 141, 129, 216]);
353 }
354 impl ::std::convert::From<IWscProduct2> for ::windows::runtime::IUnknown {
from(value: IWscProduct2) -> Self355     fn from(value: IWscProduct2) -> Self {
356         unsafe { ::std::mem::transmute(value) }
357     }
358 }
359 impl ::std::convert::From<&IWscProduct2> for ::windows::runtime::IUnknown {
from(value: &IWscProduct2) -> Self360     fn from(value: &IWscProduct2) -> Self {
361         ::std::convert::From::from(::std::clone::Clone::clone(value))
362     }
363 }
364 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWscProduct2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>365     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
366         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
367     }
368 }
369 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWscProduct2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>370     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
371         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
372     }
373 }
374 impl ::std::convert::From<IWscProduct2> for IWscProduct {
from(value: IWscProduct2) -> Self375     fn from(value: IWscProduct2) -> Self {
376         unsafe { ::std::mem::transmute(value) }
377     }
378 }
379 impl ::std::convert::From<&IWscProduct2> for IWscProduct {
from(value: &IWscProduct2) -> Self380     fn from(value: &IWscProduct2) -> Self {
381         ::std::convert::From::from(::std::clone::Clone::clone(value))
382     }
383 }
384 impl<'a> ::windows::runtime::IntoParam<'a, IWscProduct> for IWscProduct2 {
into_param(self) -> ::windows::runtime::Param<'a, IWscProduct>385     fn into_param(self) -> ::windows::runtime::Param<'a, IWscProduct> {
386         ::windows::runtime::Param::Owned(::std::convert::Into::<IWscProduct>::into(self))
387     }
388 }
389 impl<'a> ::windows::runtime::IntoParam<'a, IWscProduct> for &IWscProduct2 {
into_param(self) -> ::windows::runtime::Param<'a, IWscProduct>390     fn into_param(self) -> ::windows::runtime::Param<'a, IWscProduct> {
391         ::windows::runtime::Param::Owned(::std::convert::Into::<IWscProduct>::into(::std::clone::Clone::clone(self)))
392     }
393 }
394 #[cfg(feature = "Win32_System_Ole_Automation")]
395 impl ::std::convert::From<IWscProduct2> for super::Ole::Automation::IDispatch {
from(value: IWscProduct2) -> Self396     fn from(value: IWscProduct2) -> Self {
397         unsafe { ::std::mem::transmute(value) }
398     }
399 }
400 #[cfg(feature = "Win32_System_Ole_Automation")]
401 impl ::std::convert::From<&IWscProduct2> for super::Ole::Automation::IDispatch {
from(value: &IWscProduct2) -> Self402     fn from(value: &IWscProduct2) -> Self {
403         ::std::convert::From::from(::std::clone::Clone::clone(value))
404     }
405 }
406 #[cfg(feature = "Win32_System_Ole_Automation")]
407 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWscProduct2 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>408     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
409         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
410     }
411 }
412 #[cfg(feature = "Win32_System_Ole_Automation")]
413 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWscProduct2 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>414     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
415         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
416     }
417 }
418 #[repr(C)]
419 #[doc(hidden)]
420 pub struct IWscProduct2_abi(
421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
425     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
426     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
427     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
428     #[cfg(not(feature = "Win32_Foundation"))] usize,
429     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
430     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
431     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
432     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
433     #[cfg(not(feature = "Win32_Foundation"))] usize,
434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut WSC_SECURITY_PRODUCT_STATE) -> ::windows::runtime::HRESULT,
435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut WSC_SECURITY_SIGNATURE_STATUS) -> ::windows::runtime::HRESULT,
436     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
437     #[cfg(not(feature = "Win32_Foundation"))] usize,
438     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
439     #[cfg(not(feature = "Win32_Foundation"))] usize,
440     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
441     #[cfg(not(feature = "Win32_Foundation"))] usize,
442     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
443     #[cfg(not(feature = "Win32_Foundation"))] usize,
444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
450 );
451 #[repr(transparent)]
452 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
453 pub struct IWscProduct3(::windows::runtime::IUnknown);
454 impl IWscProduct3 {
GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32>455     pub unsafe fn GetTypeInfoCount(&self) -> ::windows::runtime::Result<u32> {
456         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
457         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
458     }
459     #[cfg(feature = "Win32_System_Ole_Automation")]
GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo>460     pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows::runtime::Result<super::Ole::Automation::ITypeInfo> {
461         let mut result__: <super::Ole::Automation::ITypeInfo as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
462         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(itinfo), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::Ole::Automation::ITypeInfo>(result__)
463     }
464     #[cfg(feature = "Win32_Foundation")]
GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()>465     pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::Result<()> {
466         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(rgsznames), ::std::mem::transmute(cnames), ::std::mem::transmute(lcid), ::std::mem::transmute(rgdispid)).ok()
467     }
468     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()>469     pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut super::Com::VARIANT, pexcepinfo: *mut super::Ole::Automation::EXCEPINFO, puargerr: *mut u32) -> ::windows::runtime::Result<()> {
470         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dispidmember), ::std::mem::transmute(riid), ::std::mem::transmute(lcid), ::std::mem::transmute(wflags), ::std::mem::transmute(pdispparams), ::std::mem::transmute(pvarresult), ::std::mem::transmute(pexcepinfo), ::std::mem::transmute(puargerr)).ok()
471     }
472     #[cfg(feature = "Win32_Foundation")]
ProductName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>473     pub unsafe fn ProductName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
474         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
475         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
476     }
ProductState(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_STATE>477     pub unsafe fn ProductState(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_STATE> {
478         let mut result__: <WSC_SECURITY_PRODUCT_STATE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
479         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_STATE>(result__)
480     }
SignatureStatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_SIGNATURE_STATUS>481     pub unsafe fn SignatureStatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_SIGNATURE_STATUS> {
482         let mut result__: <WSC_SECURITY_SIGNATURE_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
483         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_SIGNATURE_STATUS>(result__)
484     }
485     #[cfg(feature = "Win32_Foundation")]
RemediationPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>486     pub unsafe fn RemediationPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
487         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
488         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
489     }
490     #[cfg(feature = "Win32_Foundation")]
ProductStateTimestamp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>491     pub unsafe fn ProductStateTimestamp(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
492         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
493         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
494     }
495     #[cfg(feature = "Win32_Foundation")]
ProductGuid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>496     pub unsafe fn ProductGuid(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
497         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
498         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
499     }
500     #[cfg(feature = "Win32_Foundation")]
ProductIsDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>501     pub unsafe fn ProductIsDefault(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
502         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
503         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
504     }
AntivirusScanSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>505     pub unsafe fn AntivirusScanSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
506         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
507         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
508     }
AntivirusSettingsSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>509     pub unsafe fn AntivirusSettingsSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
510         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
511         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
512     }
AntivirusProtectionUpdateSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>513     pub unsafe fn AntivirusProtectionUpdateSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
514         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
515         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
516     }
FirewallDomainProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>517     pub unsafe fn FirewallDomainProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
518         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
519         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
520     }
FirewallPrivateProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>521     pub unsafe fn FirewallPrivateProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
522         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
523         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
524     }
FirewallPublicProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS>525     pub unsafe fn FirewallPublicProfileSubstatus(&self) -> ::windows::runtime::Result<WSC_SECURITY_PRODUCT_SUBSTATUS> {
526         let mut result__: <WSC_SECURITY_PRODUCT_SUBSTATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
527         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<WSC_SECURITY_PRODUCT_SUBSTATUS>(result__)
528     }
AntivirusDaysUntilExpired(&self) -> ::windows::runtime::Result<u32>529     pub unsafe fn AntivirusDaysUntilExpired(&self) -> ::windows::runtime::Result<u32> {
530         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
531         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
532     }
533 }
534 unsafe impl ::windows::runtime::Interface for IWscProduct3 {
535     type Vtable = IWscProduct3_abi;
536     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1431528740, 53713, 18214, [140, 124, 4, 153, 106, 25, 4, 231]);
537 }
538 impl ::std::convert::From<IWscProduct3> for ::windows::runtime::IUnknown {
from(value: IWscProduct3) -> Self539     fn from(value: IWscProduct3) -> Self {
540         unsafe { ::std::mem::transmute(value) }
541     }
542 }
543 impl ::std::convert::From<&IWscProduct3> for ::windows::runtime::IUnknown {
from(value: &IWscProduct3) -> Self544     fn from(value: &IWscProduct3) -> Self {
545         ::std::convert::From::from(::std::clone::Clone::clone(value))
546     }
547 }
548 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>549     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
550         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
551     }
552 }
553 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>554     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
555         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
556     }
557 }
558 impl ::std::convert::From<IWscProduct3> for IWscProduct2 {
from(value: IWscProduct3) -> Self559     fn from(value: IWscProduct3) -> Self {
560         unsafe { ::std::mem::transmute(value) }
561     }
562 }
563 impl ::std::convert::From<&IWscProduct3> for IWscProduct2 {
from(value: &IWscProduct3) -> Self564     fn from(value: &IWscProduct3) -> Self {
565         ::std::convert::From::from(::std::clone::Clone::clone(value))
566     }
567 }
568 impl<'a> ::windows::runtime::IntoParam<'a, IWscProduct2> for IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, IWscProduct2>569     fn into_param(self) -> ::windows::runtime::Param<'a, IWscProduct2> {
570         ::windows::runtime::Param::Owned(::std::convert::Into::<IWscProduct2>::into(self))
571     }
572 }
573 impl<'a> ::windows::runtime::IntoParam<'a, IWscProduct2> for &IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, IWscProduct2>574     fn into_param(self) -> ::windows::runtime::Param<'a, IWscProduct2> {
575         ::windows::runtime::Param::Owned(::std::convert::Into::<IWscProduct2>::into(::std::clone::Clone::clone(self)))
576     }
577 }
578 impl ::std::convert::From<IWscProduct3> for IWscProduct {
from(value: IWscProduct3) -> Self579     fn from(value: IWscProduct3) -> Self {
580         unsafe { ::std::mem::transmute(value) }
581     }
582 }
583 impl ::std::convert::From<&IWscProduct3> for IWscProduct {
from(value: &IWscProduct3) -> Self584     fn from(value: &IWscProduct3) -> Self {
585         ::std::convert::From::from(::std::clone::Clone::clone(value))
586     }
587 }
588 impl<'a> ::windows::runtime::IntoParam<'a, IWscProduct> for IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, IWscProduct>589     fn into_param(self) -> ::windows::runtime::Param<'a, IWscProduct> {
590         ::windows::runtime::Param::Owned(::std::convert::Into::<IWscProduct>::into(self))
591     }
592 }
593 impl<'a> ::windows::runtime::IntoParam<'a, IWscProduct> for &IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, IWscProduct>594     fn into_param(self) -> ::windows::runtime::Param<'a, IWscProduct> {
595         ::windows::runtime::Param::Owned(::std::convert::Into::<IWscProduct>::into(::std::clone::Clone::clone(self)))
596     }
597 }
598 #[cfg(feature = "Win32_System_Ole_Automation")]
599 impl ::std::convert::From<IWscProduct3> for super::Ole::Automation::IDispatch {
from(value: IWscProduct3) -> Self600     fn from(value: IWscProduct3) -> Self {
601         unsafe { ::std::mem::transmute(value) }
602     }
603 }
604 #[cfg(feature = "Win32_System_Ole_Automation")]
605 impl ::std::convert::From<&IWscProduct3> for super::Ole::Automation::IDispatch {
from(value: &IWscProduct3) -> Self606     fn from(value: &IWscProduct3) -> Self {
607         ::std::convert::From::from(::std::clone::Clone::clone(value))
608     }
609 }
610 #[cfg(feature = "Win32_System_Ole_Automation")]
611 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>612     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
613         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(self))
614     }
615 }
616 #[cfg(feature = "Win32_System_Ole_Automation")]
617 impl<'a> ::windows::runtime::IntoParam<'a, super::Ole::Automation::IDispatch> for &IWscProduct3 {
into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch>618     fn into_param(self) -> ::windows::runtime::Param<'a, super::Ole::Automation::IDispatch> {
619         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Ole::Automation::IDispatch>::into(::std::clone::Clone::clone(self)))
620     }
621 }
622 #[repr(C)]
623 #[doc(hidden)]
624 pub struct IWscProduct3_abi(
625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pctinfo: *mut u32) -> ::windows::runtime::HRESULT,
629     #[cfg(feature = "Win32_System_Ole_Automation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itinfo: u32, lcid: u32, pptinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
630     #[cfg(not(feature = "Win32_System_Ole_Automation"))] usize,
631     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, rgsznames: *const super::super::Foundation::PWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows::runtime::HRESULT,
632     #[cfg(not(feature = "Win32_Foundation"))] usize,
633     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation"))]
634     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dispidmember: i32, riid: *const ::windows::runtime::GUID, lcid: u32, wflags: u16, pdispparams: *const super::Ole::Automation::DISPPARAMS, pvarresult: *mut ::std::mem::ManuallyDrop<super::Com::VARIANT>, pexcepinfo: *mut ::std::mem::ManuallyDrop<super::Ole::Automation::EXCEPINFO>, puargerr: *mut u32) -> ::windows::runtime::HRESULT,
635     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole_Automation")))] usize,
636     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
637     #[cfg(not(feature = "Win32_Foundation"))] usize,
638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut WSC_SECURITY_PRODUCT_STATE) -> ::windows::runtime::HRESULT,
639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut WSC_SECURITY_SIGNATURE_STATUS) -> ::windows::runtime::HRESULT,
640     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
641     #[cfg(not(feature = "Win32_Foundation"))] usize,
642     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
643     #[cfg(not(feature = "Win32_Foundation"))] usize,
644     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
645     #[cfg(not(feature = "Win32_Foundation"))] usize,
646     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pval: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
647     #[cfg(not(feature = "Win32_Foundation"))] usize,
648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pestatus: *mut WSC_SECURITY_PRODUCT_SUBSTATUS) -> ::windows::runtime::HRESULT,
654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwdays: *mut u32) -> ::windows::runtime::HRESULT,
655 );
656 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
657 #[repr(transparent)]
658 pub struct SECURITY_PRODUCT_TYPE(pub i32);
659 pub const SECURITY_PRODUCT_TYPE_ANTIVIRUS: SECURITY_PRODUCT_TYPE = SECURITY_PRODUCT_TYPE(0i32);
660 pub const SECURITY_PRODUCT_TYPE_FIREWALL: SECURITY_PRODUCT_TYPE = SECURITY_PRODUCT_TYPE(1i32);
661 pub const SECURITY_PRODUCT_TYPE_ANTISPYWARE: SECURITY_PRODUCT_TYPE = SECURITY_PRODUCT_TYPE(2i32);
662 impl ::std::convert::From<i32> for SECURITY_PRODUCT_TYPE {
from(value: i32) -> Self663     fn from(value: i32) -> Self {
664         Self(value)
665     }
666 }
667 unsafe impl ::windows::runtime::Abi for SECURITY_PRODUCT_TYPE {
668     type Abi = Self;
669     type DefaultType = Self;
670 }
671 pub const WSCDefaultProduct: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(696361838, 61997, 4581, [156, 233, 94, 85, 23, 80, 124, 102]);
672 pub const WSCProductList: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(386346875, 39614, 19060, [162, 97, 30, 183, 107, 85, 16, 122]);
673 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
674 #[repr(transparent)]
675 pub struct WSC_SECURITY_PRODUCT_STATE(pub i32);
676 pub const WSC_SECURITY_PRODUCT_STATE_ON: WSC_SECURITY_PRODUCT_STATE = WSC_SECURITY_PRODUCT_STATE(0i32);
677 pub const WSC_SECURITY_PRODUCT_STATE_OFF: WSC_SECURITY_PRODUCT_STATE = WSC_SECURITY_PRODUCT_STATE(1i32);
678 pub const WSC_SECURITY_PRODUCT_STATE_SNOOZED: WSC_SECURITY_PRODUCT_STATE = WSC_SECURITY_PRODUCT_STATE(2i32);
679 pub const WSC_SECURITY_PRODUCT_STATE_EXPIRED: WSC_SECURITY_PRODUCT_STATE = WSC_SECURITY_PRODUCT_STATE(3i32);
680 impl ::std::convert::From<i32> for WSC_SECURITY_PRODUCT_STATE {
from(value: i32) -> Self681     fn from(value: i32) -> Self {
682         Self(value)
683     }
684 }
685 unsafe impl ::windows::runtime::Abi for WSC_SECURITY_PRODUCT_STATE {
686     type Abi = Self;
687     type DefaultType = Self;
688 }
689 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
690 #[repr(transparent)]
691 pub struct WSC_SECURITY_PRODUCT_SUBSTATUS(pub i32);
692 pub const WSC_SECURITY_PRODUCT_SUBSTATUS_NOT_SET: WSC_SECURITY_PRODUCT_SUBSTATUS = WSC_SECURITY_PRODUCT_SUBSTATUS(0i32);
693 pub const WSC_SECURITY_PRODUCT_SUBSTATUS_NO_ACTION: WSC_SECURITY_PRODUCT_SUBSTATUS = WSC_SECURITY_PRODUCT_SUBSTATUS(1i32);
694 pub const WSC_SECURITY_PRODUCT_SUBSTATUS_ACTION_RECOMMENDED: WSC_SECURITY_PRODUCT_SUBSTATUS = WSC_SECURITY_PRODUCT_SUBSTATUS(2i32);
695 pub const WSC_SECURITY_PRODUCT_SUBSTATUS_ACTION_NEEDED: WSC_SECURITY_PRODUCT_SUBSTATUS = WSC_SECURITY_PRODUCT_SUBSTATUS(3i32);
696 impl ::std::convert::From<i32> for WSC_SECURITY_PRODUCT_SUBSTATUS {
from(value: i32) -> Self697     fn from(value: i32) -> Self {
698         Self(value)
699     }
700 }
701 unsafe impl ::windows::runtime::Abi for WSC_SECURITY_PRODUCT_SUBSTATUS {
702     type Abi = Self;
703     type DefaultType = Self;
704 }
705 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
706 #[repr(transparent)]
707 pub struct WSC_SECURITY_PROVIDER(pub i32);
708 pub const WSC_SECURITY_PROVIDER_FIREWALL: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(1i32);
709 pub const WSC_SECURITY_PROVIDER_AUTOUPDATE_SETTINGS: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(2i32);
710 pub const WSC_SECURITY_PROVIDER_ANTIVIRUS: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(4i32);
711 pub const WSC_SECURITY_PROVIDER_ANTISPYWARE: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(8i32);
712 pub const WSC_SECURITY_PROVIDER_INTERNET_SETTINGS: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(16i32);
713 pub const WSC_SECURITY_PROVIDER_USER_ACCOUNT_CONTROL: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(32i32);
714 pub const WSC_SECURITY_PROVIDER_SERVICE: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(64i32);
715 pub const WSC_SECURITY_PROVIDER_NONE: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(0i32);
716 pub const WSC_SECURITY_PROVIDER_ALL: WSC_SECURITY_PROVIDER = WSC_SECURITY_PROVIDER(127i32);
717 impl ::std::convert::From<i32> for WSC_SECURITY_PROVIDER {
from(value: i32) -> Self718     fn from(value: i32) -> Self {
719         Self(value)
720     }
721 }
722 unsafe impl ::windows::runtime::Abi for WSC_SECURITY_PROVIDER {
723     type Abi = Self;
724     type DefaultType = Self;
725 }
726 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
727 #[repr(transparent)]
728 pub struct WSC_SECURITY_PROVIDER_HEALTH(pub i32);
729 pub const WSC_SECURITY_PROVIDER_HEALTH_GOOD: WSC_SECURITY_PROVIDER_HEALTH = WSC_SECURITY_PROVIDER_HEALTH(0i32);
730 pub const WSC_SECURITY_PROVIDER_HEALTH_NOTMONITORED: WSC_SECURITY_PROVIDER_HEALTH = WSC_SECURITY_PROVIDER_HEALTH(1i32);
731 pub const WSC_SECURITY_PROVIDER_HEALTH_POOR: WSC_SECURITY_PROVIDER_HEALTH = WSC_SECURITY_PROVIDER_HEALTH(2i32);
732 pub const WSC_SECURITY_PROVIDER_HEALTH_SNOOZE: WSC_SECURITY_PROVIDER_HEALTH = WSC_SECURITY_PROVIDER_HEALTH(3i32);
733 impl ::std::convert::From<i32> for WSC_SECURITY_PROVIDER_HEALTH {
from(value: i32) -> Self734     fn from(value: i32) -> Self {
735         Self(value)
736     }
737 }
738 unsafe impl ::windows::runtime::Abi for WSC_SECURITY_PROVIDER_HEALTH {
739     type Abi = Self;
740     type DefaultType = Self;
741 }
742 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
743 #[repr(transparent)]
744 pub struct WSC_SECURITY_SIGNATURE_STATUS(pub i32);
745 pub const WSC_SECURITY_PRODUCT_OUT_OF_DATE: WSC_SECURITY_SIGNATURE_STATUS = WSC_SECURITY_SIGNATURE_STATUS(0i32);
746 pub const WSC_SECURITY_PRODUCT_UP_TO_DATE: WSC_SECURITY_SIGNATURE_STATUS = WSC_SECURITY_SIGNATURE_STATUS(1i32);
747 impl ::std::convert::From<i32> for WSC_SECURITY_SIGNATURE_STATUS {
from(value: i32) -> Self748     fn from(value: i32) -> Self {
749         Self(value)
750     }
751 }
752 unsafe impl ::windows::runtime::Abi for WSC_SECURITY_SIGNATURE_STATUS {
753     type Abi = Self;
754     type DefaultType = Self;
755 }
756 #[cfg(feature = "Win32_Foundation")]
757 #[inline]
WscGetAntiMalwareUri() -> ::windows::runtime::Result<super::super::Foundation::PWSTR>758 pub unsafe fn WscGetAntiMalwareUri() -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
759     #[cfg(windows)]
760     {
761         #[link(name = "windows")]
762         extern "system" {
763             fn WscGetAntiMalwareUri(ppszuri: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
764         }
765         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
766         WscGetAntiMalwareUri(&mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
767     }
768     #[cfg(not(windows))]
769     unimplemented!("Unsupported target OS");
770 }
771 #[inline]
WscGetSecurityProviderHealth(providers: u32, phealth: *mut WSC_SECURITY_PROVIDER_HEALTH) -> ::windows::runtime::Result<()>772 pub unsafe fn WscGetSecurityProviderHealth(providers: u32, phealth: *mut WSC_SECURITY_PROVIDER_HEALTH) -> ::windows::runtime::Result<()> {
773     #[cfg(windows)]
774     {
775         #[link(name = "windows")]
776         extern "system" {
777             fn WscGetSecurityProviderHealth(providers: u32, phealth: *mut WSC_SECURITY_PROVIDER_HEALTH) -> ::windows::runtime::HRESULT;
778         }
779         WscGetSecurityProviderHealth(::std::mem::transmute(providers), ::std::mem::transmute(phealth)).ok()
780     }
781     #[cfg(not(windows))]
782     unimplemented!("Unsupported target OS");
783 }
784 #[inline]
WscQueryAntiMalwareUri() -> ::windows::runtime::Result<()>785 pub unsafe fn WscQueryAntiMalwareUri() -> ::windows::runtime::Result<()> {
786     #[cfg(windows)]
787     {
788         #[link(name = "windows")]
789         extern "system" {
790             fn WscQueryAntiMalwareUri() -> ::windows::runtime::HRESULT;
791         }
792         WscQueryAntiMalwareUri().ok()
793     }
794     #[cfg(not(windows))]
795     unimplemented!("Unsupported target OS");
796 }
797 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_SystemServices"))]
798 #[inline]
WscRegisterForChanges(reserved: *mut ::std::ffi::c_void, phcallbackregistration: *mut super::super::Foundation::HANDLE, lpcallbackaddress: ::std::option::Option<super::SystemServices::LPTHREAD_START_ROUTINE>, pcontext: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>799 pub unsafe fn WscRegisterForChanges(reserved: *mut ::std::ffi::c_void, phcallbackregistration: *mut super::super::Foundation::HANDLE, lpcallbackaddress: ::std::option::Option<super::SystemServices::LPTHREAD_START_ROUTINE>, pcontext: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
800     #[cfg(windows)]
801     {
802         #[link(name = "windows")]
803         extern "system" {
804             fn WscRegisterForChanges(reserved: *mut ::std::ffi::c_void, phcallbackregistration: *mut super::super::Foundation::HANDLE, lpcallbackaddress: ::windows::runtime::RawPtr, pcontext: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
805         }
806         WscRegisterForChanges(::std::mem::transmute(reserved), ::std::mem::transmute(phcallbackregistration), ::std::mem::transmute(lpcallbackaddress), ::std::mem::transmute(pcontext)).ok()
807     }
808     #[cfg(not(windows))]
809     unimplemented!("Unsupported target OS");
810 }
811 #[inline]
WscRegisterForUserNotifications() -> ::windows::runtime::Result<()>812 pub unsafe fn WscRegisterForUserNotifications() -> ::windows::runtime::Result<()> {
813     #[cfg(windows)]
814     {
815         #[link(name = "windows")]
816         extern "system" {
817             fn WscRegisterForUserNotifications() -> ::windows::runtime::HRESULT;
818         }
819         WscRegisterForUserNotifications().ok()
820     }
821     #[cfg(not(windows))]
822     unimplemented!("Unsupported target OS");
823 }
824 #[cfg(feature = "Win32_Foundation")]
825 #[inline]
WscUnRegisterChanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hregistrationhandle: Param0) -> ::windows::runtime::Result<()>826 pub unsafe fn WscUnRegisterChanges<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HANDLE>>(hregistrationhandle: Param0) -> ::windows::runtime::Result<()> {
827     #[cfg(windows)]
828     {
829         #[link(name = "windows")]
830         extern "system" {
831             fn WscUnRegisterChanges(hregistrationhandle: super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT;
832         }
833         WscUnRegisterChanges(hregistrationhandle.into_param().abi()).ok()
834     }
835     #[cfg(not(windows))]
836     unimplemented!("Unsupported target OS");
837 }
838