]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Win32/Security/Cryptography/Certificates/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Security / Cryptography / Certificates / impl.rs
1 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"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 IAlternativeName_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4 fn InitializeFromString(&self, r#type: AlternativeNameType, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5 fn InitializeFromRawData(&self, r#type: AlternativeNameType, encoding: EncodingType, strrawdata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6 fn InitializeFromOtherName(&self, pobjectid: ::core::option::Option<&IObjectId>, encoding: EncodingType, strrawdata: &::windows::core::BSTR, tobewrapped: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
7 fn Type(&self) -> ::windows::core::Result<AlternativeNameType>;
8 fn StrValue(&self) -> ::windows::core::Result<::windows::core::BSTR>;
9 fn ObjectId(&self) -> ::windows::core::Result<IObjectId>;
10 fn get_RawData(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
11 }
12 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13 impl ::windows::core::RuntimeName for IAlternativeName {}
14 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15 impl IAlternativeName_Vtbl {
16 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>() -> IAlternativeName_Vtbl {
17 unsafe extern "system" fn InitializeFromString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: AlternativeNameType, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
18 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
19 let this = (*this).get_impl();
20 this.InitializeFromString(::core::mem::transmute_copy(&r#type), ::core::mem::transmute(&strvalue)).into()
21 }
22 unsafe extern "system" fn InitializeFromRawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: AlternativeNameType, encoding: EncodingType, strrawdata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
23 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
24 let this = (*this).get_impl();
25 this.InitializeFromRawData(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrawdata)).into()
26 }
27 unsafe extern "system" fn InitializeFromOtherName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, encoding: EncodingType, strrawdata: ::std::mem::MaybeUninit<::windows::core::BSTR>, tobewrapped: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
28 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
29 let this = (*this).get_impl();
30 this.InitializeFromOtherName(::windows::core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrawdata), ::core::mem::transmute_copy(&tobewrapped)).into()
31 }
32 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut AlternativeNameType) -> ::windows::core::HRESULT {
33 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
34 let this = (*this).get_impl();
35 match this.Type() {
36 ::core::result::Result::Ok(ok__) => {
37 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
38 ::windows::core::HRESULT(0)
39 }
40 ::core::result::Result::Err(err) => err.into(),
41 }
42 }
43 unsafe extern "system" fn StrValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
44 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
45 let this = (*this).get_impl();
46 match this.StrValue() {
47 ::core::result::Result::Ok(ok__) => {
48 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
49 ::windows::core::HRESULT(0)
50 }
51 ::core::result::Result::Err(err) => err.into(),
52 }
53 }
54 unsafe extern "system" fn ObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
55 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
56 let this = (*this).get_impl();
57 match this.ObjectId() {
58 ::core::result::Result::Ok(ok__) => {
59 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
60 ::windows::core::HRESULT(0)
61 }
62 ::core::result::Result::Err(err) => err.into(),
63 }
64 }
65 unsafe extern "system" fn get_RawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
66 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
67 let this = (*this).get_impl();
68 match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
69 ::core::result::Result::Ok(ok__) => {
70 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
71 ::windows::core::HRESULT(0)
72 }
73 ::core::result::Result::Err(err) => err.into(),
74 }
75 }
76 Self {
77 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
78 InitializeFromString: InitializeFromString::<Identity, Impl, OFFSET>,
79 InitializeFromRawData: InitializeFromRawData::<Identity, Impl, OFFSET>,
80 InitializeFromOtherName: InitializeFromOtherName::<Identity, Impl, OFFSET>,
81 Type: Type::<Identity, Impl, OFFSET>,
82 StrValue: StrValue::<Identity, Impl, OFFSET>,
83 ObjectId: ObjectId::<Identity, Impl, OFFSET>,
84 get_RawData: get_RawData::<Identity, Impl, OFFSET>,
85 }
86 }
87 pub fn matches(iid: &windows::core::GUID) -> bool {
88 iid == &<IAlternativeName as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
89 }
90 }
91 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
92 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
93 pub trait IAlternativeNames_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
94 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IAlternativeName>;
95 fn Count(&self) -> ::windows::core::Result<i32>;
96 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
97 fn Add(&self, pval: ::core::option::Option<&IAlternativeName>) -> ::windows::core::Result<()>;
98 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
99 fn Clear(&self) -> ::windows::core::Result<()>;
100 }
101 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
102 impl ::windows::core::RuntimeName for IAlternativeNames {}
103 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
104 impl IAlternativeNames_Vtbl {
105 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>() -> IAlternativeNames_Vtbl {
106 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
107 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
108 let this = (*this).get_impl();
109 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
110 ::core::result::Result::Ok(ok__) => {
111 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
112 ::windows::core::HRESULT(0)
113 }
114 ::core::result::Result::Err(err) => err.into(),
115 }
116 }
117 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
118 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
119 let this = (*this).get_impl();
120 match this.Count() {
121 ::core::result::Result::Ok(ok__) => {
122 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
123 ::windows::core::HRESULT(0)
124 }
125 ::core::result::Result::Err(err) => err.into(),
126 }
127 }
128 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
129 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
130 let this = (*this).get_impl();
131 match this._NewEnum() {
132 ::core::result::Result::Ok(ok__) => {
133 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
134 ::windows::core::HRESULT(0)
135 }
136 ::core::result::Result::Err(err) => err.into(),
137 }
138 }
139 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
140 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
141 let this = (*this).get_impl();
142 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
143 }
144 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
145 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
146 let this = (*this).get_impl();
147 this.Remove(::core::mem::transmute_copy(&index)).into()
148 }
149 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
150 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
151 let this = (*this).get_impl();
152 this.Clear().into()
153 }
154 Self {
155 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
156 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
157 Count: Count::<Identity, Impl, OFFSET>,
158 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
159 Add: Add::<Identity, Impl, OFFSET>,
160 Remove: Remove::<Identity, Impl, OFFSET>,
161 Clear: Clear::<Identity, Impl, OFFSET>,
162 }
163 }
164 pub fn matches(iid: &windows::core::GUID) -> bool {
165 iid == &<IAlternativeNames as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
166 }
167 }
168 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
169 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
170 pub trait IBinaryConverter_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
171 fn StringToString(&self, strencodedin: &::windows::core::BSTR, encodingin: EncodingType, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
172 fn VariantByteArrayToString(&self, pvarbytearray: *const super::super::super::System::Com::VARIANT, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
173 fn StringToVariantByteArray(&self, strencoded: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
174 }
175 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
176 impl ::windows::core::RuntimeName for IBinaryConverter {}
177 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
178 impl IBinaryConverter_Vtbl {
179 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>() -> IBinaryConverter_Vtbl {
180 unsafe extern "system" fn StringToString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodedin: ::std::mem::MaybeUninit<::windows::core::BSTR>, encodingin: EncodingType, encoding: EncodingType, pstrencoded: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
181 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
182 let this = (*this).get_impl();
183 match this.StringToString(::core::mem::transmute(&strencodedin), ::core::mem::transmute_copy(&encodingin), ::core::mem::transmute_copy(&encoding)) {
184 ::core::result::Result::Ok(ok__) => {
185 ::core::ptr::write(pstrencoded, ::core::mem::transmute(ok__));
186 ::windows::core::HRESULT(0)
187 }
188 ::core::result::Result::Err(err) => err.into(),
189 }
190 }
191 unsafe extern "system" fn VariantByteArrayToString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarbytearray: *const super::super::super::System::Com::VARIANT, encoding: EncodingType, pstrencoded: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
192 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
193 let this = (*this).get_impl();
194 match this.VariantByteArrayToString(::core::mem::transmute_copy(&pvarbytearray), ::core::mem::transmute_copy(&encoding)) {
195 ::core::result::Result::Ok(ok__) => {
196 ::core::ptr::write(pstrencoded, ::core::mem::transmute(ok__));
197 ::windows::core::HRESULT(0)
198 }
199 ::core::result::Result::Err(err) => err.into(),
200 }
201 }
202 unsafe extern "system" fn StringToVariantByteArray<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencoded: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, pvarbytearray: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
203 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
204 let this = (*this).get_impl();
205 match this.StringToVariantByteArray(::core::mem::transmute(&strencoded), ::core::mem::transmute_copy(&encoding)) {
206 ::core::result::Result::Ok(ok__) => {
207 ::core::ptr::write(pvarbytearray, ::core::mem::transmute(ok__));
208 ::windows::core::HRESULT(0)
209 }
210 ::core::result::Result::Err(err) => err.into(),
211 }
212 }
213 Self {
214 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
215 StringToString: StringToString::<Identity, Impl, OFFSET>,
216 VariantByteArrayToString: VariantByteArrayToString::<Identity, Impl, OFFSET>,
217 StringToVariantByteArray: StringToVariantByteArray::<Identity, Impl, OFFSET>,
218 }
219 }
220 pub fn matches(iid: &windows::core::GUID) -> bool {
221 iid == &<IBinaryConverter as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
222 }
223 }
224 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
225 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
226 pub trait IBinaryConverter2_Impl: Sized + IBinaryConverter_Impl {
227 fn StringArrayToVariantArray(&self, pvarstringarray: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
228 fn VariantArrayToStringArray(&self, pvarvariantarray: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
229 }
230 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
231 impl ::windows::core::RuntimeName for IBinaryConverter2 {}
232 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
233 impl IBinaryConverter2_Vtbl {
234 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter2_Impl, const OFFSET: isize>() -> IBinaryConverter2_Vtbl {
235 unsafe extern "system" fn StringArrayToVariantArray<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarstringarray: *const super::super::super::System::Com::VARIANT, pvarvariantarray: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
236 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
237 let this = (*this).get_impl();
238 match this.StringArrayToVariantArray(::core::mem::transmute_copy(&pvarstringarray)) {
239 ::core::result::Result::Ok(ok__) => {
240 ::core::ptr::write(pvarvariantarray, ::core::mem::transmute(ok__));
241 ::windows::core::HRESULT(0)
242 }
243 ::core::result::Result::Err(err) => err.into(),
244 }
245 }
246 unsafe extern "system" fn VariantArrayToStringArray<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IBinaryConverter2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarvariantarray: *const super::super::super::System::Com::VARIANT, pvarstringarray: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
247 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
248 let this = (*this).get_impl();
249 match this.VariantArrayToStringArray(::core::mem::transmute_copy(&pvarvariantarray)) {
250 ::core::result::Result::Ok(ok__) => {
251 ::core::ptr::write(pvarstringarray, ::core::mem::transmute(ok__));
252 ::windows::core::HRESULT(0)
253 }
254 ::core::result::Result::Err(err) => err.into(),
255 }
256 }
257 Self {
258 base__: IBinaryConverter_Vtbl::new::<Identity, Impl, OFFSET>(),
259 StringArrayToVariantArray: StringArrayToVariantArray::<Identity, Impl, OFFSET>,
260 VariantArrayToStringArray: VariantArrayToStringArray::<Identity, Impl, OFFSET>,
261 }
262 }
263 pub fn matches(iid: &windows::core::GUID) -> bool {
264 iid == &<IBinaryConverter2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IBinaryConverter as ::windows::core::ComInterface>::IID
265 }
266 }
267 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
268 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
269 pub trait ICEnroll_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
270 fn createFilePKCS10(&self, dnname: &::windows::core::BSTR, usage: &::windows::core::BSTR, wszpkcs10filename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
271 fn acceptFilePKCS7(&self, wszpkcs7filename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
272 fn createPKCS10(&self, dnname: &::windows::core::BSTR, usage: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
273 fn acceptPKCS7(&self, pkcs7: &::windows::core::BSTR) -> ::windows::core::Result<()>;
274 fn getCertFromPKCS7(&self, wszpkcs7: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
275 fn enumProviders(&self, dwindex: i32, dwflags: i32) -> ::windows::core::Result<::windows::core::BSTR>;
276 fn enumContainers(&self, dwindex: i32) -> ::windows::core::Result<::windows::core::BSTR>;
277 fn freeRequestInfo(&self, pkcs7orpkcs10: &::windows::core::BSTR) -> ::windows::core::Result<()>;
278 fn MyStoreName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
279 fn SetMyStoreName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
280 fn MyStoreType(&self) -> ::windows::core::Result<::windows::core::BSTR>;
281 fn SetMyStoreType(&self, bstrtype: &::windows::core::BSTR) -> ::windows::core::Result<()>;
282 fn MyStoreFlags(&self) -> ::windows::core::Result<i32>;
283 fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
284 fn CAStoreName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
285 fn SetCAStoreName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
286 fn CAStoreType(&self) -> ::windows::core::Result<::windows::core::BSTR>;
287 fn SetCAStoreType(&self, bstrtype: &::windows::core::BSTR) -> ::windows::core::Result<()>;
288 fn CAStoreFlags(&self) -> ::windows::core::Result<i32>;
289 fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
290 fn RootStoreName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
291 fn SetRootStoreName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
292 fn RootStoreType(&self) -> ::windows::core::Result<::windows::core::BSTR>;
293 fn SetRootStoreType(&self, bstrtype: &::windows::core::BSTR) -> ::windows::core::Result<()>;
294 fn RootStoreFlags(&self) -> ::windows::core::Result<i32>;
295 fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
296 fn RequestStoreName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
297 fn SetRequestStoreName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
298 fn RequestStoreType(&self) -> ::windows::core::Result<::windows::core::BSTR>;
299 fn SetRequestStoreType(&self, bstrtype: &::windows::core::BSTR) -> ::windows::core::Result<()>;
300 fn RequestStoreFlags(&self) -> ::windows::core::Result<i32>;
301 fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
302 fn ContainerName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
303 fn SetContainerName(&self, bstrcontainer: &::windows::core::BSTR) -> ::windows::core::Result<()>;
304 fn ProviderName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
305 fn SetProviderName(&self, bstrprovider: &::windows::core::BSTR) -> ::windows::core::Result<()>;
306 fn ProviderType(&self) -> ::windows::core::Result<i32>;
307 fn SetProviderType(&self, dwtype: i32) -> ::windows::core::Result<()>;
308 fn KeySpec(&self) -> ::windows::core::Result<i32>;
309 fn SetKeySpec(&self, dw: i32) -> ::windows::core::Result<()>;
310 fn ProviderFlags(&self) -> ::windows::core::Result<i32>;
311 fn SetProviderFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
312 fn UseExistingKeySet(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
313 fn SetUseExistingKeySet(&self, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
314 fn GenKeyFlags(&self) -> ::windows::core::Result<i32>;
315 fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
316 fn DeleteRequestCert(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
317 fn SetDeleteRequestCert(&self, fdelete: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
318 fn WriteCertToCSP(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
319 fn SetWriteCertToCSP(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
320 fn SPCFileName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
321 fn SetSPCFileName(&self, bstr: &::windows::core::BSTR) -> ::windows::core::Result<()>;
322 fn PVKFileName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
323 fn SetPVKFileName(&self, bstr: &::windows::core::BSTR) -> ::windows::core::Result<()>;
324 fn HashAlgorithm(&self) -> ::windows::core::Result<::windows::core::BSTR>;
325 fn SetHashAlgorithm(&self, bstr: &::windows::core::BSTR) -> ::windows::core::Result<()>;
326 }
327 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
328 impl ::windows::core::RuntimeName for ICEnroll {}
329 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
330 impl ICEnroll_Vtbl {
331 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>() -> ICEnroll_Vtbl {
332 unsafe extern "system" fn createFilePKCS10<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::std::mem::MaybeUninit<::windows::core::BSTR>, usage: ::std::mem::MaybeUninit<::windows::core::BSTR>, wszpkcs10filename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
333 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
334 let this = (*this).get_impl();
335 this.createFilePKCS10(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage), ::core::mem::transmute(&wszpkcs10filename)).into()
336 }
337 unsafe extern "system" fn acceptFilePKCS7<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszpkcs7filename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
338 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
339 let this = (*this).get_impl();
340 this.acceptFilePKCS7(::core::mem::transmute(&wszpkcs7filename)).into()
341 }
342 unsafe extern "system" fn createPKCS10<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::std::mem::MaybeUninit<::windows::core::BSTR>, usage: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppkcs10: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
343 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
344 let this = (*this).get_impl();
345 match this.createPKCS10(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage)) {
346 ::core::result::Result::Ok(ok__) => {
347 ::core::ptr::write(ppkcs10, ::core::mem::transmute(ok__));
348 ::windows::core::HRESULT(0)
349 }
350 ::core::result::Result::Err(err) => err.into(),
351 }
352 }
353 unsafe extern "system" fn acceptPKCS7<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
354 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
355 let this = (*this).get_impl();
356 this.acceptPKCS7(::core::mem::transmute(&pkcs7)).into()
357 }
358 unsafe extern "system" fn getCertFromPKCS7<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszpkcs7: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrcert: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
359 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
360 let this = (*this).get_impl();
361 match this.getCertFromPKCS7(::core::mem::transmute(&wszpkcs7)) {
362 ::core::result::Result::Ok(ok__) => {
363 ::core::ptr::write(pbstrcert, ::core::mem::transmute(ok__));
364 ::windows::core::HRESULT(0)
365 }
366 ::core::result::Result::Err(err) => err.into(),
367 }
368 }
369 unsafe extern "system" fn enumProviders<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, dwflags: i32, pbstrprovname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
370 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
371 let this = (*this).get_impl();
372 match this.enumProviders(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&dwflags)) {
373 ::core::result::Result::Ok(ok__) => {
374 ::core::ptr::write(pbstrprovname, ::core::mem::transmute(ok__));
375 ::windows::core::HRESULT(0)
376 }
377 ::core::result::Result::Err(err) => err.into(),
378 }
379 }
380 unsafe extern "system" fn enumContainers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
381 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
382 let this = (*this).get_impl();
383 match this.enumContainers(::core::mem::transmute_copy(&dwindex)) {
384 ::core::result::Result::Ok(ok__) => {
385 ::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
386 ::windows::core::HRESULT(0)
387 }
388 ::core::result::Result::Err(err) => err.into(),
389 }
390 }
391 unsafe extern "system" fn freeRequestInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7orpkcs10: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
392 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
393 let this = (*this).get_impl();
394 this.freeRequestInfo(::core::mem::transmute(&pkcs7orpkcs10)).into()
395 }
396 unsafe extern "system" fn MyStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
397 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
398 let this = (*this).get_impl();
399 match this.MyStoreName() {
400 ::core::result::Result::Ok(ok__) => {
401 ::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
402 ::windows::core::HRESULT(0)
403 }
404 ::core::result::Result::Err(err) => err.into(),
405 }
406 }
407 unsafe extern "system" fn SetMyStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
408 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
409 let this = (*this).get_impl();
410 this.SetMyStoreName(::core::mem::transmute(&bstrname)).into()
411 }
412 unsafe extern "system" fn MyStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
413 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
414 let this = (*this).get_impl();
415 match this.MyStoreType() {
416 ::core::result::Result::Ok(ok__) => {
417 ::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
418 ::windows::core::HRESULT(0)
419 }
420 ::core::result::Result::Err(err) => err.into(),
421 }
422 }
423 unsafe extern "system" fn SetMyStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
424 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
425 let this = (*this).get_impl();
426 this.SetMyStoreType(::core::mem::transmute(&bstrtype)).into()
427 }
428 unsafe extern "system" fn MyStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
429 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
430 let this = (*this).get_impl();
431 match this.MyStoreFlags() {
432 ::core::result::Result::Ok(ok__) => {
433 ::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
434 ::windows::core::HRESULT(0)
435 }
436 ::core::result::Result::Err(err) => err.into(),
437 }
438 }
439 unsafe extern "system" fn SetMyStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
440 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
441 let this = (*this).get_impl();
442 this.SetMyStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
443 }
444 unsafe extern "system" fn CAStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
445 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
446 let this = (*this).get_impl();
447 match this.CAStoreName() {
448 ::core::result::Result::Ok(ok__) => {
449 ::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
450 ::windows::core::HRESULT(0)
451 }
452 ::core::result::Result::Err(err) => err.into(),
453 }
454 }
455 unsafe extern "system" fn SetCAStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
456 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
457 let this = (*this).get_impl();
458 this.SetCAStoreName(::core::mem::transmute(&bstrname)).into()
459 }
460 unsafe extern "system" fn CAStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
461 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
462 let this = (*this).get_impl();
463 match this.CAStoreType() {
464 ::core::result::Result::Ok(ok__) => {
465 ::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
466 ::windows::core::HRESULT(0)
467 }
468 ::core::result::Result::Err(err) => err.into(),
469 }
470 }
471 unsafe extern "system" fn SetCAStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
472 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
473 let this = (*this).get_impl();
474 this.SetCAStoreType(::core::mem::transmute(&bstrtype)).into()
475 }
476 unsafe extern "system" fn CAStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
477 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
478 let this = (*this).get_impl();
479 match this.CAStoreFlags() {
480 ::core::result::Result::Ok(ok__) => {
481 ::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
482 ::windows::core::HRESULT(0)
483 }
484 ::core::result::Result::Err(err) => err.into(),
485 }
486 }
487 unsafe extern "system" fn SetCAStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
488 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
489 let this = (*this).get_impl();
490 this.SetCAStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
491 }
492 unsafe extern "system" fn RootStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
493 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
494 let this = (*this).get_impl();
495 match this.RootStoreName() {
496 ::core::result::Result::Ok(ok__) => {
497 ::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
498 ::windows::core::HRESULT(0)
499 }
500 ::core::result::Result::Err(err) => err.into(),
501 }
502 }
503 unsafe extern "system" fn SetRootStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
504 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
505 let this = (*this).get_impl();
506 this.SetRootStoreName(::core::mem::transmute(&bstrname)).into()
507 }
508 unsafe extern "system" fn RootStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
509 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
510 let this = (*this).get_impl();
511 match this.RootStoreType() {
512 ::core::result::Result::Ok(ok__) => {
513 ::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
514 ::windows::core::HRESULT(0)
515 }
516 ::core::result::Result::Err(err) => err.into(),
517 }
518 }
519 unsafe extern "system" fn SetRootStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
520 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
521 let this = (*this).get_impl();
522 this.SetRootStoreType(::core::mem::transmute(&bstrtype)).into()
523 }
524 unsafe extern "system" fn RootStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
525 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
526 let this = (*this).get_impl();
527 match this.RootStoreFlags() {
528 ::core::result::Result::Ok(ok__) => {
529 ::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
530 ::windows::core::HRESULT(0)
531 }
532 ::core::result::Result::Err(err) => err.into(),
533 }
534 }
535 unsafe extern "system" fn SetRootStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
536 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
537 let this = (*this).get_impl();
538 this.SetRootStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
539 }
540 unsafe extern "system" fn RequestStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
541 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
542 let this = (*this).get_impl();
543 match this.RequestStoreName() {
544 ::core::result::Result::Ok(ok__) => {
545 ::core::ptr::write(pbstrname, ::core::mem::transmute(ok__));
546 ::windows::core::HRESULT(0)
547 }
548 ::core::result::Result::Err(err) => err.into(),
549 }
550 }
551 unsafe extern "system" fn SetRequestStoreName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
552 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
553 let this = (*this).get_impl();
554 this.SetRequestStoreName(::core::mem::transmute(&bstrname)).into()
555 }
556 unsafe extern "system" fn RequestStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
557 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
558 let this = (*this).get_impl();
559 match this.RequestStoreType() {
560 ::core::result::Result::Ok(ok__) => {
561 ::core::ptr::write(pbstrtype, ::core::mem::transmute(ok__));
562 ::windows::core::HRESULT(0)
563 }
564 ::core::result::Result::Err(err) => err.into(),
565 }
566 }
567 unsafe extern "system" fn SetRequestStoreType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtype: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
568 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
569 let this = (*this).get_impl();
570 this.SetRequestStoreType(::core::mem::transmute(&bstrtype)).into()
571 }
572 unsafe extern "system" fn RequestStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
573 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
574 let this = (*this).get_impl();
575 match this.RequestStoreFlags() {
576 ::core::result::Result::Ok(ok__) => {
577 ::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
578 ::windows::core::HRESULT(0)
579 }
580 ::core::result::Result::Err(err) => err.into(),
581 }
582 }
583 unsafe extern "system" fn SetRequestStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
584 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
585 let this = (*this).get_impl();
586 this.SetRequestStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
587 }
588 unsafe extern "system" fn ContainerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrcontainer: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
589 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
590 let this = (*this).get_impl();
591 match this.ContainerName() {
592 ::core::result::Result::Ok(ok__) => {
593 ::core::ptr::write(pbstrcontainer, ::core::mem::transmute(ok__));
594 ::windows::core::HRESULT(0)
595 }
596 ::core::result::Result::Err(err) => err.into(),
597 }
598 }
599 unsafe extern "system" fn SetContainerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcontainer: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
600 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
601 let this = (*this).get_impl();
602 this.SetContainerName(::core::mem::transmute(&bstrcontainer)).into()
603 }
604 unsafe extern "system" fn ProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrprovider: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
605 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
606 let this = (*this).get_impl();
607 match this.ProviderName() {
608 ::core::result::Result::Ok(ok__) => {
609 ::core::ptr::write(pbstrprovider, ::core::mem::transmute(ok__));
610 ::windows::core::HRESULT(0)
611 }
612 ::core::result::Result::Err(err) => err.into(),
613 }
614 }
615 unsafe extern "system" fn SetProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprovider: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
616 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
617 let this = (*this).get_impl();
618 this.SetProviderName(::core::mem::transmute(&bstrprovider)).into()
619 }
620 unsafe extern "system" fn ProviderType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwtype: *mut i32) -> ::windows::core::HRESULT {
621 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
622 let this = (*this).get_impl();
623 match this.ProviderType() {
624 ::core::result::Result::Ok(ok__) => {
625 ::core::ptr::write(pdwtype, ::core::mem::transmute(ok__));
626 ::windows::core::HRESULT(0)
627 }
628 ::core::result::Result::Err(err) => err.into(),
629 }
630 }
631 unsafe extern "system" fn SetProviderType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtype: i32) -> ::windows::core::HRESULT {
632 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
633 let this = (*this).get_impl();
634 this.SetProviderType(::core::mem::transmute_copy(&dwtype)).into()
635 }
636 unsafe extern "system" fn KeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdw: *mut i32) -> ::windows::core::HRESULT {
637 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
638 let this = (*this).get_impl();
639 match this.KeySpec() {
640 ::core::result::Result::Ok(ok__) => {
641 ::core::ptr::write(pdw, ::core::mem::transmute(ok__));
642 ::windows::core::HRESULT(0)
643 }
644 ::core::result::Result::Err(err) => err.into(),
645 }
646 }
647 unsafe extern "system" fn SetKeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dw: i32) -> ::windows::core::HRESULT {
648 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
649 let this = (*this).get_impl();
650 this.SetKeySpec(::core::mem::transmute_copy(&dw)).into()
651 }
652 unsafe extern "system" fn ProviderFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
653 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
654 let this = (*this).get_impl();
655 match this.ProviderFlags() {
656 ::core::result::Result::Ok(ok__) => {
657 ::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
658 ::windows::core::HRESULT(0)
659 }
660 ::core::result::Result::Err(err) => err.into(),
661 }
662 }
663 unsafe extern "system" fn SetProviderFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
664 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
665 let this = (*this).get_impl();
666 this.SetProviderFlags(::core::mem::transmute_copy(&dwflags)).into()
667 }
668 unsafe extern "system" fn UseExistingKeySet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
669 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
670 let this = (*this).get_impl();
671 match this.UseExistingKeySet() {
672 ::core::result::Result::Ok(ok__) => {
673 ::core::ptr::write(fuseexistingkeys, ::core::mem::transmute(ok__));
674 ::windows::core::HRESULT(0)
675 }
676 ::core::result::Result::Err(err) => err.into(),
677 }
678 }
679 unsafe extern "system" fn SetUseExistingKeySet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
680 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
681 let this = (*this).get_impl();
682 this.SetUseExistingKeySet(::core::mem::transmute_copy(&fuseexistingkeys)).into()
683 }
684 unsafe extern "system" fn GenKeyFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
686 let this = (*this).get_impl();
687 match this.GenKeyFlags() {
688 ::core::result::Result::Ok(ok__) => {
689 ::core::ptr::write(pdwflags, ::core::mem::transmute(ok__));
690 ::windows::core::HRESULT(0)
691 }
692 ::core::result::Result::Err(err) => err.into(),
693 }
694 }
695 unsafe extern "system" fn SetGenKeyFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
696 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
697 let this = (*this).get_impl();
698 this.SetGenKeyFlags(::core::mem::transmute_copy(&dwflags)).into()
699 }
700 unsafe extern "system" fn DeleteRequestCert<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
701 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
702 let this = (*this).get_impl();
703 match this.DeleteRequestCert() {
704 ::core::result::Result::Ok(ok__) => {
705 ::core::ptr::write(fdelete, ::core::mem::transmute(ok__));
706 ::windows::core::HRESULT(0)
707 }
708 ::core::result::Result::Err(err) => err.into(),
709 }
710 }
711 unsafe extern "system" fn SetDeleteRequestCert<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
712 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
713 let this = (*this).get_impl();
714 this.SetDeleteRequestCert(::core::mem::transmute_copy(&fdelete)).into()
715 }
716 unsafe extern "system" fn WriteCertToCSP<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
717 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
718 let this = (*this).get_impl();
719 match this.WriteCertToCSP() {
720 ::core::result::Result::Ok(ok__) => {
721 ::core::ptr::write(fbool, ::core::mem::transmute(ok__));
722 ::windows::core::HRESULT(0)
723 }
724 ::core::result::Result::Err(err) => err.into(),
725 }
726 }
727 unsafe extern "system" fn SetWriteCertToCSP<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
728 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
729 let this = (*this).get_impl();
730 this.SetWriteCertToCSP(::core::mem::transmute_copy(&fbool)).into()
731 }
732 unsafe extern "system" fn SPCFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
733 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
734 let this = (*this).get_impl();
735 match this.SPCFileName() {
736 ::core::result::Result::Ok(ok__) => {
737 ::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
738 ::windows::core::HRESULT(0)
739 }
740 ::core::result::Result::Err(err) => err.into(),
741 }
742 }
743 unsafe extern "system" fn SetSPCFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstr: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
744 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
745 let this = (*this).get_impl();
746 this.SetSPCFileName(::core::mem::transmute(&bstr)).into()
747 }
748 unsafe extern "system" fn PVKFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
749 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
750 let this = (*this).get_impl();
751 match this.PVKFileName() {
752 ::core::result::Result::Ok(ok__) => {
753 ::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
754 ::windows::core::HRESULT(0)
755 }
756 ::core::result::Result::Err(err) => err.into(),
757 }
758 }
759 unsafe extern "system" fn SetPVKFileName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstr: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
760 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
761 let this = (*this).get_impl();
762 this.SetPVKFileName(::core::mem::transmute(&bstr)).into()
763 }
764 unsafe extern "system" fn HashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
765 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
766 let this = (*this).get_impl();
767 match this.HashAlgorithm() {
768 ::core::result::Result::Ok(ok__) => {
769 ::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
770 ::windows::core::HRESULT(0)
771 }
772 ::core::result::Result::Err(err) => err.into(),
773 }
774 }
775 unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstr: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
776 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
777 let this = (*this).get_impl();
778 this.SetHashAlgorithm(::core::mem::transmute(&bstr)).into()
779 }
780 Self {
781 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
782 createFilePKCS10: createFilePKCS10::<Identity, Impl, OFFSET>,
783 acceptFilePKCS7: acceptFilePKCS7::<Identity, Impl, OFFSET>,
784 createPKCS10: createPKCS10::<Identity, Impl, OFFSET>,
785 acceptPKCS7: acceptPKCS7::<Identity, Impl, OFFSET>,
786 getCertFromPKCS7: getCertFromPKCS7::<Identity, Impl, OFFSET>,
787 enumProviders: enumProviders::<Identity, Impl, OFFSET>,
788 enumContainers: enumContainers::<Identity, Impl, OFFSET>,
789 freeRequestInfo: freeRequestInfo::<Identity, Impl, OFFSET>,
790 MyStoreName: MyStoreName::<Identity, Impl, OFFSET>,
791 SetMyStoreName: SetMyStoreName::<Identity, Impl, OFFSET>,
792 MyStoreType: MyStoreType::<Identity, Impl, OFFSET>,
793 SetMyStoreType: SetMyStoreType::<Identity, Impl, OFFSET>,
794 MyStoreFlags: MyStoreFlags::<Identity, Impl, OFFSET>,
795 SetMyStoreFlags: SetMyStoreFlags::<Identity, Impl, OFFSET>,
796 CAStoreName: CAStoreName::<Identity, Impl, OFFSET>,
797 SetCAStoreName: SetCAStoreName::<Identity, Impl, OFFSET>,
798 CAStoreType: CAStoreType::<Identity, Impl, OFFSET>,
799 SetCAStoreType: SetCAStoreType::<Identity, Impl, OFFSET>,
800 CAStoreFlags: CAStoreFlags::<Identity, Impl, OFFSET>,
801 SetCAStoreFlags: SetCAStoreFlags::<Identity, Impl, OFFSET>,
802 RootStoreName: RootStoreName::<Identity, Impl, OFFSET>,
803 SetRootStoreName: SetRootStoreName::<Identity, Impl, OFFSET>,
804 RootStoreType: RootStoreType::<Identity, Impl, OFFSET>,
805 SetRootStoreType: SetRootStoreType::<Identity, Impl, OFFSET>,
806 RootStoreFlags: RootStoreFlags::<Identity, Impl, OFFSET>,
807 SetRootStoreFlags: SetRootStoreFlags::<Identity, Impl, OFFSET>,
808 RequestStoreName: RequestStoreName::<Identity, Impl, OFFSET>,
809 SetRequestStoreName: SetRequestStoreName::<Identity, Impl, OFFSET>,
810 RequestStoreType: RequestStoreType::<Identity, Impl, OFFSET>,
811 SetRequestStoreType: SetRequestStoreType::<Identity, Impl, OFFSET>,
812 RequestStoreFlags: RequestStoreFlags::<Identity, Impl, OFFSET>,
813 SetRequestStoreFlags: SetRequestStoreFlags::<Identity, Impl, OFFSET>,
814 ContainerName: ContainerName::<Identity, Impl, OFFSET>,
815 SetContainerName: SetContainerName::<Identity, Impl, OFFSET>,
816 ProviderName: ProviderName::<Identity, Impl, OFFSET>,
817 SetProviderName: SetProviderName::<Identity, Impl, OFFSET>,
818 ProviderType: ProviderType::<Identity, Impl, OFFSET>,
819 SetProviderType: SetProviderType::<Identity, Impl, OFFSET>,
820 KeySpec: KeySpec::<Identity, Impl, OFFSET>,
821 SetKeySpec: SetKeySpec::<Identity, Impl, OFFSET>,
822 ProviderFlags: ProviderFlags::<Identity, Impl, OFFSET>,
823 SetProviderFlags: SetProviderFlags::<Identity, Impl, OFFSET>,
824 UseExistingKeySet: UseExistingKeySet::<Identity, Impl, OFFSET>,
825 SetUseExistingKeySet: SetUseExistingKeySet::<Identity, Impl, OFFSET>,
826 GenKeyFlags: GenKeyFlags::<Identity, Impl, OFFSET>,
827 SetGenKeyFlags: SetGenKeyFlags::<Identity, Impl, OFFSET>,
828 DeleteRequestCert: DeleteRequestCert::<Identity, Impl, OFFSET>,
829 SetDeleteRequestCert: SetDeleteRequestCert::<Identity, Impl, OFFSET>,
830 WriteCertToCSP: WriteCertToCSP::<Identity, Impl, OFFSET>,
831 SetWriteCertToCSP: SetWriteCertToCSP::<Identity, Impl, OFFSET>,
832 SPCFileName: SPCFileName::<Identity, Impl, OFFSET>,
833 SetSPCFileName: SetSPCFileName::<Identity, Impl, OFFSET>,
834 PVKFileName: PVKFileName::<Identity, Impl, OFFSET>,
835 SetPVKFileName: SetPVKFileName::<Identity, Impl, OFFSET>,
836 HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
837 SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
838 }
839 }
840 pub fn matches(iid: &windows::core::GUID) -> bool {
841 iid == &<ICEnroll as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
842 }
843 }
844 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
845 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
846 pub trait ICEnroll2_Impl: Sized + ICEnroll_Impl {
847 fn addCertTypeToRequest(&self, certtype: &::windows::core::BSTR) -> ::windows::core::Result<()>;
848 fn addNameValuePairToSignature(&self, name: &::windows::core::BSTR, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
849 fn WriteCertToUserDS(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
850 fn SetWriteCertToUserDS(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
851 fn EnableT61DNEncoding(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
852 fn SetEnableT61DNEncoding(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
853 }
854 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
855 impl ::windows::core::RuntimeName for ICEnroll2 {}
856 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
857 impl ICEnroll2_Vtbl {
858 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>() -> ICEnroll2_Vtbl {
859 unsafe extern "system" fn addCertTypeToRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, certtype: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
860 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
861 let this = (*this).get_impl();
862 this.addCertTypeToRequest(::core::mem::transmute(&certtype)).into()
863 }
864 unsafe extern "system" fn addNameValuePairToSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
865 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
866 let this = (*this).get_impl();
867 this.addNameValuePairToSignature(::core::mem::transmute(&name), ::core::mem::transmute(&value)).into()
868 }
869 unsafe extern "system" fn WriteCertToUserDS<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
870 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
871 let this = (*this).get_impl();
872 match this.WriteCertToUserDS() {
873 ::core::result::Result::Ok(ok__) => {
874 ::core::ptr::write(fbool, ::core::mem::transmute(ok__));
875 ::windows::core::HRESULT(0)
876 }
877 ::core::result::Result::Err(err) => err.into(),
878 }
879 }
880 unsafe extern "system" fn SetWriteCertToUserDS<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
881 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
882 let this = (*this).get_impl();
883 this.SetWriteCertToUserDS(::core::mem::transmute_copy(&fbool)).into()
884 }
885 unsafe extern "system" fn EnableT61DNEncoding<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
886 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
887 let this = (*this).get_impl();
888 match this.EnableT61DNEncoding() {
889 ::core::result::Result::Ok(ok__) => {
890 ::core::ptr::write(fbool, ::core::mem::transmute(ok__));
891 ::windows::core::HRESULT(0)
892 }
893 ::core::result::Result::Err(err) => err.into(),
894 }
895 }
896 unsafe extern "system" fn SetEnableT61DNEncoding<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
897 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
898 let this = (*this).get_impl();
899 this.SetEnableT61DNEncoding(::core::mem::transmute_copy(&fbool)).into()
900 }
901 Self {
902 base__: ICEnroll_Vtbl::new::<Identity, Impl, OFFSET>(),
903 addCertTypeToRequest: addCertTypeToRequest::<Identity, Impl, OFFSET>,
904 addNameValuePairToSignature: addNameValuePairToSignature::<Identity, Impl, OFFSET>,
905 WriteCertToUserDS: WriteCertToUserDS::<Identity, Impl, OFFSET>,
906 SetWriteCertToUserDS: SetWriteCertToUserDS::<Identity, Impl, OFFSET>,
907 EnableT61DNEncoding: EnableT61DNEncoding::<Identity, Impl, OFFSET>,
908 SetEnableT61DNEncoding: SetEnableT61DNEncoding::<Identity, Impl, OFFSET>,
909 }
910 }
911 pub fn matches(iid: &windows::core::GUID) -> bool {
912 iid == &<ICEnroll2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICEnroll as ::windows::core::ComInterface>::IID
913 }
914 }
915 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
916 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
917 pub trait ICEnroll3_Impl: Sized + ICEnroll2_Impl {
918 fn InstallPKCS7(&self, pkcs7: &::windows::core::BSTR) -> ::windows::core::Result<()>;
919 fn Reset(&self) -> ::windows::core::Result<()>;
920 fn GetSupportedKeySpec(&self) -> ::windows::core::Result<i32>;
921 fn GetKeyLen(&self, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL) -> ::windows::core::Result<i32>;
922 fn EnumAlgs(&self, dwindex: i32, algclass: i32) -> ::windows::core::Result<i32>;
923 fn GetAlgName(&self, algid: i32) -> ::windows::core::Result<::windows::core::BSTR>;
924 fn SetReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
925 fn ReuseHardwareKeyIfUnableToGenNew(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
926 fn SetHashAlgID(&self, hashalgid: i32) -> ::windows::core::Result<()>;
927 fn HashAlgID(&self) -> ::windows::core::Result<i32>;
928 fn SetLimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
929 fn LimitExchangeKeyToEncipherment(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
930 fn SetEnableSMIMECapabilities(&self, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
931 fn EnableSMIMECapabilities(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
932 }
933 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
934 impl ::windows::core::RuntimeName for ICEnroll3 {}
935 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
936 impl ICEnroll3_Vtbl {
937 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>() -> ICEnroll3_Vtbl {
938 unsafe extern "system" fn InstallPKCS7<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
939 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
940 let this = (*this).get_impl();
941 this.InstallPKCS7(::core::mem::transmute(&pkcs7)).into()
942 }
943 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
944 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
945 let this = (*this).get_impl();
946 this.Reset().into()
947 }
948 unsafe extern "system" fn GetSupportedKeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwkeyspec: *mut i32) -> ::windows::core::HRESULT {
949 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
950 let this = (*this).get_impl();
951 match this.GetSupportedKeySpec() {
952 ::core::result::Result::Ok(ok__) => {
953 ::core::ptr::write(pdwkeyspec, ::core::mem::transmute(ok__));
954 ::windows::core::HRESULT(0)
955 }
956 ::core::result::Result::Err(err) => err.into(),
957 }
958 }
959 unsafe extern "system" fn GetKeyLen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL, pdwkeysize: *mut i32) -> ::windows::core::HRESULT {
960 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
961 let this = (*this).get_impl();
962 match this.GetKeyLen(::core::mem::transmute_copy(&fmin), ::core::mem::transmute_copy(&fexchange)) {
963 ::core::result::Result::Ok(ok__) => {
964 ::core::ptr::write(pdwkeysize, ::core::mem::transmute(ok__));
965 ::windows::core::HRESULT(0)
966 }
967 ::core::result::Result::Err(err) => err.into(),
968 }
969 }
970 unsafe extern "system" fn EnumAlgs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, algclass: i32, pdwalgid: *mut i32) -> ::windows::core::HRESULT {
971 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
972 let this = (*this).get_impl();
973 match this.EnumAlgs(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&algclass)) {
974 ::core::result::Result::Ok(ok__) => {
975 ::core::ptr::write(pdwalgid, ::core::mem::transmute(ok__));
976 ::windows::core::HRESULT(0)
977 }
978 ::core::result::Result::Err(err) => err.into(),
979 }
980 }
981 unsafe extern "system" fn GetAlgName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, algid: i32, pbstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
982 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
983 let this = (*this).get_impl();
984 match this.GetAlgName(::core::mem::transmute_copy(&algid)) {
985 ::core::result::Result::Ok(ok__) => {
986 ::core::ptr::write(pbstr, ::core::mem::transmute(ok__));
987 ::windows::core::HRESULT(0)
988 }
989 ::core::result::Result::Err(err) => err.into(),
990 }
991 }
992 unsafe extern "system" fn SetReuseHardwareKeyIfUnableToGenNew<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
993 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
994 let this = (*this).get_impl();
995 this.SetReuseHardwareKeyIfUnableToGenNew(::core::mem::transmute_copy(&freusehardwarekeyifunabletogennew)).into()
996 }
997 unsafe extern "system" fn ReuseHardwareKeyIfUnableToGenNew<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
998 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
999 let this = (*this).get_impl();
1000 match this.ReuseHardwareKeyIfUnableToGenNew() {
1001 ::core::result::Result::Ok(ok__) => {
1002 ::core::ptr::write(freusehardwarekeyifunabletogennew, ::core::mem::transmute(ok__));
1003 ::windows::core::HRESULT(0)
1004 }
1005 ::core::result::Result::Err(err) => err.into(),
1006 }
1007 }
1008 unsafe extern "system" fn SetHashAlgID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: i32) -> ::windows::core::HRESULT {
1009 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1010 let this = (*this).get_impl();
1011 this.SetHashAlgID(::core::mem::transmute_copy(&hashalgid)).into()
1012 }
1013 unsafe extern "system" fn HashAlgID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: *mut i32) -> ::windows::core::HRESULT {
1014 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1015 let this = (*this).get_impl();
1016 match this.HashAlgID() {
1017 ::core::result::Result::Ok(ok__) => {
1018 ::core::ptr::write(hashalgid, ::core::mem::transmute(ok__));
1019 ::windows::core::HRESULT(0)
1020 }
1021 ::core::result::Result::Err(err) => err.into(),
1022 }
1023 }
1024 unsafe extern "system" fn SetLimitExchangeKeyToEncipherment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1025 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1026 let this = (*this).get_impl();
1027 this.SetLimitExchangeKeyToEncipherment(::core::mem::transmute_copy(&flimitexchangekeytoencipherment)).into()
1028 }
1029 unsafe extern "system" fn LimitExchangeKeyToEncipherment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1030 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1031 let this = (*this).get_impl();
1032 match this.LimitExchangeKeyToEncipherment() {
1033 ::core::result::Result::Ok(ok__) => {
1034 ::core::ptr::write(flimitexchangekeytoencipherment, ::core::mem::transmute(ok__));
1035 ::windows::core::HRESULT(0)
1036 }
1037 ::core::result::Result::Err(err) => err.into(),
1038 }
1039 }
1040 unsafe extern "system" fn SetEnableSMIMECapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1041 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1042 let this = (*this).get_impl();
1043 this.SetEnableSMIMECapabilities(::core::mem::transmute_copy(&fenablesmimecapabilities)).into()
1044 }
1045 unsafe extern "system" fn EnableSMIMECapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1046 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1047 let this = (*this).get_impl();
1048 match this.EnableSMIMECapabilities() {
1049 ::core::result::Result::Ok(ok__) => {
1050 ::core::ptr::write(fenablesmimecapabilities, ::core::mem::transmute(ok__));
1051 ::windows::core::HRESULT(0)
1052 }
1053 ::core::result::Result::Err(err) => err.into(),
1054 }
1055 }
1056 Self {
1057 base__: ICEnroll2_Vtbl::new::<Identity, Impl, OFFSET>(),
1058 InstallPKCS7: InstallPKCS7::<Identity, Impl, OFFSET>,
1059 Reset: Reset::<Identity, Impl, OFFSET>,
1060 GetSupportedKeySpec: GetSupportedKeySpec::<Identity, Impl, OFFSET>,
1061 GetKeyLen: GetKeyLen::<Identity, Impl, OFFSET>,
1062 EnumAlgs: EnumAlgs::<Identity, Impl, OFFSET>,
1063 GetAlgName: GetAlgName::<Identity, Impl, OFFSET>,
1064 SetReuseHardwareKeyIfUnableToGenNew: SetReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
1065 ReuseHardwareKeyIfUnableToGenNew: ReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
1066 SetHashAlgID: SetHashAlgID::<Identity, Impl, OFFSET>,
1067 HashAlgID: HashAlgID::<Identity, Impl, OFFSET>,
1068 SetLimitExchangeKeyToEncipherment: SetLimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
1069 LimitExchangeKeyToEncipherment: LimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
1070 SetEnableSMIMECapabilities: SetEnableSMIMECapabilities::<Identity, Impl, OFFSET>,
1071 EnableSMIMECapabilities: EnableSMIMECapabilities::<Identity, Impl, OFFSET>,
1072 }
1073 }
1074 pub fn matches(iid: &windows::core::GUID) -> bool {
1075 iid == &<ICEnroll3 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICEnroll as ::windows::core::ComInterface>::IID || iid == &<ICEnroll2 as ::windows::core::ComInterface>::IID
1076 }
1077 }
1078 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1079 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1080 pub trait ICEnroll4_Impl: Sized + ICEnroll3_Impl {
1081 fn SetPrivateKeyArchiveCertificate(&self, bstrcert: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1082 fn PrivateKeyArchiveCertificate(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1083 fn SetThumbPrint(&self, bstrthumbprint: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1084 fn ThumbPrint(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1085 fn binaryToString(&self, flags: i32, strbinary: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1086 fn stringToBinary(&self, flags: i32, strencoded: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1087 fn addExtensionToRequest(&self, flags: i32, strname: &::windows::core::BSTR, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1088 fn addAttributeToRequest(&self, flags: i32, strname: &::windows::core::BSTR, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1089 fn addNameValuePairToRequest(&self, flags: i32, strname: &::windows::core::BSTR, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1090 fn resetExtensions(&self) -> ::windows::core::Result<()>;
1091 fn resetAttributes(&self) -> ::windows::core::Result<()>;
1092 fn createRequest(&self, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: &::windows::core::BSTR, usage: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1093 fn createFileRequest(&self, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: &::windows::core::BSTR, strusage: &::windows::core::BSTR, strrequestfilename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1094 fn acceptResponse(&self, strresponse: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1095 fn acceptFileResponse(&self, strresponsefilename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1096 fn getCertFromResponse(&self, strresponse: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1097 fn getCertFromFileResponse(&self, strresponsefilename: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1098 fn createPFX(&self, strpassword: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1099 fn createFilePFX(&self, strpassword: &::windows::core::BSTR, strpfxfilename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1100 fn setPendingRequestInfo(&self, lrequestid: i32, strcadns: &::windows::core::BSTR, strcaname: &::windows::core::BSTR, strfriendlyname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1101 fn enumPendingRequest(&self, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
1102 fn removePendingRequest(&self, strthumbprint: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1103 fn GetKeyLenEx(&self, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC) -> ::windows::core::Result<i32>;
1104 fn InstallPKCS7Ex(&self, pkcs7: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
1105 fn addCertTypeToRequestEx(&self, ltype: ADDED_CERT_TYPE, bstroidorname: &::windows::core::BSTR, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows::core::Result<()>;
1106 fn getProviderType(&self, strprovname: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
1107 fn SetSignerCertificate(&self, bstrcert: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1108 fn SetClientId(&self, lclientid: i32) -> ::windows::core::Result<()>;
1109 fn ClientId(&self) -> ::windows::core::Result<i32>;
1110 fn addBlobPropertyToCertificate(&self, lpropertyid: i32, lreserved: i32, bstrproperty: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1111 fn resetBlobProperties(&self) -> ::windows::core::Result<()>;
1112 fn SetIncludeSubjectKeyID(&self, finclude: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
1113 fn IncludeSubjectKeyID(&self) -> ::windows::core::Result<super::super::super::Foundation::BOOL>;
1114 }
1115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1116 impl ::windows::core::RuntimeName for ICEnroll4 {}
1117 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1118 impl ICEnroll4_Vtbl {
1119 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>() -> ICEnroll4_Vtbl {
1120 unsafe extern "system" fn SetPrivateKeyArchiveCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcert: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1121 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1122 let this = (*this).get_impl();
1123 this.SetPrivateKeyArchiveCertificate(::core::mem::transmute(&bstrcert)).into()
1124 }
1125 unsafe extern "system" fn PrivateKeyArchiveCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrcert: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1126 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1127 let this = (*this).get_impl();
1128 match this.PrivateKeyArchiveCertificate() {
1129 ::core::result::Result::Ok(ok__) => {
1130 ::core::ptr::write(pbstrcert, ::core::mem::transmute(ok__));
1131 ::windows::core::HRESULT(0)
1132 }
1133 ::core::result::Result::Err(err) => err.into(),
1134 }
1135 }
1136 unsafe extern "system" fn SetThumbPrint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrthumbprint: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1137 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1138 let this = (*this).get_impl();
1139 this.SetThumbPrint(::core::mem::transmute(&bstrthumbprint)).into()
1140 }
1141 unsafe extern "system" fn ThumbPrint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrthumbprint: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1142 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1143 let this = (*this).get_impl();
1144 match this.ThumbPrint() {
1145 ::core::result::Result::Ok(ok__) => {
1146 ::core::ptr::write(pbstrthumbprint, ::core::mem::transmute(ok__));
1147 ::windows::core::HRESULT(0)
1148 }
1149 ::core::result::Result::Err(err) => err.into(),
1150 }
1151 }
1152 unsafe extern "system" fn binaryToString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strbinary: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrencoded: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1153 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1154 let this = (*this).get_impl();
1155 match this.binaryToString(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strbinary)) {
1156 ::core::result::Result::Ok(ok__) => {
1157 ::core::ptr::write(pstrencoded, ::core::mem::transmute(ok__));
1158 ::windows::core::HRESULT(0)
1159 }
1160 ::core::result::Result::Err(err) => err.into(),
1161 }
1162 }
1163 unsafe extern "system" fn stringToBinary<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strencoded: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrbinary: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1164 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1165 let this = (*this).get_impl();
1166 match this.stringToBinary(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strencoded)) {
1167 ::core::result::Result::Ok(ok__) => {
1168 ::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
1169 ::windows::core::HRESULT(0)
1170 }
1171 ::core::result::Result::Err(err) => err.into(),
1172 }
1173 }
1174 unsafe extern "system" fn addExtensionToRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1175 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1176 let this = (*this).get_impl();
1177 this.addExtensionToRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
1178 }
1179 unsafe extern "system" fn addAttributeToRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1180 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1181 let this = (*this).get_impl();
1182 this.addAttributeToRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
1183 }
1184 unsafe extern "system" fn addNameValuePairToRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1185 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1186 let this = (*this).get_impl();
1187 this.addNameValuePairToRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
1188 }
1189 unsafe extern "system" fn resetExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1190 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1191 let this = (*this).get_impl();
1192 this.resetExtensions().into()
1193 }
1194 unsafe extern "system" fn resetAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1195 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1196 let this = (*this).get_impl();
1197 this.resetAttributes().into()
1198 }
1199 unsafe extern "system" fn createRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: ::std::mem::MaybeUninit<::windows::core::BSTR>, usage: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrrequest: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1200 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1201 let this = (*this).get_impl();
1202 match this.createRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strdnname), ::core::mem::transmute(&usage)) {
1203 ::core::result::Result::Ok(ok__) => {
1204 ::core::ptr::write(pstrrequest, ::core::mem::transmute(ok__));
1205 ::windows::core::HRESULT(0)
1206 }
1207 ::core::result::Result::Err(err) => err.into(),
1208 }
1209 }
1210 unsafe extern "system" fn createFileRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, strdnname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strusage: ::std::mem::MaybeUninit<::windows::core::BSTR>, strrequestfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1211 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1212 let this = (*this).get_impl();
1213 this.createFileRequest(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strdnname), ::core::mem::transmute(&strusage), ::core::mem::transmute(&strrequestfilename)).into()
1214 }
1215 unsafe extern "system" fn acceptResponse<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponse: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1216 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1217 let this = (*this).get_impl();
1218 this.acceptResponse(::core::mem::transmute(&strresponse)).into()
1219 }
1220 unsafe extern "system" fn acceptFileResponse<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponsefilename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1221 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1222 let this = (*this).get_impl();
1223 this.acceptFileResponse(::core::mem::transmute(&strresponsefilename)).into()
1224 }
1225 unsafe extern "system" fn getCertFromResponse<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponse: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrcert: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1226 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1227 let this = (*this).get_impl();
1228 match this.getCertFromResponse(::core::mem::transmute(&strresponse)) {
1229 ::core::result::Result::Ok(ok__) => {
1230 ::core::ptr::write(pstrcert, ::core::mem::transmute(ok__));
1231 ::windows::core::HRESULT(0)
1232 }
1233 ::core::result::Result::Err(err) => err.into(),
1234 }
1235 }
1236 unsafe extern "system" fn getCertFromFileResponse<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponsefilename: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrcert: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1237 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1238 let this = (*this).get_impl();
1239 match this.getCertFromFileResponse(::core::mem::transmute(&strresponsefilename)) {
1240 ::core::result::Result::Ok(ok__) => {
1241 ::core::ptr::write(pstrcert, ::core::mem::transmute(ok__));
1242 ::windows::core::HRESULT(0)
1243 }
1244 ::core::result::Result::Err(err) => err.into(),
1245 }
1246 }
1247 unsafe extern "system" fn createPFX<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrpfx: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1248 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1249 let this = (*this).get_impl();
1250 match this.createPFX(::core::mem::transmute(&strpassword)) {
1251 ::core::result::Result::Ok(ok__) => {
1252 ::core::ptr::write(pstrpfx, ::core::mem::transmute(ok__));
1253 ::windows::core::HRESULT(0)
1254 }
1255 ::core::result::Result::Err(err) => err.into(),
1256 }
1257 }
1258 unsafe extern "system" fn createFilePFX<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, strpfxfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1259 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1260 let this = (*this).get_impl();
1261 this.createFilePFX(::core::mem::transmute(&strpassword), ::core::mem::transmute(&strpfxfilename)).into()
1262 }
1263 unsafe extern "system" fn setPendingRequestInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lrequestid: i32, strcadns: ::std::mem::MaybeUninit<::windows::core::BSTR>, strcaname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strfriendlyname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1264 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1265 let this = (*this).get_impl();
1266 this.setPendingRequestInfo(::core::mem::transmute_copy(&lrequestid), ::core::mem::transmute(&strcadns), ::core::mem::transmute(&strcaname), ::core::mem::transmute(&strfriendlyname)).into()
1267 }
1268 unsafe extern "system" fn enumPendingRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY, pvarproperty: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
1269 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1270 let this = (*this).get_impl();
1271 match this.enumPendingRequest(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&ldesiredproperty)) {
1272 ::core::result::Result::Ok(ok__) => {
1273 ::core::ptr::write(pvarproperty, ::core::mem::transmute(ok__));
1274 ::windows::core::HRESULT(0)
1275 }
1276 ::core::result::Result::Err(err) => err.into(),
1277 }
1278 }
1279 unsafe extern "system" fn removePendingRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strthumbprint: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1280 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1281 let this = (*this).get_impl();
1282 this.removePendingRequest(::core::mem::transmute(&strthumbprint)).into()
1283 }
1284 unsafe extern "system" fn GetKeyLenEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC, pdwkeysize: *mut i32) -> ::windows::core::HRESULT {
1285 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1286 let this = (*this).get_impl();
1287 match this.GetKeyLenEx(::core::mem::transmute_copy(&lsizespec), ::core::mem::transmute_copy(&lkeyspec)) {
1288 ::core::result::Result::Ok(ok__) => {
1289 ::core::ptr::write(pdwkeysize, ::core::mem::transmute(ok__));
1290 ::windows::core::HRESULT(0)
1291 }
1292 ::core::result::Result::Err(err) => err.into(),
1293 }
1294 }
1295 unsafe extern "system" fn InstallPKCS7Ex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7: ::std::mem::MaybeUninit<::windows::core::BSTR>, plcertinstalled: *mut i32) -> ::windows::core::HRESULT {
1296 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1297 let this = (*this).get_impl();
1298 match this.InstallPKCS7Ex(::core::mem::transmute(&pkcs7)) {
1299 ::core::result::Result::Ok(ok__) => {
1300 ::core::ptr::write(plcertinstalled, ::core::mem::transmute(ok__));
1301 ::windows::core::HRESULT(0)
1302 }
1303 ::core::result::Result::Err(err) => err.into(),
1304 }
1305 }
1306 unsafe extern "system" fn addCertTypeToRequestEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltype: ADDED_CERT_TYPE, bstroidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows::core::HRESULT {
1307 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1308 let this = (*this).get_impl();
1309 this.addCertTypeToRequestEx(::core::mem::transmute_copy(&ltype), ::core::mem::transmute(&bstroidorname), ::core::mem::transmute_copy(&lmajorversion), ::core::mem::transmute_copy(&fminorversion), ::core::mem::transmute_copy(&lminorversion)).into()
1310 }
1311 unsafe extern "system" fn getProviderType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprovname: ::std::mem::MaybeUninit<::windows::core::BSTR>, plprovtype: *mut i32) -> ::windows::core::HRESULT {
1312 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1313 let this = (*this).get_impl();
1314 match this.getProviderType(::core::mem::transmute(&strprovname)) {
1315 ::core::result::Result::Ok(ok__) => {
1316 ::core::ptr::write(plprovtype, ::core::mem::transmute(ok__));
1317 ::windows::core::HRESULT(0)
1318 }
1319 ::core::result::Result::Err(err) => err.into(),
1320 }
1321 }
1322 unsafe extern "system" fn SetSignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcert: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1323 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1324 let this = (*this).get_impl();
1325 this.SetSignerCertificate(::core::mem::transmute(&bstrcert)).into()
1326 }
1327 unsafe extern "system" fn SetClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lclientid: i32) -> ::windows::core::HRESULT {
1328 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1329 let this = (*this).get_impl();
1330 this.SetClientId(::core::mem::transmute_copy(&lclientid)).into()
1331 }
1332 unsafe extern "system" fn ClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plclientid: *mut i32) -> ::windows::core::HRESULT {
1333 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1334 let this = (*this).get_impl();
1335 match this.ClientId() {
1336 ::core::result::Result::Ok(ok__) => {
1337 ::core::ptr::write(plclientid, ::core::mem::transmute(ok__));
1338 ::windows::core::HRESULT(0)
1339 }
1340 ::core::result::Result::Err(err) => err.into(),
1341 }
1342 }
1343 unsafe extern "system" fn addBlobPropertyToCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpropertyid: i32, lreserved: i32, bstrproperty: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1344 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1345 let this = (*this).get_impl();
1346 this.addBlobPropertyToCertificate(::core::mem::transmute_copy(&lpropertyid), ::core::mem::transmute_copy(&lreserved), ::core::mem::transmute(&bstrproperty)).into()
1347 }
1348 unsafe extern "system" fn resetBlobProperties<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
1349 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1350 let this = (*this).get_impl();
1351 this.resetBlobProperties().into()
1352 }
1353 unsafe extern "system" fn SetIncludeSubjectKeyID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, finclude: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1354 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1355 let this = (*this).get_impl();
1356 this.SetIncludeSubjectKeyID(::core::mem::transmute_copy(&finclude)).into()
1357 }
1358 unsafe extern "system" fn IncludeSubjectKeyID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfinclude: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1359 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1360 let this = (*this).get_impl();
1361 match this.IncludeSubjectKeyID() {
1362 ::core::result::Result::Ok(ok__) => {
1363 ::core::ptr::write(pfinclude, ::core::mem::transmute(ok__));
1364 ::windows::core::HRESULT(0)
1365 }
1366 ::core::result::Result::Err(err) => err.into(),
1367 }
1368 }
1369 Self {
1370 base__: ICEnroll3_Vtbl::new::<Identity, Impl, OFFSET>(),
1371 SetPrivateKeyArchiveCertificate: SetPrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
1372 PrivateKeyArchiveCertificate: PrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
1373 SetThumbPrint: SetThumbPrint::<Identity, Impl, OFFSET>,
1374 ThumbPrint: ThumbPrint::<Identity, Impl, OFFSET>,
1375 binaryToString: binaryToString::<Identity, Impl, OFFSET>,
1376 stringToBinary: stringToBinary::<Identity, Impl, OFFSET>,
1377 addExtensionToRequest: addExtensionToRequest::<Identity, Impl, OFFSET>,
1378 addAttributeToRequest: addAttributeToRequest::<Identity, Impl, OFFSET>,
1379 addNameValuePairToRequest: addNameValuePairToRequest::<Identity, Impl, OFFSET>,
1380 resetExtensions: resetExtensions::<Identity, Impl, OFFSET>,
1381 resetAttributes: resetAttributes::<Identity, Impl, OFFSET>,
1382 createRequest: createRequest::<Identity, Impl, OFFSET>,
1383 createFileRequest: createFileRequest::<Identity, Impl, OFFSET>,
1384 acceptResponse: acceptResponse::<Identity, Impl, OFFSET>,
1385 acceptFileResponse: acceptFileResponse::<Identity, Impl, OFFSET>,
1386 getCertFromResponse: getCertFromResponse::<Identity, Impl, OFFSET>,
1387 getCertFromFileResponse: getCertFromFileResponse::<Identity, Impl, OFFSET>,
1388 createPFX: createPFX::<Identity, Impl, OFFSET>,
1389 createFilePFX: createFilePFX::<Identity, Impl, OFFSET>,
1390 setPendingRequestInfo: setPendingRequestInfo::<Identity, Impl, OFFSET>,
1391 enumPendingRequest: enumPendingRequest::<Identity, Impl, OFFSET>,
1392 removePendingRequest: removePendingRequest::<Identity, Impl, OFFSET>,
1393 GetKeyLenEx: GetKeyLenEx::<Identity, Impl, OFFSET>,
1394 InstallPKCS7Ex: InstallPKCS7Ex::<Identity, Impl, OFFSET>,
1395 addCertTypeToRequestEx: addCertTypeToRequestEx::<Identity, Impl, OFFSET>,
1396 getProviderType: getProviderType::<Identity, Impl, OFFSET>,
1397 SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
1398 SetClientId: SetClientId::<Identity, Impl, OFFSET>,
1399 ClientId: ClientId::<Identity, Impl, OFFSET>,
1400 addBlobPropertyToCertificate: addBlobPropertyToCertificate::<Identity, Impl, OFFSET>,
1401 resetBlobProperties: resetBlobProperties::<Identity, Impl, OFFSET>,
1402 SetIncludeSubjectKeyID: SetIncludeSubjectKeyID::<Identity, Impl, OFFSET>,
1403 IncludeSubjectKeyID: IncludeSubjectKeyID::<Identity, Impl, OFFSET>,
1404 }
1405 }
1406 pub fn matches(iid: &windows::core::GUID) -> bool {
1407 iid == &<ICEnroll4 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICEnroll as ::windows::core::ComInterface>::IID || iid == &<ICEnroll2 as ::windows::core::ComInterface>::IID || iid == &<ICEnroll3 as ::windows::core::ComInterface>::IID
1408 }
1409 }
1410 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1411 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1412 pub trait ICertAdmin_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
1413 fn IsValidCertificate(&self, strconfig: &::windows::core::BSTR, strserialnumber: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
1414 fn GetRevocationReason(&self) -> ::windows::core::Result<i32>;
1415 fn RevokeCertificate(&self, strconfig: &::windows::core::BSTR, strserialnumber: &::windows::core::BSTR, reason: i32, date: f64) -> ::windows::core::Result<()>;
1416 fn SetRequestAttributes(&self, strconfig: &::windows::core::BSTR, requestid: i32, strattributes: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1417 fn SetCertificateExtension(&self, strconfig: &::windows::core::BSTR, requestid: i32, strextensionname: &::windows::core::BSTR, r#type: CERT_PROPERTY_TYPE, flags: i32, pvarvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
1418 fn DenyRequest(&self, strconfig: &::windows::core::BSTR, requestid: i32) -> ::windows::core::Result<()>;
1419 fn ResubmitRequest(&self, strconfig: &::windows::core::BSTR, requestid: i32) -> ::windows::core::Result<i32>;
1420 fn PublishCRL(&self, strconfig: &::windows::core::BSTR, date: f64) -> ::windows::core::Result<()>;
1421 fn GetCRL(&self, strconfig: &::windows::core::BSTR, flags: i32) -> ::windows::core::Result<::windows::core::BSTR>;
1422 fn ImportCertificate(&self, strconfig: &::windows::core::BSTR, strcertificate: &::windows::core::BSTR, flags: CERT_IMPORT_FLAGS) -> ::windows::core::Result<i32>;
1423 }
1424 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1425 impl ::windows::core::RuntimeName for ICertAdmin {}
1426 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1427 impl ICertAdmin_Vtbl {
1428 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>() -> ICertAdmin_Vtbl {
1429 unsafe extern "system" fn IsValidCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strserialnumber: ::std::mem::MaybeUninit<::windows::core::BSTR>, pdisposition: *mut i32) -> ::windows::core::HRESULT {
1430 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1431 let this = (*this).get_impl();
1432 match this.IsValidCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strserialnumber)) {
1433 ::core::result::Result::Ok(ok__) => {
1434 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
1435 ::windows::core::HRESULT(0)
1436 }
1437 ::core::result::Result::Err(err) => err.into(),
1438 }
1439 }
1440 unsafe extern "system" fn GetRevocationReason<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, preason: *mut i32) -> ::windows::core::HRESULT {
1441 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1442 let this = (*this).get_impl();
1443 match this.GetRevocationReason() {
1444 ::core::result::Result::Ok(ok__) => {
1445 ::core::ptr::write(preason, ::core::mem::transmute(ok__));
1446 ::windows::core::HRESULT(0)
1447 }
1448 ::core::result::Result::Err(err) => err.into(),
1449 }
1450 }
1451 unsafe extern "system" fn RevokeCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strserialnumber: ::std::mem::MaybeUninit<::windows::core::BSTR>, reason: i32, date: f64) -> ::windows::core::HRESULT {
1452 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1453 let this = (*this).get_impl();
1454 this.RevokeCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strserialnumber), ::core::mem::transmute_copy(&reason), ::core::mem::transmute_copy(&date)).into()
1455 }
1456 unsafe extern "system" fn SetRequestAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, requestid: i32, strattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1457 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1458 let this = (*this).get_impl();
1459 this.SetRequestAttributes(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strattributes)).into()
1460 }
1461 unsafe extern "system" fn SetCertificateExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, requestid: i32, strextensionname: ::std::mem::MaybeUninit<::windows::core::BSTR>, r#type: CERT_PROPERTY_TYPE, flags: i32, pvarvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
1462 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1463 let this = (*this).get_impl();
1464 this.SetCertificateExtension(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarvalue)).into()
1465 }
1466 unsafe extern "system" fn DenyRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, requestid: i32) -> ::windows::core::HRESULT {
1467 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1468 let this = (*this).get_impl();
1469 this.DenyRequest(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid)).into()
1470 }
1471 unsafe extern "system" fn ResubmitRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, requestid: i32, pdisposition: *mut i32) -> ::windows::core::HRESULT {
1472 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1473 let this = (*this).get_impl();
1474 match this.ResubmitRequest(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid)) {
1475 ::core::result::Result::Ok(ok__) => {
1476 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
1477 ::windows::core::HRESULT(0)
1478 }
1479 ::core::result::Result::Err(err) => err.into(),
1480 }
1481 }
1482 unsafe extern "system" fn PublishCRL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, date: f64) -> ::windows::core::HRESULT {
1483 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1484 let this = (*this).get_impl();
1485 this.PublishCRL(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&date)).into()
1486 }
1487 unsafe extern "system" fn GetCRL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: i32, pstrcrl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1488 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1489 let this = (*this).get_impl();
1490 match this.GetCRL(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&flags)) {
1491 ::core::result::Result::Ok(ok__) => {
1492 ::core::ptr::write(pstrcrl, ::core::mem::transmute(ok__));
1493 ::windows::core::HRESULT(0)
1494 }
1495 ::core::result::Result::Err(err) => err.into(),
1496 }
1497 }
1498 unsafe extern "system" fn ImportCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: CERT_IMPORT_FLAGS, prequestid: *mut i32) -> ::windows::core::HRESULT {
1499 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1500 let this = (*this).get_impl();
1501 match this.ImportCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strcertificate), ::core::mem::transmute_copy(&flags)) {
1502 ::core::result::Result::Ok(ok__) => {
1503 ::core::ptr::write(prequestid, ::core::mem::transmute(ok__));
1504 ::windows::core::HRESULT(0)
1505 }
1506 ::core::result::Result::Err(err) => err.into(),
1507 }
1508 }
1509 Self {
1510 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1511 IsValidCertificate: IsValidCertificate::<Identity, Impl, OFFSET>,
1512 GetRevocationReason: GetRevocationReason::<Identity, Impl, OFFSET>,
1513 RevokeCertificate: RevokeCertificate::<Identity, Impl, OFFSET>,
1514 SetRequestAttributes: SetRequestAttributes::<Identity, Impl, OFFSET>,
1515 SetCertificateExtension: SetCertificateExtension::<Identity, Impl, OFFSET>,
1516 DenyRequest: DenyRequest::<Identity, Impl, OFFSET>,
1517 ResubmitRequest: ResubmitRequest::<Identity, Impl, OFFSET>,
1518 PublishCRL: PublishCRL::<Identity, Impl, OFFSET>,
1519 GetCRL: GetCRL::<Identity, Impl, OFFSET>,
1520 ImportCertificate: ImportCertificate::<Identity, Impl, OFFSET>,
1521 }
1522 }
1523 pub fn matches(iid: &windows::core::GUID) -> bool {
1524 iid == &<ICertAdmin as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1525 }
1526 }
1527 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1528 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1529 pub trait ICertAdmin2_Impl: Sized + ICertAdmin_Impl {
1530 fn PublishCRLs(&self, strconfig: &::windows::core::BSTR, date: f64, crlflags: i32) -> ::windows::core::Result<()>;
1531 fn GetCAProperty(&self, strconfig: &::windows::core::BSTR, propid: i32, propindex: i32, proptype: i32, flags: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
1532 fn SetCAProperty(&self, strconfig: &::windows::core::BSTR, propid: i32, propindex: i32, proptype: CERT_PROPERTY_TYPE, pvarpropertyvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
1533 fn GetCAPropertyFlags(&self, strconfig: &::windows::core::BSTR, propid: i32) -> ::windows::core::Result<i32>;
1534 fn GetCAPropertyDisplayName(&self, strconfig: &::windows::core::BSTR, propid: i32) -> ::windows::core::Result<::windows::core::BSTR>;
1535 fn GetArchivedKey(&self, strconfig: &::windows::core::BSTR, requestid: i32, flags: i32) -> ::windows::core::Result<::windows::core::BSTR>;
1536 fn GetConfigEntry(&self, strconfig: &::windows::core::BSTR, strnodepath: &::windows::core::BSTR, strentryname: &::windows::core::BSTR) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
1537 fn SetConfigEntry(&self, strconfig: &::windows::core::BSTR, strnodepath: &::windows::core::BSTR, strentryname: &::windows::core::BSTR, pvarentry: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
1538 fn ImportKey(&self, strconfig: &::windows::core::BSTR, requestid: i32, strcerthash: &::windows::core::BSTR, flags: CERT_IMPORT_FLAGS, strkey: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1539 fn GetMyRoles(&self, strconfig: &::windows::core::BSTR) -> ::windows::core::Result<CERTADMIN_GET_ROLES_FLAGS>;
1540 fn DeleteRow(&self, strconfig: &::windows::core::BSTR, flags: CERT_DELETE_ROW_FLAGS, date: f64, table: CVRC_TABLE, rowid: i32) -> ::windows::core::Result<i32>;
1541 }
1542 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1543 impl ::windows::core::RuntimeName for ICertAdmin2 {}
1544 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1545 impl ICertAdmin2_Vtbl {
1546 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>() -> ICertAdmin2_Vtbl {
1547 unsafe extern "system" fn PublishCRLs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, date: f64, crlflags: i32) -> ::windows::core::HRESULT {
1548 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1549 let this = (*this).get_impl();
1550 this.PublishCRLs(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&date), ::core::mem::transmute_copy(&crlflags)).into()
1551 }
1552 unsafe extern "system" fn GetCAProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, propid: i32, propindex: i32, proptype: i32, flags: i32, pvarpropertyvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
1553 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1554 let this = (*this).get_impl();
1555 match this.GetCAProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&flags)) {
1556 ::core::result::Result::Ok(ok__) => {
1557 ::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
1558 ::windows::core::HRESULT(0)
1559 }
1560 ::core::result::Result::Err(err) => err.into(),
1561 }
1562 }
1563 unsafe extern "system" fn SetCAProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, propid: i32, propindex: i32, proptype: CERT_PROPERTY_TYPE, pvarpropertyvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
1564 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1565 let this = (*this).get_impl();
1566 this.SetCAProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&pvarpropertyvalue)).into()
1567 }
1568 unsafe extern "system" fn GetCAPropertyFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, propid: i32, ppropflags: *mut i32) -> ::windows::core::HRESULT {
1569 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1570 let this = (*this).get_impl();
1571 match this.GetCAPropertyFlags(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
1572 ::core::result::Result::Ok(ok__) => {
1573 ::core::ptr::write(ppropflags, ::core::mem::transmute(ok__));
1574 ::windows::core::HRESULT(0)
1575 }
1576 ::core::result::Result::Err(err) => err.into(),
1577 }
1578 }
1579 unsafe extern "system" fn GetCAPropertyDisplayName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, propid: i32, pstrdisplayname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1580 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1581 let this = (*this).get_impl();
1582 match this.GetCAPropertyDisplayName(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
1583 ::core::result::Result::Ok(ok__) => {
1584 ::core::ptr::write(pstrdisplayname, ::core::mem::transmute(ok__));
1585 ::windows::core::HRESULT(0)
1586 }
1587 ::core::result::Result::Err(err) => err.into(),
1588 }
1589 }
1590 unsafe extern "system" fn GetArchivedKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, requestid: i32, flags: i32, pstrarchivedkey: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1591 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1592 let this = (*this).get_impl();
1593 match this.GetArchivedKey(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute_copy(&flags)) {
1594 ::core::result::Result::Ok(ok__) => {
1595 ::core::ptr::write(pstrarchivedkey, ::core::mem::transmute(ok__));
1596 ::windows::core::HRESULT(0)
1597 }
1598 ::core::result::Result::Err(err) => err.into(),
1599 }
1600 }
1601 unsafe extern "system" fn GetConfigEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strnodepath: ::std::mem::MaybeUninit<::windows::core::BSTR>, strentryname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarentry: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
1602 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1603 let this = (*this).get_impl();
1604 match this.GetConfigEntry(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strnodepath), ::core::mem::transmute(&strentryname)) {
1605 ::core::result::Result::Ok(ok__) => {
1606 ::core::ptr::write(pvarentry, ::core::mem::transmute(ok__));
1607 ::windows::core::HRESULT(0)
1608 }
1609 ::core::result::Result::Err(err) => err.into(),
1610 }
1611 }
1612 unsafe extern "system" fn SetConfigEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strnodepath: ::std::mem::MaybeUninit<::windows::core::BSTR>, strentryname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarentry: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
1613 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1614 let this = (*this).get_impl();
1615 this.SetConfigEntry(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strnodepath), ::core::mem::transmute(&strentryname), ::core::mem::transmute_copy(&pvarentry)).into()
1616 }
1617 unsafe extern "system" fn ImportKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, requestid: i32, strcerthash: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: CERT_IMPORT_FLAGS, strkey: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1618 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1619 let this = (*this).get_impl();
1620 this.ImportKey(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strcerthash), ::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strkey)).into()
1621 }
1622 unsafe extern "system" fn GetMyRoles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, proles: *mut CERTADMIN_GET_ROLES_FLAGS) -> ::windows::core::HRESULT {
1623 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1624 let this = (*this).get_impl();
1625 match this.GetMyRoles(::core::mem::transmute(&strconfig)) {
1626 ::core::result::Result::Ok(ok__) => {
1627 ::core::ptr::write(proles, ::core::mem::transmute(ok__));
1628 ::windows::core::HRESULT(0)
1629 }
1630 ::core::result::Result::Err(err) => err.into(),
1631 }
1632 }
1633 unsafe extern "system" fn DeleteRow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertAdmin2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: CERT_DELETE_ROW_FLAGS, date: f64, table: CVRC_TABLE, rowid: i32, pcdeleted: *mut i32) -> ::windows::core::HRESULT {
1634 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1635 let this = (*this).get_impl();
1636 match this.DeleteRow(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&date), ::core::mem::transmute_copy(&table), ::core::mem::transmute_copy(&rowid)) {
1637 ::core::result::Result::Ok(ok__) => {
1638 ::core::ptr::write(pcdeleted, ::core::mem::transmute(ok__));
1639 ::windows::core::HRESULT(0)
1640 }
1641 ::core::result::Result::Err(err) => err.into(),
1642 }
1643 }
1644 Self {
1645 base__: ICertAdmin_Vtbl::new::<Identity, Impl, OFFSET>(),
1646 PublishCRLs: PublishCRLs::<Identity, Impl, OFFSET>,
1647 GetCAProperty: GetCAProperty::<Identity, Impl, OFFSET>,
1648 SetCAProperty: SetCAProperty::<Identity, Impl, OFFSET>,
1649 GetCAPropertyFlags: GetCAPropertyFlags::<Identity, Impl, OFFSET>,
1650 GetCAPropertyDisplayName: GetCAPropertyDisplayName::<Identity, Impl, OFFSET>,
1651 GetArchivedKey: GetArchivedKey::<Identity, Impl, OFFSET>,
1652 GetConfigEntry: GetConfigEntry::<Identity, Impl, OFFSET>,
1653 SetConfigEntry: SetConfigEntry::<Identity, Impl, OFFSET>,
1654 ImportKey: ImportKey::<Identity, Impl, OFFSET>,
1655 GetMyRoles: GetMyRoles::<Identity, Impl, OFFSET>,
1656 DeleteRow: DeleteRow::<Identity, Impl, OFFSET>,
1657 }
1658 }
1659 pub fn matches(iid: &windows::core::GUID) -> bool {
1660 iid == &<ICertAdmin2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertAdmin as ::windows::core::ComInterface>::IID
1661 }
1662 }
1663 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1664 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1665 pub trait ICertConfig_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
1666 fn Reset(&self, index: i32) -> ::windows::core::Result<i32>;
1667 fn Next(&self) -> ::windows::core::Result<i32>;
1668 fn GetField(&self, strfieldname: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1669 fn GetConfig(&self, flags: i32) -> ::windows::core::Result<::windows::core::BSTR>;
1670 }
1671 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1672 impl ::windows::core::RuntimeName for ICertConfig {}
1673 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1674 impl ICertConfig_Vtbl {
1675 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>() -> ICertConfig_Vtbl {
1676 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pcount: *mut i32) -> ::windows::core::HRESULT {
1677 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1678 let this = (*this).get_impl();
1679 match this.Reset(::core::mem::transmute_copy(&index)) {
1680 ::core::result::Result::Ok(ok__) => {
1681 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
1682 ::windows::core::HRESULT(0)
1683 }
1684 ::core::result::Result::Err(err) => err.into(),
1685 }
1686 }
1687 unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
1688 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1689 let this = (*this).get_impl();
1690 match this.Next() {
1691 ::core::result::Result::Ok(ok__) => {
1692 ::core::ptr::write(pindex, ::core::mem::transmute(ok__));
1693 ::windows::core::HRESULT(0)
1694 }
1695 ::core::result::Result::Err(err) => err.into(),
1696 }
1697 }
1698 unsafe extern "system" fn GetField<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strfieldname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1699 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1700 let this = (*this).get_impl();
1701 match this.GetField(::core::mem::transmute(&strfieldname)) {
1702 ::core::result::Result::Ok(ok__) => {
1703 ::core::ptr::write(pstrout, ::core::mem::transmute(ok__));
1704 ::windows::core::HRESULT(0)
1705 }
1706 ::core::result::Result::Err(err) => err.into(),
1707 }
1708 }
1709 unsafe extern "system" fn GetConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1710 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1711 let this = (*this).get_impl();
1712 match this.GetConfig(::core::mem::transmute_copy(&flags)) {
1713 ::core::result::Result::Ok(ok__) => {
1714 ::core::ptr::write(pstrout, ::core::mem::transmute(ok__));
1715 ::windows::core::HRESULT(0)
1716 }
1717 ::core::result::Result::Err(err) => err.into(),
1718 }
1719 }
1720 Self {
1721 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1722 Reset: Reset::<Identity, Impl, OFFSET>,
1723 Next: Next::<Identity, Impl, OFFSET>,
1724 GetField: GetField::<Identity, Impl, OFFSET>,
1725 GetConfig: GetConfig::<Identity, Impl, OFFSET>,
1726 }
1727 }
1728 pub fn matches(iid: &windows::core::GUID) -> bool {
1729 iid == &<ICertConfig as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1730 }
1731 }
1732 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1733 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1734 pub trait ICertConfig2_Impl: Sized + ICertConfig_Impl {
1735 fn SetSharedFolder(&self, strsharedfolder: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1736 }
1737 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1738 impl ::windows::core::RuntimeName for ICertConfig2 {}
1739 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1740 impl ICertConfig2_Vtbl {
1741 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig2_Impl, const OFFSET: isize>() -> ICertConfig2_Vtbl {
1742 unsafe extern "system" fn SetSharedFolder<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertConfig2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strsharedfolder: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1743 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1744 let this = (*this).get_impl();
1745 this.SetSharedFolder(::core::mem::transmute(&strsharedfolder)).into()
1746 }
1747 Self { base__: ICertConfig_Vtbl::new::<Identity, Impl, OFFSET>(), SetSharedFolder: SetSharedFolder::<Identity, Impl, OFFSET> }
1748 }
1749 pub fn matches(iid: &windows::core::GUID) -> bool {
1750 iid == &<ICertConfig2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertConfig as ::windows::core::ComInterface>::IID
1751 }
1752 }
1753 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1754 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1755 pub trait ICertEncodeAltName_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
1756 fn Decode(&self, strbinary: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1757 fn GetNameCount(&self) -> ::windows::core::Result<i32>;
1758 fn GetNameChoice(&self, nameindex: i32) -> ::windows::core::Result<i32>;
1759 fn GetName(&self, nameindex: i32) -> ::windows::core::Result<::windows::core::BSTR>;
1760 fn Reset(&self, namecount: i32) -> ::windows::core::Result<()>;
1761 fn SetNameEntry(&self, nameindex: i32, namechoice: CERT_ALT_NAME, strname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1762 fn Encode(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1763 }
1764 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1765 impl ::windows::core::RuntimeName for ICertEncodeAltName {}
1766 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1767 impl ICertEncodeAltName_Vtbl {
1768 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>() -> ICertEncodeAltName_Vtbl {
1769 unsafe extern "system" fn Decode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1770 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1771 let this = (*this).get_impl();
1772 this.Decode(::core::mem::transmute(&strbinary)).into()
1773 }
1774 unsafe extern "system" fn GetNameCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pnamecount: *mut i32) -> ::windows::core::HRESULT {
1775 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1776 let this = (*this).get_impl();
1777 match this.GetNameCount() {
1778 ::core::result::Result::Ok(ok__) => {
1779 ::core::ptr::write(pnamecount, ::core::mem::transmute(ok__));
1780 ::windows::core::HRESULT(0)
1781 }
1782 ::core::result::Result::Err(err) => err.into(),
1783 }
1784 }
1785 unsafe extern "system" fn GetNameChoice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, pnamechoice: *mut i32) -> ::windows::core::HRESULT {
1786 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1787 let this = (*this).get_impl();
1788 match this.GetNameChoice(::core::mem::transmute_copy(&nameindex)) {
1789 ::core::result::Result::Ok(ok__) => {
1790 ::core::ptr::write(pnamechoice, ::core::mem::transmute(ok__));
1791 ::windows::core::HRESULT(0)
1792 }
1793 ::core::result::Result::Err(err) => err.into(),
1794 }
1795 }
1796 unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, pstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1797 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1798 let this = (*this).get_impl();
1799 match this.GetName(::core::mem::transmute_copy(&nameindex)) {
1800 ::core::result::Result::Ok(ok__) => {
1801 ::core::ptr::write(pstrname, ::core::mem::transmute(ok__));
1802 ::windows::core::HRESULT(0)
1803 }
1804 ::core::result::Result::Err(err) => err.into(),
1805 }
1806 }
1807 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, namecount: i32) -> ::windows::core::HRESULT {
1808 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1809 let this = (*this).get_impl();
1810 this.Reset(::core::mem::transmute_copy(&namecount)).into()
1811 }
1812 unsafe extern "system" fn SetNameEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, namechoice: CERT_ALT_NAME, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1813 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1814 let this = (*this).get_impl();
1815 this.SetNameEntry(::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&namechoice), ::core::mem::transmute(&strname)).into()
1816 }
1817 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1818 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1819 let this = (*this).get_impl();
1820 match this.Encode() {
1821 ::core::result::Result::Ok(ok__) => {
1822 ::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
1823 ::windows::core::HRESULT(0)
1824 }
1825 ::core::result::Result::Err(err) => err.into(),
1826 }
1827 }
1828 Self {
1829 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1830 Decode: Decode::<Identity, Impl, OFFSET>,
1831 GetNameCount: GetNameCount::<Identity, Impl, OFFSET>,
1832 GetNameChoice: GetNameChoice::<Identity, Impl, OFFSET>,
1833 GetName: GetName::<Identity, Impl, OFFSET>,
1834 Reset: Reset::<Identity, Impl, OFFSET>,
1835 SetNameEntry: SetNameEntry::<Identity, Impl, OFFSET>,
1836 Encode: Encode::<Identity, Impl, OFFSET>,
1837 }
1838 }
1839 pub fn matches(iid: &windows::core::GUID) -> bool {
1840 iid == &<ICertEncodeAltName as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1841 }
1842 }
1843 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1844 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1845 pub trait ICertEncodeAltName2_Impl: Sized + ICertEncodeAltName_Impl {
1846 fn DecodeBlob(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
1847 fn EncodeBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
1848 fn GetNameBlob(&self, nameindex: i32, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
1849 fn SetNameEntryBlob(&self, nameindex: i32, namechoice: i32, strname: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
1850 }
1851 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1852 impl ::windows::core::RuntimeName for ICertEncodeAltName2 {}
1853 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1854 impl ICertEncodeAltName2_Vtbl {
1855 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>() -> ICertEncodeAltName2_Vtbl {
1856 unsafe extern "system" fn DecodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
1857 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1858 let this = (*this).get_impl();
1859 this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
1860 }
1861 unsafe extern "system" fn EncodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1862 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1863 let this = (*this).get_impl();
1864 match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
1865 ::core::result::Result::Ok(ok__) => {
1866 ::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
1867 ::windows::core::HRESULT(0)
1868 }
1869 ::core::result::Result::Err(err) => err.into(),
1870 }
1871 }
1872 unsafe extern "system" fn GetNameBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, encoding: EncodingType, pstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1873 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1874 let this = (*this).get_impl();
1875 match this.GetNameBlob(::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&encoding)) {
1876 ::core::result::Result::Ok(ok__) => {
1877 ::core::ptr::write(pstrname, ::core::mem::transmute(ok__));
1878 ::windows::core::HRESULT(0)
1879 }
1880 ::core::result::Result::Err(err) => err.into(),
1881 }
1882 }
1883 unsafe extern "system" fn SetNameEntryBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeAltName2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nameindex: i32, namechoice: i32, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
1884 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1885 let this = (*this).get_impl();
1886 this.SetNameEntryBlob(::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&namechoice), ::core::mem::transmute(&strname), ::core::mem::transmute_copy(&encoding)).into()
1887 }
1888 Self {
1889 base__: ICertEncodeAltName_Vtbl::new::<Identity, Impl, OFFSET>(),
1890 DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
1891 EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
1892 GetNameBlob: GetNameBlob::<Identity, Impl, OFFSET>,
1893 SetNameEntryBlob: SetNameEntryBlob::<Identity, Impl, OFFSET>,
1894 }
1895 }
1896 pub fn matches(iid: &windows::core::GUID) -> bool {
1897 iid == &<ICertEncodeAltName2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertEncodeAltName as ::windows::core::ComInterface>::IID
1898 }
1899 }
1900 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1901 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1902 pub trait ICertEncodeBitString_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
1903 fn Decode(&self, strbinary: &::windows::core::BSTR) -> ::windows::core::Result<()>;
1904 fn GetBitCount(&self) -> ::windows::core::Result<i32>;
1905 fn GetBitString(&self) -> ::windows::core::Result<::windows::core::BSTR>;
1906 fn Encode(&self, bitcount: i32, strbitstring: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
1907 }
1908 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1909 impl ::windows::core::RuntimeName for ICertEncodeBitString {}
1910 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1911 impl ICertEncodeBitString_Vtbl {
1912 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>() -> ICertEncodeBitString_Vtbl {
1913 unsafe extern "system" fn Decode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1914 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1915 let this = (*this).get_impl();
1916 this.Decode(::core::mem::transmute(&strbinary)).into()
1917 }
1918 unsafe extern "system" fn GetBitCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbitcount: *mut i32) -> ::windows::core::HRESULT {
1919 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1920 let this = (*this).get_impl();
1921 match this.GetBitCount() {
1922 ::core::result::Result::Ok(ok__) => {
1923 ::core::ptr::write(pbitcount, ::core::mem::transmute(ok__));
1924 ::windows::core::HRESULT(0)
1925 }
1926 ::core::result::Result::Err(err) => err.into(),
1927 }
1928 }
1929 unsafe extern "system" fn GetBitString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbitstring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1930 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1931 let this = (*this).get_impl();
1932 match this.GetBitString() {
1933 ::core::result::Result::Ok(ok__) => {
1934 ::core::ptr::write(pstrbitstring, ::core::mem::transmute(ok__));
1935 ::windows::core::HRESULT(0)
1936 }
1937 ::core::result::Result::Err(err) => err.into(),
1938 }
1939 }
1940 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bitcount: i32, strbitstring: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrbinary: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1941 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1942 let this = (*this).get_impl();
1943 match this.Encode(::core::mem::transmute_copy(&bitcount), ::core::mem::transmute(&strbitstring)) {
1944 ::core::result::Result::Ok(ok__) => {
1945 ::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
1946 ::windows::core::HRESULT(0)
1947 }
1948 ::core::result::Result::Err(err) => err.into(),
1949 }
1950 }
1951 Self {
1952 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1953 Decode: Decode::<Identity, Impl, OFFSET>,
1954 GetBitCount: GetBitCount::<Identity, Impl, OFFSET>,
1955 GetBitString: GetBitString::<Identity, Impl, OFFSET>,
1956 Encode: Encode::<Identity, Impl, OFFSET>,
1957 }
1958 }
1959 pub fn matches(iid: &windows::core::GUID) -> bool {
1960 iid == &<ICertEncodeBitString as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
1961 }
1962 }
1963 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1964 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1965 pub trait ICertEncodeBitString2_Impl: Sized + ICertEncodeBitString_Impl {
1966 fn DecodeBlob(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
1967 fn EncodeBlob(&self, bitcount: i32, strbitstring: &::windows::core::BSTR, encodingin: EncodingType, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
1968 fn GetBitStringBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
1969 }
1970 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1971 impl ::windows::core::RuntimeName for ICertEncodeBitString2 {}
1972 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1973 impl ICertEncodeBitString2_Vtbl {
1974 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>() -> ICertEncodeBitString2_Vtbl {
1975 unsafe extern "system" fn DecodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
1976 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1977 let this = (*this).get_impl();
1978 this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
1979 }
1980 unsafe extern "system" fn EncodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bitcount: i32, strbitstring: ::std::mem::MaybeUninit<::windows::core::BSTR>, encodingin: EncodingType, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1981 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1982 let this = (*this).get_impl();
1983 match this.EncodeBlob(::core::mem::transmute_copy(&bitcount), ::core::mem::transmute(&strbitstring), ::core::mem::transmute_copy(&encodingin), ::core::mem::transmute_copy(&encoding)) {
1984 ::core::result::Result::Ok(ok__) => {
1985 ::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
1986 ::windows::core::HRESULT(0)
1987 }
1988 ::core::result::Result::Err(err) => err.into(),
1989 }
1990 }
1991 unsafe extern "system" fn GetBitStringBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeBitString2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrbitstring: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
1992 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1993 let this = (*this).get_impl();
1994 match this.GetBitStringBlob(::core::mem::transmute_copy(&encoding)) {
1995 ::core::result::Result::Ok(ok__) => {
1996 ::core::ptr::write(pstrbitstring, ::core::mem::transmute(ok__));
1997 ::windows::core::HRESULT(0)
1998 }
1999 ::core::result::Result::Err(err) => err.into(),
2000 }
2001 }
2002 Self {
2003 base__: ICertEncodeBitString_Vtbl::new::<Identity, Impl, OFFSET>(),
2004 DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
2005 EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
2006 GetBitStringBlob: GetBitStringBlob::<Identity, Impl, OFFSET>,
2007 }
2008 }
2009 pub fn matches(iid: &windows::core::GUID) -> bool {
2010 iid == &<ICertEncodeBitString2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertEncodeBitString as ::windows::core::ComInterface>::IID
2011 }
2012 }
2013 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2015 pub trait ICertEncodeCRLDistInfo_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2016 fn Decode(&self, strbinary: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2017 fn GetDistPointCount(&self) -> ::windows::core::Result<i32>;
2018 fn GetNameCount(&self, distpointindex: i32) -> ::windows::core::Result<i32>;
2019 fn GetNameChoice(&self, distpointindex: i32, nameindex: i32) -> ::windows::core::Result<i32>;
2020 fn GetName(&self, distpointindex: i32, nameindex: i32) -> ::windows::core::Result<::windows::core::BSTR>;
2021 fn Reset(&self, distpointcount: i32) -> ::windows::core::Result<()>;
2022 fn SetNameCount(&self, distpointindex: i32, namecount: i32) -> ::windows::core::Result<()>;
2023 fn SetNameEntry(&self, distpointindex: i32, nameindex: i32, namechoice: CERT_ALT_NAME, strname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2024 fn Encode(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2025 }
2026 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2027 impl ::windows::core::RuntimeName for ICertEncodeCRLDistInfo {}
2028 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2029 impl ICertEncodeCRLDistInfo_Vtbl {
2030 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>() -> ICertEncodeCRLDistInfo_Vtbl {
2031 unsafe extern "system" fn Decode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2032 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2033 let this = (*this).get_impl();
2034 this.Decode(::core::mem::transmute(&strbinary)).into()
2035 }
2036 unsafe extern "system" fn GetDistPointCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdistpointcount: *mut i32) -> ::windows::core::HRESULT {
2037 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2038 let this = (*this).get_impl();
2039 match this.GetDistPointCount() {
2040 ::core::result::Result::Ok(ok__) => {
2041 ::core::ptr::write(pdistpointcount, ::core::mem::transmute(ok__));
2042 ::windows::core::HRESULT(0)
2043 }
2044 ::core::result::Result::Err(err) => err.into(),
2045 }
2046 }
2047 unsafe extern "system" fn GetNameCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, pnamecount: *mut i32) -> ::windows::core::HRESULT {
2048 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2049 let this = (*this).get_impl();
2050 match this.GetNameCount(::core::mem::transmute_copy(&distpointindex)) {
2051 ::core::result::Result::Ok(ok__) => {
2052 ::core::ptr::write(pnamecount, ::core::mem::transmute(ok__));
2053 ::windows::core::HRESULT(0)
2054 }
2055 ::core::result::Result::Err(err) => err.into(),
2056 }
2057 }
2058 unsafe extern "system" fn GetNameChoice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, nameindex: i32, pnamechoice: *mut i32) -> ::windows::core::HRESULT {
2059 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2060 let this = (*this).get_impl();
2061 match this.GetNameChoice(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&nameindex)) {
2062 ::core::result::Result::Ok(ok__) => {
2063 ::core::ptr::write(pnamechoice, ::core::mem::transmute(ok__));
2064 ::windows::core::HRESULT(0)
2065 }
2066 ::core::result::Result::Err(err) => err.into(),
2067 }
2068 }
2069 unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, nameindex: i32, pstrname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2070 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2071 let this = (*this).get_impl();
2072 match this.GetName(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&nameindex)) {
2073 ::core::result::Result::Ok(ok__) => {
2074 ::core::ptr::write(pstrname, ::core::mem::transmute(ok__));
2075 ::windows::core::HRESULT(0)
2076 }
2077 ::core::result::Result::Err(err) => err.into(),
2078 }
2079 }
2080 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointcount: i32) -> ::windows::core::HRESULT {
2081 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2082 let this = (*this).get_impl();
2083 this.Reset(::core::mem::transmute_copy(&distpointcount)).into()
2084 }
2085 unsafe extern "system" fn SetNameCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, namecount: i32) -> ::windows::core::HRESULT {
2086 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2087 let this = (*this).get_impl();
2088 this.SetNameCount(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&namecount)).into()
2089 }
2090 unsafe extern "system" fn SetNameEntry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, distpointindex: i32, nameindex: i32, namechoice: CERT_ALT_NAME, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2091 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2092 let this = (*this).get_impl();
2093 this.SetNameEntry(::core::mem::transmute_copy(&distpointindex), ::core::mem::transmute_copy(&nameindex), ::core::mem::transmute_copy(&namechoice), ::core::mem::transmute(&strname)).into()
2094 }
2095 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2096 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2097 let this = (*this).get_impl();
2098 match this.Encode() {
2099 ::core::result::Result::Ok(ok__) => {
2100 ::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
2101 ::windows::core::HRESULT(0)
2102 }
2103 ::core::result::Result::Err(err) => err.into(),
2104 }
2105 }
2106 Self {
2107 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2108 Decode: Decode::<Identity, Impl, OFFSET>,
2109 GetDistPointCount: GetDistPointCount::<Identity, Impl, OFFSET>,
2110 GetNameCount: GetNameCount::<Identity, Impl, OFFSET>,
2111 GetNameChoice: GetNameChoice::<Identity, Impl, OFFSET>,
2112 GetName: GetName::<Identity, Impl, OFFSET>,
2113 Reset: Reset::<Identity, Impl, OFFSET>,
2114 SetNameCount: SetNameCount::<Identity, Impl, OFFSET>,
2115 SetNameEntry: SetNameEntry::<Identity, Impl, OFFSET>,
2116 Encode: Encode::<Identity, Impl, OFFSET>,
2117 }
2118 }
2119 pub fn matches(iid: &windows::core::GUID) -> bool {
2120 iid == &<ICertEncodeCRLDistInfo as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2121 }
2122 }
2123 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2124 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2125 pub trait ICertEncodeCRLDistInfo2_Impl: Sized + ICertEncodeCRLDistInfo_Impl {
2126 fn DecodeBlob(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
2127 fn EncodeBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
2128 }
2129 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2130 impl ::windows::core::RuntimeName for ICertEncodeCRLDistInfo2 {}
2131 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2132 impl ICertEncodeCRLDistInfo2_Vtbl {
2133 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo2_Impl, const OFFSET: isize>() -> ICertEncodeCRLDistInfo2_Vtbl {
2134 unsafe extern "system" fn DecodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
2135 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2136 let this = (*this).get_impl();
2137 this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
2138 }
2139 unsafe extern "system" fn EncodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeCRLDistInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2140 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2141 let this = (*this).get_impl();
2142 match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
2143 ::core::result::Result::Ok(ok__) => {
2144 ::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
2145 ::windows::core::HRESULT(0)
2146 }
2147 ::core::result::Result::Err(err) => err.into(),
2148 }
2149 }
2150 Self {
2151 base__: ICertEncodeCRLDistInfo_Vtbl::new::<Identity, Impl, OFFSET>(),
2152 DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
2153 EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
2154 }
2155 }
2156 pub fn matches(iid: &windows::core::GUID) -> bool {
2157 iid == &<ICertEncodeCRLDistInfo2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertEncodeCRLDistInfo as ::windows::core::ComInterface>::IID
2158 }
2159 }
2160 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2161 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2162 pub trait ICertEncodeDateArray_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2163 fn Decode(&self, strbinary: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2164 fn GetCount(&self) -> ::windows::core::Result<i32>;
2165 fn GetValue(&self, index: i32) -> ::windows::core::Result<f64>;
2166 fn Reset(&self, count: i32) -> ::windows::core::Result<()>;
2167 fn SetValue(&self, index: i32, value: f64) -> ::windows::core::Result<()>;
2168 fn Encode(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2169 }
2170 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2171 impl ::windows::core::RuntimeName for ICertEncodeDateArray {}
2172 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2173 impl ICertEncodeDateArray_Vtbl {
2174 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>() -> ICertEncodeDateArray_Vtbl {
2175 unsafe extern "system" fn Decode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2176 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2177 let this = (*this).get_impl();
2178 this.Decode(::core::mem::transmute(&strbinary)).into()
2179 }
2180 unsafe extern "system" fn GetCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut i32) -> ::windows::core::HRESULT {
2181 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2182 let this = (*this).get_impl();
2183 match this.GetCount() {
2184 ::core::result::Result::Ok(ok__) => {
2185 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
2186 ::windows::core::HRESULT(0)
2187 }
2188 ::core::result::Result::Err(err) => err.into(),
2189 }
2190 }
2191 unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pvalue: *mut f64) -> ::windows::core::HRESULT {
2192 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2193 let this = (*this).get_impl();
2194 match this.GetValue(::core::mem::transmute_copy(&index)) {
2195 ::core::result::Result::Ok(ok__) => {
2196 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
2197 ::windows::core::HRESULT(0)
2198 }
2199 ::core::result::Result::Err(err) => err.into(),
2200 }
2201 }
2202 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32) -> ::windows::core::HRESULT {
2203 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2204 let this = (*this).get_impl();
2205 this.Reset(::core::mem::transmute_copy(&count)).into()
2206 }
2207 unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, value: f64) -> ::windows::core::HRESULT {
2208 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2209 let this = (*this).get_impl();
2210 this.SetValue(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&value)).into()
2211 }
2212 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2213 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2214 let this = (*this).get_impl();
2215 match this.Encode() {
2216 ::core::result::Result::Ok(ok__) => {
2217 ::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
2218 ::windows::core::HRESULT(0)
2219 }
2220 ::core::result::Result::Err(err) => err.into(),
2221 }
2222 }
2223 Self {
2224 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2225 Decode: Decode::<Identity, Impl, OFFSET>,
2226 GetCount: GetCount::<Identity, Impl, OFFSET>,
2227 GetValue: GetValue::<Identity, Impl, OFFSET>,
2228 Reset: Reset::<Identity, Impl, OFFSET>,
2229 SetValue: SetValue::<Identity, Impl, OFFSET>,
2230 Encode: Encode::<Identity, Impl, OFFSET>,
2231 }
2232 }
2233 pub fn matches(iid: &windows::core::GUID) -> bool {
2234 iid == &<ICertEncodeDateArray as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2235 }
2236 }
2237 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2238 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2239 pub trait ICertEncodeDateArray2_Impl: Sized + ICertEncodeDateArray_Impl {
2240 fn DecodeBlob(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
2241 fn EncodeBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
2242 }
2243 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2244 impl ::windows::core::RuntimeName for ICertEncodeDateArray2 {}
2245 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2246 impl ICertEncodeDateArray2_Vtbl {
2247 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray2_Impl, const OFFSET: isize>() -> ICertEncodeDateArray2_Vtbl {
2248 unsafe extern "system" fn DecodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
2249 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2250 let this = (*this).get_impl();
2251 this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
2252 }
2253 unsafe extern "system" fn EncodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeDateArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2254 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2255 let this = (*this).get_impl();
2256 match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
2257 ::core::result::Result::Ok(ok__) => {
2258 ::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
2259 ::windows::core::HRESULT(0)
2260 }
2261 ::core::result::Result::Err(err) => err.into(),
2262 }
2263 }
2264 Self {
2265 base__: ICertEncodeDateArray_Vtbl::new::<Identity, Impl, OFFSET>(),
2266 DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
2267 EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
2268 }
2269 }
2270 pub fn matches(iid: &windows::core::GUID) -> bool {
2271 iid == &<ICertEncodeDateArray2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertEncodeDateArray as ::windows::core::ComInterface>::IID
2272 }
2273 }
2274 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2275 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2276 pub trait ICertEncodeLongArray_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2277 fn Decode(&self, strbinary: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2278 fn GetCount(&self) -> ::windows::core::Result<i32>;
2279 fn GetValue(&self, index: i32) -> ::windows::core::Result<i32>;
2280 fn Reset(&self, count: i32) -> ::windows::core::Result<()>;
2281 fn SetValue(&self, index: i32, value: i32) -> ::windows::core::Result<()>;
2282 fn Encode(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2283 }
2284 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2285 impl ::windows::core::RuntimeName for ICertEncodeLongArray {}
2286 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2287 impl ICertEncodeLongArray_Vtbl {
2288 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>() -> ICertEncodeLongArray_Vtbl {
2289 unsafe extern "system" fn Decode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2290 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2291 let this = (*this).get_impl();
2292 this.Decode(::core::mem::transmute(&strbinary)).into()
2293 }
2294 unsafe extern "system" fn GetCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut i32) -> ::windows::core::HRESULT {
2295 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2296 let this = (*this).get_impl();
2297 match this.GetCount() {
2298 ::core::result::Result::Ok(ok__) => {
2299 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
2300 ::windows::core::HRESULT(0)
2301 }
2302 ::core::result::Result::Err(err) => err.into(),
2303 }
2304 }
2305 unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pvalue: *mut i32) -> ::windows::core::HRESULT {
2306 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2307 let this = (*this).get_impl();
2308 match this.GetValue(::core::mem::transmute_copy(&index)) {
2309 ::core::result::Result::Ok(ok__) => {
2310 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
2311 ::windows::core::HRESULT(0)
2312 }
2313 ::core::result::Result::Err(err) => err.into(),
2314 }
2315 }
2316 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32) -> ::windows::core::HRESULT {
2317 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2318 let this = (*this).get_impl();
2319 this.Reset(::core::mem::transmute_copy(&count)).into()
2320 }
2321 unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, value: i32) -> ::windows::core::HRESULT {
2322 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2323 let this = (*this).get_impl();
2324 this.SetValue(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&value)).into()
2325 }
2326 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2327 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2328 let this = (*this).get_impl();
2329 match this.Encode() {
2330 ::core::result::Result::Ok(ok__) => {
2331 ::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
2332 ::windows::core::HRESULT(0)
2333 }
2334 ::core::result::Result::Err(err) => err.into(),
2335 }
2336 }
2337 Self {
2338 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2339 Decode: Decode::<Identity, Impl, OFFSET>,
2340 GetCount: GetCount::<Identity, Impl, OFFSET>,
2341 GetValue: GetValue::<Identity, Impl, OFFSET>,
2342 Reset: Reset::<Identity, Impl, OFFSET>,
2343 SetValue: SetValue::<Identity, Impl, OFFSET>,
2344 Encode: Encode::<Identity, Impl, OFFSET>,
2345 }
2346 }
2347 pub fn matches(iid: &windows::core::GUID) -> bool {
2348 iid == &<ICertEncodeLongArray as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2349 }
2350 }
2351 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2352 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2353 pub trait ICertEncodeLongArray2_Impl: Sized + ICertEncodeLongArray_Impl {
2354 fn DecodeBlob(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
2355 fn EncodeBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
2356 }
2357 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2358 impl ::windows::core::RuntimeName for ICertEncodeLongArray2 {}
2359 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2360 impl ICertEncodeLongArray2_Vtbl {
2361 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray2_Impl, const OFFSET: isize>() -> ICertEncodeLongArray2_Vtbl {
2362 unsafe extern "system" fn DecodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
2363 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2364 let this = (*this).get_impl();
2365 this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
2366 }
2367 unsafe extern "system" fn EncodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeLongArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2368 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2369 let this = (*this).get_impl();
2370 match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
2371 ::core::result::Result::Ok(ok__) => {
2372 ::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
2373 ::windows::core::HRESULT(0)
2374 }
2375 ::core::result::Result::Err(err) => err.into(),
2376 }
2377 }
2378 Self {
2379 base__: ICertEncodeLongArray_Vtbl::new::<Identity, Impl, OFFSET>(),
2380 DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
2381 EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
2382 }
2383 }
2384 pub fn matches(iid: &windows::core::GUID) -> bool {
2385 iid == &<ICertEncodeLongArray2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertEncodeLongArray as ::windows::core::ComInterface>::IID
2386 }
2387 }
2388 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2389 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2390 pub trait ICertEncodeStringArray_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2391 fn Decode(&self, strbinary: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2392 fn GetStringType(&self) -> ::windows::core::Result<i32>;
2393 fn GetCount(&self) -> ::windows::core::Result<i32>;
2394 fn GetValue(&self, index: i32) -> ::windows::core::Result<::windows::core::BSTR>;
2395 fn Reset(&self, count: i32, stringtype: super::CERT_RDN_ATTR_VALUE_TYPE) -> ::windows::core::Result<()>;
2396 fn SetValue(&self, index: i32, str: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2397 fn Encode(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2398 }
2399 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2400 impl ::windows::core::RuntimeName for ICertEncodeStringArray {}
2401 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2402 impl ICertEncodeStringArray_Vtbl {
2403 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>() -> ICertEncodeStringArray_Vtbl {
2404 unsafe extern "system" fn Decode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strbinary: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2405 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2406 let this = (*this).get_impl();
2407 this.Decode(::core::mem::transmute(&strbinary)).into()
2408 }
2409 unsafe extern "system" fn GetStringType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstringtype: *mut i32) -> ::windows::core::HRESULT {
2410 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2411 let this = (*this).get_impl();
2412 match this.GetStringType() {
2413 ::core::result::Result::Ok(ok__) => {
2414 ::core::ptr::write(pstringtype, ::core::mem::transmute(ok__));
2415 ::windows::core::HRESULT(0)
2416 }
2417 ::core::result::Result::Err(err) => err.into(),
2418 }
2419 }
2420 unsafe extern "system" fn GetCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut i32) -> ::windows::core::HRESULT {
2421 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2422 let this = (*this).get_impl();
2423 match this.GetCount() {
2424 ::core::result::Result::Ok(ok__) => {
2425 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
2426 ::windows::core::HRESULT(0)
2427 }
2428 ::core::result::Result::Err(err) => err.into(),
2429 }
2430 }
2431 unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pstr: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2432 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2433 let this = (*this).get_impl();
2434 match this.GetValue(::core::mem::transmute_copy(&index)) {
2435 ::core::result::Result::Ok(ok__) => {
2436 ::core::ptr::write(pstr, ::core::mem::transmute(ok__));
2437 ::windows::core::HRESULT(0)
2438 }
2439 ::core::result::Result::Err(err) => err.into(),
2440 }
2441 }
2442 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: i32, stringtype: super::CERT_RDN_ATTR_VALUE_TYPE) -> ::windows::core::HRESULT {
2443 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2444 let this = (*this).get_impl();
2445 this.Reset(::core::mem::transmute_copy(&count), ::core::mem::transmute_copy(&stringtype)).into()
2446 }
2447 unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, str: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2448 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2449 let this = (*this).get_impl();
2450 this.SetValue(::core::mem::transmute_copy(&index), ::core::mem::transmute(&str)).into()
2451 }
2452 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrbinary: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2453 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2454 let this = (*this).get_impl();
2455 match this.Encode() {
2456 ::core::result::Result::Ok(ok__) => {
2457 ::core::ptr::write(pstrbinary, ::core::mem::transmute(ok__));
2458 ::windows::core::HRESULT(0)
2459 }
2460 ::core::result::Result::Err(err) => err.into(),
2461 }
2462 }
2463 Self {
2464 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2465 Decode: Decode::<Identity, Impl, OFFSET>,
2466 GetStringType: GetStringType::<Identity, Impl, OFFSET>,
2467 GetCount: GetCount::<Identity, Impl, OFFSET>,
2468 GetValue: GetValue::<Identity, Impl, OFFSET>,
2469 Reset: Reset::<Identity, Impl, OFFSET>,
2470 SetValue: SetValue::<Identity, Impl, OFFSET>,
2471 Encode: Encode::<Identity, Impl, OFFSET>,
2472 }
2473 }
2474 pub fn matches(iid: &windows::core::GUID) -> bool {
2475 iid == &<ICertEncodeStringArray as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2476 }
2477 }
2478 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2479 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2480 pub trait ICertEncodeStringArray2_Impl: Sized + ICertEncodeStringArray_Impl {
2481 fn DecodeBlob(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
2482 fn EncodeBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
2483 }
2484 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2485 impl ::windows::core::RuntimeName for ICertEncodeStringArray2 {}
2486 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2487 impl ICertEncodeStringArray2_Vtbl {
2488 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray2_Impl, const OFFSET: isize>() -> ICertEncodeStringArray2_Vtbl {
2489 unsafe extern "system" fn DecodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
2490 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2491 let this = (*this).get_impl();
2492 this.DecodeBlob(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
2493 }
2494 unsafe extern "system" fn EncodeBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertEncodeStringArray2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrencodeddata: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2495 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2496 let this = (*this).get_impl();
2497 match this.EncodeBlob(::core::mem::transmute_copy(&encoding)) {
2498 ::core::result::Result::Ok(ok__) => {
2499 ::core::ptr::write(pstrencodeddata, ::core::mem::transmute(ok__));
2500 ::windows::core::HRESULT(0)
2501 }
2502 ::core::result::Result::Err(err) => err.into(),
2503 }
2504 }
2505 Self {
2506 base__: ICertEncodeStringArray_Vtbl::new::<Identity, Impl, OFFSET>(),
2507 DecodeBlob: DecodeBlob::<Identity, Impl, OFFSET>,
2508 EncodeBlob: EncodeBlob::<Identity, Impl, OFFSET>,
2509 }
2510 }
2511 pub fn matches(iid: &windows::core::GUID) -> bool {
2512 iid == &<ICertEncodeStringArray2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertEncodeStringArray as ::windows::core::ComInterface>::IID
2513 }
2514 }
2515 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2516 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2517 pub trait ICertExit_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2518 fn Initialize(&self, strconfig: &::windows::core::BSTR) -> ::windows::core::Result<CERT_EXIT_EVENT_MASK>;
2519 fn Notify(&self, exitevent: i32, context: i32) -> ::windows::core::Result<()>;
2520 fn GetDescription(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2521 }
2522 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2523 impl ::windows::core::RuntimeName for ICertExit {}
2524 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2525 impl ICertExit_Vtbl {
2526 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>() -> ICertExit_Vtbl {
2527 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, peventmask: *mut CERT_EXIT_EVENT_MASK) -> ::windows::core::HRESULT {
2528 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2529 let this = (*this).get_impl();
2530 match this.Initialize(::core::mem::transmute(&strconfig)) {
2531 ::core::result::Result::Ok(ok__) => {
2532 ::core::ptr::write(peventmask, ::core::mem::transmute(ok__));
2533 ::windows::core::HRESULT(0)
2534 }
2535 ::core::result::Result::Err(err) => err.into(),
2536 }
2537 }
2538 unsafe extern "system" fn Notify<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exitevent: i32, context: i32) -> ::windows::core::HRESULT {
2539 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2540 let this = (*this).get_impl();
2541 this.Notify(::core::mem::transmute_copy(&exitevent), ::core::mem::transmute_copy(&context)).into()
2542 }
2543 unsafe extern "system" fn GetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2544 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2545 let this = (*this).get_impl();
2546 match this.GetDescription() {
2547 ::core::result::Result::Ok(ok__) => {
2548 ::core::ptr::write(pstrdescription, ::core::mem::transmute(ok__));
2549 ::windows::core::HRESULT(0)
2550 }
2551 ::core::result::Result::Err(err) => err.into(),
2552 }
2553 }
2554 Self {
2555 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2556 Initialize: Initialize::<Identity, Impl, OFFSET>,
2557 Notify: Notify::<Identity, Impl, OFFSET>,
2558 GetDescription: GetDescription::<Identity, Impl, OFFSET>,
2559 }
2560 }
2561 pub fn matches(iid: &windows::core::GUID) -> bool {
2562 iid == &<ICertExit as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2563 }
2564 }
2565 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2566 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2567 pub trait ICertExit2_Impl: Sized + ICertExit_Impl {
2568 fn GetManageModule(&self) -> ::windows::core::Result<ICertManageModule>;
2569 }
2570 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2571 impl ::windows::core::RuntimeName for ICertExit2 {}
2572 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2573 impl ICertExit2_Vtbl {
2574 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertExit2_Impl, const OFFSET: isize>() -> ICertExit2_Vtbl {
2575 unsafe extern "system" fn GetManageModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertExit2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmanagemodule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2576 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2577 let this = (*this).get_impl();
2578 match this.GetManageModule() {
2579 ::core::result::Result::Ok(ok__) => {
2580 ::core::ptr::write(ppmanagemodule, ::core::mem::transmute(ok__));
2581 ::windows::core::HRESULT(0)
2582 }
2583 ::core::result::Result::Err(err) => err.into(),
2584 }
2585 }
2586 Self { base__: ICertExit_Vtbl::new::<Identity, Impl, OFFSET>(), GetManageModule: GetManageModule::<Identity, Impl, OFFSET> }
2587 }
2588 pub fn matches(iid: &windows::core::GUID) -> bool {
2589 iid == &<ICertExit2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertExit as ::windows::core::ComInterface>::IID
2590 }
2591 }
2592 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2593 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2594 pub trait ICertGetConfig_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2595 fn GetConfig(&self, flags: CERT_GET_CONFIG_FLAGS) -> ::windows::core::Result<::windows::core::BSTR>;
2596 }
2597 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2598 impl ::windows::core::RuntimeName for ICertGetConfig {}
2599 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2600 impl ICertGetConfig_Vtbl {
2601 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertGetConfig_Impl, const OFFSET: isize>() -> ICertGetConfig_Vtbl {
2602 unsafe extern "system" fn GetConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertGetConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_GET_CONFIG_FLAGS, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2603 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2604 let this = (*this).get_impl();
2605 match this.GetConfig(::core::mem::transmute_copy(&flags)) {
2606 ::core::result::Result::Ok(ok__) => {
2607 ::core::ptr::write(pstrout, ::core::mem::transmute(ok__));
2608 ::windows::core::HRESULT(0)
2609 }
2610 ::core::result::Result::Err(err) => err.into(),
2611 }
2612 }
2613 Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), GetConfig: GetConfig::<Identity, Impl, OFFSET> }
2614 }
2615 pub fn matches(iid: &windows::core::GUID) -> bool {
2616 iid == &<ICertGetConfig as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2617 }
2618 }
2619 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2620 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2621 pub trait ICertManageModule_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2622 fn GetProperty(&self, strconfig: &::windows::core::BSTR, strstoragelocation: &::windows::core::BSTR, strpropertyname: &::windows::core::BSTR, flags: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
2623 fn SetProperty(&self, strconfig: &::windows::core::BSTR, strstoragelocation: &::windows::core::BSTR, strpropertyname: &::windows::core::BSTR, flags: i32, pvarproperty: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
2624 fn Configure(&self, strconfig: &::windows::core::BSTR, strstoragelocation: &::windows::core::BSTR, flags: i32) -> ::windows::core::Result<()>;
2625 }
2626 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2627 impl ::windows::core::RuntimeName for ICertManageModule {}
2628 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2629 impl ICertManageModule_Vtbl {
2630 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>() -> ICertManageModule_Vtbl {
2631 unsafe extern "system" fn GetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strstoragelocation: ::std::mem::MaybeUninit<::windows::core::BSTR>, strpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: i32, pvarproperty: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2632 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2633 let this = (*this).get_impl();
2634 match this.GetProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strstoragelocation), ::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&flags)) {
2635 ::core::result::Result::Ok(ok__) => {
2636 ::core::ptr::write(pvarproperty, ::core::mem::transmute(ok__));
2637 ::windows::core::HRESULT(0)
2638 }
2639 ::core::result::Result::Err(err) => err.into(),
2640 }
2641 }
2642 unsafe extern "system" fn SetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strstoragelocation: ::std::mem::MaybeUninit<::windows::core::BSTR>, strpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: i32, pvarproperty: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
2643 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2644 let this = (*this).get_impl();
2645 this.SetProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strstoragelocation), ::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarproperty)).into()
2646 }
2647 unsafe extern "system" fn Configure<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertManageModule_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strstoragelocation: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: i32) -> ::windows::core::HRESULT {
2648 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2649 let this = (*this).get_impl();
2650 this.Configure(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strstoragelocation), ::core::mem::transmute_copy(&flags)).into()
2651 }
2652 Self {
2653 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2654 GetProperty: GetProperty::<Identity, Impl, OFFSET>,
2655 SetProperty: SetProperty::<Identity, Impl, OFFSET>,
2656 Configure: Configure::<Identity, Impl, OFFSET>,
2657 }
2658 }
2659 pub fn matches(iid: &windows::core::GUID) -> bool {
2660 iid == &<ICertManageModule as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2661 }
2662 }
2663 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2664 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2665 pub trait ICertPolicy_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2666 fn Initialize(&self, strconfig: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2667 fn VerifyRequest(&self, strconfig: &::windows::core::BSTR, context: i32, bnewrequest: i32, flags: i32) -> ::windows::core::Result<i32>;
2668 fn GetDescription(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2669 fn ShutDown(&self) -> ::windows::core::Result<()>;
2670 }
2671 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2672 impl ::windows::core::RuntimeName for ICertPolicy {}
2673 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2674 impl ICertPolicy_Vtbl {
2675 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>() -> ICertPolicy_Vtbl {
2676 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2677 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2678 let this = (*this).get_impl();
2679 this.Initialize(::core::mem::transmute(&strconfig)).into()
2680 }
2681 unsafe extern "system" fn VerifyRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, context: i32, bnewrequest: i32, flags: i32, pdisposition: *mut i32) -> ::windows::core::HRESULT {
2682 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2683 let this = (*this).get_impl();
2684 match this.VerifyRequest(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&bnewrequest), ::core::mem::transmute_copy(&flags)) {
2685 ::core::result::Result::Ok(ok__) => {
2686 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
2687 ::windows::core::HRESULT(0)
2688 }
2689 ::core::result::Result::Err(err) => err.into(),
2690 }
2691 }
2692 unsafe extern "system" fn GetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2693 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2694 let this = (*this).get_impl();
2695 match this.GetDescription() {
2696 ::core::result::Result::Ok(ok__) => {
2697 ::core::ptr::write(pstrdescription, ::core::mem::transmute(ok__));
2698 ::windows::core::HRESULT(0)
2699 }
2700 ::core::result::Result::Err(err) => err.into(),
2701 }
2702 }
2703 unsafe extern "system" fn ShutDown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2704 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2705 let this = (*this).get_impl();
2706 this.ShutDown().into()
2707 }
2708 Self {
2709 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2710 Initialize: Initialize::<Identity, Impl, OFFSET>,
2711 VerifyRequest: VerifyRequest::<Identity, Impl, OFFSET>,
2712 GetDescription: GetDescription::<Identity, Impl, OFFSET>,
2713 ShutDown: ShutDown::<Identity, Impl, OFFSET>,
2714 }
2715 }
2716 pub fn matches(iid: &windows::core::GUID) -> bool {
2717 iid == &<ICertPolicy as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2718 }
2719 }
2720 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2721 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2722 pub trait ICertPolicy2_Impl: Sized + ICertPolicy_Impl {
2723 fn GetManageModule(&self) -> ::windows::core::Result<ICertManageModule>;
2724 }
2725 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2726 impl ::windows::core::RuntimeName for ICertPolicy2 {}
2727 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2728 impl ICertPolicy2_Vtbl {
2729 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy2_Impl, const OFFSET: isize>() -> ICertPolicy2_Vtbl {
2730 unsafe extern "system" fn GetManageModule<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPolicy2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppmanagemodule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2731 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2732 let this = (*this).get_impl();
2733 match this.GetManageModule() {
2734 ::core::result::Result::Ok(ok__) => {
2735 ::core::ptr::write(ppmanagemodule, ::core::mem::transmute(ok__));
2736 ::windows::core::HRESULT(0)
2737 }
2738 ::core::result::Result::Err(err) => err.into(),
2739 }
2740 }
2741 Self { base__: ICertPolicy_Vtbl::new::<Identity, Impl, OFFSET>(), GetManageModule: GetManageModule::<Identity, Impl, OFFSET> }
2742 }
2743 pub fn matches(iid: &windows::core::GUID) -> bool {
2744 iid == &<ICertPolicy2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertPolicy as ::windows::core::ComInterface>::IID
2745 }
2746 }
2747 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2748 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2749 pub trait ICertProperties_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2750 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ICertProperty>;
2751 fn Count(&self) -> ::windows::core::Result<i32>;
2752 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
2753 fn Add(&self, pval: ::core::option::Option<&ICertProperty>) -> ::windows::core::Result<()>;
2754 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
2755 fn Clear(&self) -> ::windows::core::Result<()>;
2756 fn InitializeFromCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2757 }
2758 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2759 impl ::windows::core::RuntimeName for ICertProperties {}
2760 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2761 impl ICertProperties_Vtbl {
2762 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>() -> ICertProperties_Vtbl {
2763 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2764 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2765 let this = (*this).get_impl();
2766 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
2767 ::core::result::Result::Ok(ok__) => {
2768 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
2769 ::windows::core::HRESULT(0)
2770 }
2771 ::core::result::Result::Err(err) => err.into(),
2772 }
2773 }
2774 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
2775 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2776 let this = (*this).get_impl();
2777 match this.Count() {
2778 ::core::result::Result::Ok(ok__) => {
2779 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
2780 ::windows::core::HRESULT(0)
2781 }
2782 ::core::result::Result::Err(err) => err.into(),
2783 }
2784 }
2785 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2786 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2787 let this = (*this).get_impl();
2788 match this._NewEnum() {
2789 ::core::result::Result::Ok(ok__) => {
2790 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
2791 ::windows::core::HRESULT(0)
2792 }
2793 ::core::result::Result::Err(err) => err.into(),
2794 }
2795 }
2796 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2797 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2798 let this = (*this).get_impl();
2799 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
2800 }
2801 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
2802 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2803 let this = (*this).get_impl();
2804 this.Remove(::core::mem::transmute_copy(&index)).into()
2805 }
2806 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2807 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2808 let this = (*this).get_impl();
2809 this.Clear().into()
2810 }
2811 unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2812 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2813 let this = (*this).get_impl();
2814 this.InitializeFromCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
2815 }
2816 Self {
2817 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2818 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
2819 Count: Count::<Identity, Impl, OFFSET>,
2820 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
2821 Add: Add::<Identity, Impl, OFFSET>,
2822 Remove: Remove::<Identity, Impl, OFFSET>,
2823 Clear: Clear::<Identity, Impl, OFFSET>,
2824 InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
2825 }
2826 }
2827 pub fn matches(iid: &windows::core::GUID) -> bool {
2828 iid == &<ICertProperties as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2829 }
2830 }
2831 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2832 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2833 pub trait ICertProperty_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
2834 fn InitializeFromCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2835 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2836 fn PropertyId(&self) -> ::windows::core::Result<CERTENROLL_PROPERTYID>;
2837 fn SetPropertyId(&self, value: CERTENROLL_PROPERTYID) -> ::windows::core::Result<()>;
2838 fn get_RawData(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
2839 fn RemoveFromCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2840 fn SetValueOnCertificate(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2841 }
2842 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2843 impl ::windows::core::RuntimeName for ICertProperty {}
2844 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2845 impl ICertProperty_Vtbl {
2846 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>() -> ICertProperty_Vtbl {
2847 unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2848 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2849 let this = (*this).get_impl();
2850 this.InitializeFromCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
2851 }
2852 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2853 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2854 let this = (*this).get_impl();
2855 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
2856 }
2857 unsafe extern "system" fn PropertyId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut CERTENROLL_PROPERTYID) -> ::windows::core::HRESULT {
2858 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2859 let this = (*this).get_impl();
2860 match this.PropertyId() {
2861 ::core::result::Result::Ok(ok__) => {
2862 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
2863 ::windows::core::HRESULT(0)
2864 }
2865 ::core::result::Result::Err(err) => err.into(),
2866 }
2867 }
2868 unsafe extern "system" fn SetPropertyId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: CERTENROLL_PROPERTYID) -> ::windows::core::HRESULT {
2869 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2870 let this = (*this).get_impl();
2871 this.SetPropertyId(::core::mem::transmute_copy(&value)).into()
2872 }
2873 unsafe extern "system" fn get_RawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2874 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2875 let this = (*this).get_impl();
2876 match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
2877 ::core::result::Result::Ok(ok__) => {
2878 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
2879 ::windows::core::HRESULT(0)
2880 }
2881 ::core::result::Result::Err(err) => err.into(),
2882 }
2883 }
2884 unsafe extern "system" fn RemoveFromCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2885 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2886 let this = (*this).get_impl();
2887 this.RemoveFromCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
2888 }
2889 unsafe extern "system" fn SetValueOnCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2890 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2891 let this = (*this).get_impl();
2892 this.SetValueOnCertificate(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
2893 }
2894 Self {
2895 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
2896 InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
2897 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
2898 PropertyId: PropertyId::<Identity, Impl, OFFSET>,
2899 SetPropertyId: SetPropertyId::<Identity, Impl, OFFSET>,
2900 get_RawData: get_RawData::<Identity, Impl, OFFSET>,
2901 RemoveFromCertificate: RemoveFromCertificate::<Identity, Impl, OFFSET>,
2902 SetValueOnCertificate: SetValueOnCertificate::<Identity, Impl, OFFSET>,
2903 }
2904 }
2905 pub fn matches(iid: &windows::core::GUID) -> bool {
2906 iid == &<ICertProperty as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
2907 }
2908 }
2909 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2910 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2911 pub trait ICertPropertyArchived_Impl: Sized + ICertProperty_Impl {
2912 fn Initialize(&self, archivedvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2913 fn Archived(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
2914 }
2915 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2916 impl ::windows::core::RuntimeName for ICertPropertyArchived {}
2917 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2918 impl ICertPropertyArchived_Vtbl {
2919 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchived_Impl, const OFFSET: isize>() -> ICertPropertyArchived_Vtbl {
2920 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchived_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, archivedvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2921 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2922 let this = (*this).get_impl();
2923 this.Initialize(::core::mem::transmute_copy(&archivedvalue)).into()
2924 }
2925 unsafe extern "system" fn Archived<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchived_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2926 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2927 let this = (*this).get_impl();
2928 match this.Archived() {
2929 ::core::result::Result::Ok(ok__) => {
2930 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
2931 ::windows::core::HRESULT(0)
2932 }
2933 ::core::result::Result::Err(err) => err.into(),
2934 }
2935 }
2936 Self {
2937 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
2938 Initialize: Initialize::<Identity, Impl, OFFSET>,
2939 Archived: Archived::<Identity, Impl, OFFSET>,
2940 }
2941 }
2942 pub fn matches(iid: &windows::core::GUID) -> bool {
2943 iid == &<ICertPropertyArchived as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
2944 }
2945 }
2946 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2947 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2948 pub trait ICertPropertyArchivedKeyHash_Impl: Sized + ICertProperty_Impl {
2949 fn Initialize(&self, encoding: EncodingType, strarchivedkeyhashvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2950 fn get_ArchivedKeyHash(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
2951 }
2952 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2953 impl ::windows::core::RuntimeName for ICertPropertyArchivedKeyHash {}
2954 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2955 impl ICertPropertyArchivedKeyHash_Vtbl {
2956 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchivedKeyHash_Impl, const OFFSET: isize>() -> ICertPropertyArchivedKeyHash_Vtbl {
2957 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchivedKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strarchivedkeyhashvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2958 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2959 let this = (*this).get_impl();
2960 this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strarchivedkeyhashvalue)).into()
2961 }
2962 unsafe extern "system" fn get_ArchivedKeyHash<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyArchivedKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2963 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2964 let this = (*this).get_impl();
2965 match this.get_ArchivedKeyHash(::core::mem::transmute_copy(&encoding)) {
2966 ::core::result::Result::Ok(ok__) => {
2967 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
2968 ::windows::core::HRESULT(0)
2969 }
2970 ::core::result::Result::Err(err) => err.into(),
2971 }
2972 }
2973 Self {
2974 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
2975 Initialize: Initialize::<Identity, Impl, OFFSET>,
2976 get_ArchivedKeyHash: get_ArchivedKeyHash::<Identity, Impl, OFFSET>,
2977 }
2978 }
2979 pub fn matches(iid: &windows::core::GUID) -> bool {
2980 iid == &<ICertPropertyArchivedKeyHash as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
2981 }
2982 }
2983 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2984 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2985 pub trait ICertPropertyAutoEnroll_Impl: Sized + ICertProperty_Impl {
2986 fn Initialize(&self, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2987 fn TemplateName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
2988 }
2989 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2990 impl ::windows::core::RuntimeName for ICertPropertyAutoEnroll {}
2991 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2992 impl ICertPropertyAutoEnroll_Vtbl {
2993 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyAutoEnroll_Impl, const OFFSET: isize>() -> ICertPropertyAutoEnroll_Vtbl {
2994 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyAutoEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2995 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2996 let this = (*this).get_impl();
2997 this.Initialize(::core::mem::transmute(&strtemplatename)).into()
2998 }
2999 unsafe extern "system" fn TemplateName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyAutoEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3000 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3001 let this = (*this).get_impl();
3002 match this.TemplateName() {
3003 ::core::result::Result::Ok(ok__) => {
3004 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3005 ::windows::core::HRESULT(0)
3006 }
3007 ::core::result::Result::Err(err) => err.into(),
3008 }
3009 }
3010 Self {
3011 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3012 Initialize: Initialize::<Identity, Impl, OFFSET>,
3013 TemplateName: TemplateName::<Identity, Impl, OFFSET>,
3014 }
3015 }
3016 pub fn matches(iid: &windows::core::GUID) -> bool {
3017 iid == &<ICertPropertyAutoEnroll as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3018 }
3019 }
3020 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3021 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3022 pub trait ICertPropertyBackedUp_Impl: Sized + ICertProperty_Impl {
3023 fn InitializeFromCurrentTime(&self, backedupvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
3024 fn Initialize(&self, backedupvalue: super::super::super::Foundation::VARIANT_BOOL, date: f64) -> ::windows::core::Result<()>;
3025 fn BackedUpValue(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
3026 fn BackedUpTime(&self) -> ::windows::core::Result<f64>;
3027 }
3028 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3029 impl ::windows::core::RuntimeName for ICertPropertyBackedUp {}
3030 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3031 impl ICertPropertyBackedUp_Vtbl {
3032 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>() -> ICertPropertyBackedUp_Vtbl {
3033 unsafe extern "system" fn InitializeFromCurrentTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, backedupvalue: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
3034 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3035 let this = (*this).get_impl();
3036 this.InitializeFromCurrentTime(::core::mem::transmute_copy(&backedupvalue)).into()
3037 }
3038 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, backedupvalue: super::super::super::Foundation::VARIANT_BOOL, date: f64) -> ::windows::core::HRESULT {
3039 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3040 let this = (*this).get_impl();
3041 this.Initialize(::core::mem::transmute_copy(&backedupvalue), ::core::mem::transmute_copy(&date)).into()
3042 }
3043 unsafe extern "system" fn BackedUpValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
3044 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3045 let this = (*this).get_impl();
3046 match this.BackedUpValue() {
3047 ::core::result::Result::Ok(ok__) => {
3048 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3049 ::windows::core::HRESULT(0)
3050 }
3051 ::core::result::Result::Err(err) => err.into(),
3052 }
3053 }
3054 unsafe extern "system" fn BackedUpTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyBackedUp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdate: *mut f64) -> ::windows::core::HRESULT {
3055 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3056 let this = (*this).get_impl();
3057 match this.BackedUpTime() {
3058 ::core::result::Result::Ok(ok__) => {
3059 ::core::ptr::write(pdate, ::core::mem::transmute(ok__));
3060 ::windows::core::HRESULT(0)
3061 }
3062 ::core::result::Result::Err(err) => err.into(),
3063 }
3064 }
3065 Self {
3066 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3067 InitializeFromCurrentTime: InitializeFromCurrentTime::<Identity, Impl, OFFSET>,
3068 Initialize: Initialize::<Identity, Impl, OFFSET>,
3069 BackedUpValue: BackedUpValue::<Identity, Impl, OFFSET>,
3070 BackedUpTime: BackedUpTime::<Identity, Impl, OFFSET>,
3071 }
3072 }
3073 pub fn matches(iid: &windows::core::GUID) -> bool {
3074 iid == &<ICertPropertyBackedUp as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3075 }
3076 }
3077 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3078 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3079 pub trait ICertPropertyDescription_Impl: Sized + ICertProperty_Impl {
3080 fn Initialize(&self, strdescription: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3081 fn Description(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3082 }
3083 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3084 impl ::windows::core::RuntimeName for ICertPropertyDescription {}
3085 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3086 impl ICertPropertyDescription_Vtbl {
3087 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyDescription_Impl, const OFFSET: isize>() -> ICertPropertyDescription_Vtbl {
3088 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyDescription_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strdescription: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3089 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3090 let this = (*this).get_impl();
3091 this.Initialize(::core::mem::transmute(&strdescription)).into()
3092 }
3093 unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyDescription_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3094 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3095 let this = (*this).get_impl();
3096 match this.Description() {
3097 ::core::result::Result::Ok(ok__) => {
3098 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3099 ::windows::core::HRESULT(0)
3100 }
3101 ::core::result::Result::Err(err) => err.into(),
3102 }
3103 }
3104 Self {
3105 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3106 Initialize: Initialize::<Identity, Impl, OFFSET>,
3107 Description: Description::<Identity, Impl, OFFSET>,
3108 }
3109 }
3110 pub fn matches(iid: &windows::core::GUID) -> bool {
3111 iid == &<ICertPropertyDescription as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3112 }
3113 }
3114 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3116 pub trait ICertPropertyEnrollment_Impl: Sized + ICertProperty_Impl {
3117 fn Initialize(&self, requestid: i32, strcadnsname: &::windows::core::BSTR, strcaname: &::windows::core::BSTR, strfriendlyname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3118 fn RequestId(&self) -> ::windows::core::Result<i32>;
3119 fn CADnsName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3120 fn CAName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3121 fn FriendlyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3122 }
3123 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3124 impl ::windows::core::RuntimeName for ICertPropertyEnrollment {}
3125 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3126 impl ICertPropertyEnrollment_Vtbl {
3127 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>() -> ICertPropertyEnrollment_Vtbl {
3128 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, requestid: i32, strcadnsname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strcaname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strfriendlyname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3129 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3130 let this = (*this).get_impl();
3131 this.Initialize(::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strcadnsname), ::core::mem::transmute(&strcaname), ::core::mem::transmute(&strfriendlyname)).into()
3132 }
3133 unsafe extern "system" fn RequestId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
3134 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3135 let this = (*this).get_impl();
3136 match this.RequestId() {
3137 ::core::result::Result::Ok(ok__) => {
3138 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3139 ::windows::core::HRESULT(0)
3140 }
3141 ::core::result::Result::Err(err) => err.into(),
3142 }
3143 }
3144 unsafe extern "system" fn CADnsName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3145 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3146 let this = (*this).get_impl();
3147 match this.CADnsName() {
3148 ::core::result::Result::Ok(ok__) => {
3149 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3150 ::windows::core::HRESULT(0)
3151 }
3152 ::core::result::Result::Err(err) => err.into(),
3153 }
3154 }
3155 unsafe extern "system" fn CAName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3156 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3157 let this = (*this).get_impl();
3158 match this.CAName() {
3159 ::core::result::Result::Ok(ok__) => {
3160 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3161 ::windows::core::HRESULT(0)
3162 }
3163 ::core::result::Result::Err(err) => err.into(),
3164 }
3165 }
3166 unsafe extern "system" fn FriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3167 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3168 let this = (*this).get_impl();
3169 match this.FriendlyName() {
3170 ::core::result::Result::Ok(ok__) => {
3171 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3172 ::windows::core::HRESULT(0)
3173 }
3174 ::core::result::Result::Err(err) => err.into(),
3175 }
3176 }
3177 Self {
3178 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3179 Initialize: Initialize::<Identity, Impl, OFFSET>,
3180 RequestId: RequestId::<Identity, Impl, OFFSET>,
3181 CADnsName: CADnsName::<Identity, Impl, OFFSET>,
3182 CAName: CAName::<Identity, Impl, OFFSET>,
3183 FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
3184 }
3185 }
3186 pub fn matches(iid: &windows::core::GUID) -> bool {
3187 iid == &<ICertPropertyEnrollment as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3188 }
3189 }
3190 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3191 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3192 pub trait ICertPropertyEnrollmentPolicyServer_Impl: Sized + ICertProperty_Impl {
3193 fn Initialize(&self, propertyflags: EnrollmentPolicyServerPropertyFlags, authflags: X509EnrollmentAuthFlags, enrollmentserverauthflags: X509EnrollmentAuthFlags, urlflags: PolicyServerUrlFlags, strrequestid: &::windows::core::BSTR, strurl: &::windows::core::BSTR, strid: &::windows::core::BSTR, strenrollmentserverurl: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3194 fn GetPolicyServerUrl(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3195 fn GetPolicyServerId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3196 fn GetEnrollmentServerUrl(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3197 fn GetRequestIdString(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3198 fn GetPropertyFlags(&self) -> ::windows::core::Result<EnrollmentPolicyServerPropertyFlags>;
3199 fn GetUrlFlags(&self) -> ::windows::core::Result<PolicyServerUrlFlags>;
3200 fn GetAuthentication(&self) -> ::windows::core::Result<X509EnrollmentAuthFlags>;
3201 fn GetEnrollmentServerAuthentication(&self) -> ::windows::core::Result<X509EnrollmentAuthFlags>;
3202 }
3203 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3204 impl ::windows::core::RuntimeName for ICertPropertyEnrollmentPolicyServer {}
3205 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3206 impl ICertPropertyEnrollmentPolicyServer_Vtbl {
3207 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>() -> ICertPropertyEnrollmentPolicyServer_Vtbl {
3208 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propertyflags: EnrollmentPolicyServerPropertyFlags, authflags: X509EnrollmentAuthFlags, enrollmentserverauthflags: X509EnrollmentAuthFlags, urlflags: PolicyServerUrlFlags, strrequestid: ::std::mem::MaybeUninit<::windows::core::BSTR>, strurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, strid: ::std::mem::MaybeUninit<::windows::core::BSTR>, strenrollmentserverurl: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3209 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3210 let this = (*this).get_impl();
3211 this.Initialize(::core::mem::transmute_copy(&propertyflags), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute_copy(&enrollmentserverauthflags), ::core::mem::transmute_copy(&urlflags), ::core::mem::transmute(&strrequestid), ::core::mem::transmute(&strurl), ::core::mem::transmute(&strid), ::core::mem::transmute(&strenrollmentserverurl)).into()
3212 }
3213 unsafe extern "system" fn GetPolicyServerUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3214 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3215 let this = (*this).get_impl();
3216 match this.GetPolicyServerUrl() {
3217 ::core::result::Result::Ok(ok__) => {
3218 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3219 ::windows::core::HRESULT(0)
3220 }
3221 ::core::result::Result::Err(err) => err.into(),
3222 }
3223 }
3224 unsafe extern "system" fn GetPolicyServerId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3225 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3226 let this = (*this).get_impl();
3227 match this.GetPolicyServerId() {
3228 ::core::result::Result::Ok(ok__) => {
3229 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3230 ::windows::core::HRESULT(0)
3231 }
3232 ::core::result::Result::Err(err) => err.into(),
3233 }
3234 }
3235 unsafe extern "system" fn GetEnrollmentServerUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3236 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3237 let this = (*this).get_impl();
3238 match this.GetEnrollmentServerUrl() {
3239 ::core::result::Result::Ok(ok__) => {
3240 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3241 ::windows::core::HRESULT(0)
3242 }
3243 ::core::result::Result::Err(err) => err.into(),
3244 }
3245 }
3246 unsafe extern "system" fn GetRequestIdString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3247 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3248 let this = (*this).get_impl();
3249 match this.GetRequestIdString() {
3250 ::core::result::Result::Ok(ok__) => {
3251 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3252 ::windows::core::HRESULT(0)
3253 }
3254 ::core::result::Result::Err(err) => err.into(),
3255 }
3256 }
3257 unsafe extern "system" fn GetPropertyFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentPolicyServerPropertyFlags) -> ::windows::core::HRESULT {
3258 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3259 let this = (*this).get_impl();
3260 match this.GetPropertyFlags() {
3261 ::core::result::Result::Ok(ok__) => {
3262 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3263 ::windows::core::HRESULT(0)
3264 }
3265 ::core::result::Result::Err(err) => err.into(),
3266 }
3267 }
3268 unsafe extern "system" fn GetUrlFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut PolicyServerUrlFlags) -> ::windows::core::HRESULT {
3269 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3270 let this = (*this).get_impl();
3271 match this.GetUrlFlags() {
3272 ::core::result::Result::Ok(ok__) => {
3273 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3274 ::windows::core::HRESULT(0)
3275 }
3276 ::core::result::Result::Err(err) => err.into(),
3277 }
3278 }
3279 unsafe extern "system" fn GetAuthentication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows::core::HRESULT {
3280 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3281 let this = (*this).get_impl();
3282 match this.GetAuthentication() {
3283 ::core::result::Result::Ok(ok__) => {
3284 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3285 ::windows::core::HRESULT(0)
3286 }
3287 ::core::result::Result::Err(err) => err.into(),
3288 }
3289 }
3290 unsafe extern "system" fn GetEnrollmentServerAuthentication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyEnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows::core::HRESULT {
3291 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3292 let this = (*this).get_impl();
3293 match this.GetEnrollmentServerAuthentication() {
3294 ::core::result::Result::Ok(ok__) => {
3295 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3296 ::windows::core::HRESULT(0)
3297 }
3298 ::core::result::Result::Err(err) => err.into(),
3299 }
3300 }
3301 Self {
3302 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3303 Initialize: Initialize::<Identity, Impl, OFFSET>,
3304 GetPolicyServerUrl: GetPolicyServerUrl::<Identity, Impl, OFFSET>,
3305 GetPolicyServerId: GetPolicyServerId::<Identity, Impl, OFFSET>,
3306 GetEnrollmentServerUrl: GetEnrollmentServerUrl::<Identity, Impl, OFFSET>,
3307 GetRequestIdString: GetRequestIdString::<Identity, Impl, OFFSET>,
3308 GetPropertyFlags: GetPropertyFlags::<Identity, Impl, OFFSET>,
3309 GetUrlFlags: GetUrlFlags::<Identity, Impl, OFFSET>,
3310 GetAuthentication: GetAuthentication::<Identity, Impl, OFFSET>,
3311 GetEnrollmentServerAuthentication: GetEnrollmentServerAuthentication::<Identity, Impl, OFFSET>,
3312 }
3313 }
3314 pub fn matches(iid: &windows::core::GUID) -> bool {
3315 iid == &<ICertPropertyEnrollmentPolicyServer as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3316 }
3317 }
3318 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3319 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3320 pub trait ICertPropertyFriendlyName_Impl: Sized + ICertProperty_Impl {
3321 fn Initialize(&self, strfriendlyname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3322 fn FriendlyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3323 }
3324 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3325 impl ::windows::core::RuntimeName for ICertPropertyFriendlyName {}
3326 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3327 impl ICertPropertyFriendlyName_Vtbl {
3328 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyFriendlyName_Impl, const OFFSET: isize>() -> ICertPropertyFriendlyName_Vtbl {
3329 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyFriendlyName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strfriendlyname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3330 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3331 let this = (*this).get_impl();
3332 this.Initialize(::core::mem::transmute(&strfriendlyname)).into()
3333 }
3334 unsafe extern "system" fn FriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyFriendlyName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3335 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3336 let this = (*this).get_impl();
3337 match this.FriendlyName() {
3338 ::core::result::Result::Ok(ok__) => {
3339 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3340 ::windows::core::HRESULT(0)
3341 }
3342 ::core::result::Result::Err(err) => err.into(),
3343 }
3344 }
3345 Self {
3346 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3347 Initialize: Initialize::<Identity, Impl, OFFSET>,
3348 FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
3349 }
3350 }
3351 pub fn matches(iid: &windows::core::GUID) -> bool {
3352 iid == &<ICertPropertyFriendlyName as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3353 }
3354 }
3355 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3356 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3357 pub trait ICertPropertyKeyProvInfo_Impl: Sized + ICertProperty_Impl {
3358 fn Initialize(&self, pvalue: ::core::option::Option<&IX509PrivateKey>) -> ::windows::core::Result<()>;
3359 fn PrivateKey(&self) -> ::windows::core::Result<IX509PrivateKey>;
3360 }
3361 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3362 impl ::windows::core::RuntimeName for ICertPropertyKeyProvInfo {}
3363 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3364 impl ICertPropertyKeyProvInfo_Vtbl {
3365 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyKeyProvInfo_Impl, const OFFSET: isize>() -> ICertPropertyKeyProvInfo_Vtbl {
3366 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyKeyProvInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3367 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3368 let this = (*this).get_impl();
3369 this.Initialize(::windows::core::from_raw_borrowed(&pvalue)).into()
3370 }
3371 unsafe extern "system" fn PrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyKeyProvInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3372 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3373 let this = (*this).get_impl();
3374 match this.PrivateKey() {
3375 ::core::result::Result::Ok(ok__) => {
3376 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
3377 ::windows::core::HRESULT(0)
3378 }
3379 ::core::result::Result::Err(err) => err.into(),
3380 }
3381 }
3382 Self {
3383 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3384 Initialize: Initialize::<Identity, Impl, OFFSET>,
3385 PrivateKey: PrivateKey::<Identity, Impl, OFFSET>,
3386 }
3387 }
3388 pub fn matches(iid: &windows::core::GUID) -> bool {
3389 iid == &<ICertPropertyKeyProvInfo as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3390 }
3391 }
3392 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3393 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3394 pub trait ICertPropertyRenewal_Impl: Sized + ICertProperty_Impl {
3395 fn Initialize(&self, encoding: EncodingType, strrenewalvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3396 fn InitializeFromCertificateHash(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3397 fn get_Renewal(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
3398 }
3399 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3400 impl ::windows::core::RuntimeName for ICertPropertyRenewal {}
3401 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3402 impl ICertPropertyRenewal_Vtbl {
3403 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>() -> ICertPropertyRenewal_Vtbl {
3404 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strrenewalvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3405 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3406 let this = (*this).get_impl();
3407 this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrenewalvalue)).into()
3408 }
3409 unsafe extern "system" fn InitializeFromCertificateHash<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3410 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3411 let this = (*this).get_impl();
3412 this.InitializeFromCertificateHash(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
3413 }
3414 unsafe extern "system" fn get_Renewal<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRenewal_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3415 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3416 let this = (*this).get_impl();
3417 match this.get_Renewal(::core::mem::transmute_copy(&encoding)) {
3418 ::core::result::Result::Ok(ok__) => {
3419 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3420 ::windows::core::HRESULT(0)
3421 }
3422 ::core::result::Result::Err(err) => err.into(),
3423 }
3424 }
3425 Self {
3426 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3427 Initialize: Initialize::<Identity, Impl, OFFSET>,
3428 InitializeFromCertificateHash: InitializeFromCertificateHash::<Identity, Impl, OFFSET>,
3429 get_Renewal: get_Renewal::<Identity, Impl, OFFSET>,
3430 }
3431 }
3432 pub fn matches(iid: &windows::core::GUID) -> bool {
3433 iid == &<ICertPropertyRenewal as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3434 }
3435 }
3436 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3437 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3438 pub trait ICertPropertyRequestOriginator_Impl: Sized + ICertProperty_Impl {
3439 fn Initialize(&self, strrequestoriginator: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3440 fn InitializeFromLocalRequestOriginator(&self) -> ::windows::core::Result<()>;
3441 fn RequestOriginator(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3442 }
3443 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3444 impl ::windows::core::RuntimeName for ICertPropertyRequestOriginator {}
3445 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3446 impl ICertPropertyRequestOriginator_Vtbl {
3447 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>() -> ICertPropertyRequestOriginator_Vtbl {
3448 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strrequestoriginator: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3449 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3450 let this = (*this).get_impl();
3451 this.Initialize(::core::mem::transmute(&strrequestoriginator)).into()
3452 }
3453 unsafe extern "system" fn InitializeFromLocalRequestOriginator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3454 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3455 let this = (*this).get_impl();
3456 this.InitializeFromLocalRequestOriginator().into()
3457 }
3458 unsafe extern "system" fn RequestOriginator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertyRequestOriginator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3459 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3460 let this = (*this).get_impl();
3461 match this.RequestOriginator() {
3462 ::core::result::Result::Ok(ok__) => {
3463 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3464 ::windows::core::HRESULT(0)
3465 }
3466 ::core::result::Result::Err(err) => err.into(),
3467 }
3468 }
3469 Self {
3470 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3471 Initialize: Initialize::<Identity, Impl, OFFSET>,
3472 InitializeFromLocalRequestOriginator: InitializeFromLocalRequestOriginator::<Identity, Impl, OFFSET>,
3473 RequestOriginator: RequestOriginator::<Identity, Impl, OFFSET>,
3474 }
3475 }
3476 pub fn matches(iid: &windows::core::GUID) -> bool {
3477 iid == &<ICertPropertyRequestOriginator as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3478 }
3479 }
3480 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3481 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3482 pub trait ICertPropertySHA1Hash_Impl: Sized + ICertProperty_Impl {
3483 fn Initialize(&self, encoding: EncodingType, strrenewalvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3484 fn get_SHA1Hash(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
3485 }
3486 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3487 impl ::windows::core::RuntimeName for ICertPropertySHA1Hash {}
3488 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3489 impl ICertPropertySHA1Hash_Vtbl {
3490 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertySHA1Hash_Impl, const OFFSET: isize>() -> ICertPropertySHA1Hash_Vtbl {
3491 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertySHA1Hash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strrenewalvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3492 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3493 let this = (*this).get_impl();
3494 this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strrenewalvalue)).into()
3495 }
3496 unsafe extern "system" fn get_SHA1Hash<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertPropertySHA1Hash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3497 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3498 let this = (*this).get_impl();
3499 match this.get_SHA1Hash(::core::mem::transmute_copy(&encoding)) {
3500 ::core::result::Result::Ok(ok__) => {
3501 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3502 ::windows::core::HRESULT(0)
3503 }
3504 ::core::result::Result::Err(err) => err.into(),
3505 }
3506 }
3507 Self {
3508 base__: ICertProperty_Vtbl::new::<Identity, Impl, OFFSET>(),
3509 Initialize: Initialize::<Identity, Impl, OFFSET>,
3510 get_SHA1Hash: get_SHA1Hash::<Identity, Impl, OFFSET>,
3511 }
3512 }
3513 pub fn matches(iid: &windows::core::GUID) -> bool {
3514 iid == &<ICertPropertySHA1Hash as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertProperty as ::windows::core::ComInterface>::IID
3515 }
3516 }
3517 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3518 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3519 pub trait ICertRequest_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
3520 fn Submit(&self, flags: i32, strrequest: &::windows::core::BSTR, strattributes: &::windows::core::BSTR, strconfig: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
3521 fn RetrievePending(&self, requestid: i32, strconfig: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
3522 fn GetLastStatus(&self) -> ::windows::core::Result<i32>;
3523 fn GetRequestId(&self) -> ::windows::core::Result<i32>;
3524 fn GetDispositionMessage(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3525 fn GetCACertificate(&self, fexchangecertificate: i32, strconfig: &::windows::core::BSTR, flags: i32) -> ::windows::core::Result<::windows::core::BSTR>;
3526 fn GetCertificate(&self, flags: i32) -> ::windows::core::Result<::windows::core::BSTR>;
3527 }
3528 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3529 impl ::windows::core::RuntimeName for ICertRequest {}
3530 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3531 impl ICertRequest_Vtbl {
3532 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>() -> ICertRequest_Vtbl {
3533 unsafe extern "system" fn Submit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, strrequest: ::std::mem::MaybeUninit<::windows::core::BSTR>, strattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, pdisposition: *mut i32) -> ::windows::core::HRESULT {
3534 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3535 let this = (*this).get_impl();
3536 match this.Submit(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strrequest), ::core::mem::transmute(&strattributes), ::core::mem::transmute(&strconfig)) {
3537 ::core::result::Result::Ok(ok__) => {
3538 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
3539 ::windows::core::HRESULT(0)
3540 }
3541 ::core::result::Result::Err(err) => err.into(),
3542 }
3543 }
3544 unsafe extern "system" fn RetrievePending<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, requestid: i32, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, pdisposition: *mut i32) -> ::windows::core::HRESULT {
3545 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3546 let this = (*this).get_impl();
3547 match this.RetrievePending(::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strconfig)) {
3548 ::core::result::Result::Ok(ok__) => {
3549 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
3550 ::windows::core::HRESULT(0)
3551 }
3552 ::core::result::Result::Err(err) => err.into(),
3553 }
3554 }
3555 unsafe extern "system" fn GetLastStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstatus: *mut i32) -> ::windows::core::HRESULT {
3556 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3557 let this = (*this).get_impl();
3558 match this.GetLastStatus() {
3559 ::core::result::Result::Ok(ok__) => {
3560 ::core::ptr::write(pstatus, ::core::mem::transmute(ok__));
3561 ::windows::core::HRESULT(0)
3562 }
3563 ::core::result::Result::Err(err) => err.into(),
3564 }
3565 }
3566 unsafe extern "system" fn GetRequestId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequestid: *mut i32) -> ::windows::core::HRESULT {
3567 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3568 let this = (*this).get_impl();
3569 match this.GetRequestId() {
3570 ::core::result::Result::Ok(ok__) => {
3571 ::core::ptr::write(prequestid, ::core::mem::transmute(ok__));
3572 ::windows::core::HRESULT(0)
3573 }
3574 ::core::result::Result::Err(err) => err.into(),
3575 }
3576 }
3577 unsafe extern "system" fn GetDispositionMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrdispositionmessage: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3578 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3579 let this = (*this).get_impl();
3580 match this.GetDispositionMessage() {
3581 ::core::result::Result::Ok(ok__) => {
3582 ::core::ptr::write(pstrdispositionmessage, ::core::mem::transmute(ok__));
3583 ::windows::core::HRESULT(0)
3584 }
3585 ::core::result::Result::Err(err) => err.into(),
3586 }
3587 }
3588 unsafe extern "system" fn GetCACertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fexchangecertificate: i32, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: i32, pstrcertificate: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3589 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3590 let this = (*this).get_impl();
3591 match this.GetCACertificate(::core::mem::transmute_copy(&fexchangecertificate), ::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&flags)) {
3592 ::core::result::Result::Ok(ok__) => {
3593 ::core::ptr::write(pstrcertificate, ::core::mem::transmute(ok__));
3594 ::windows::core::HRESULT(0)
3595 }
3596 ::core::result::Result::Err(err) => err.into(),
3597 }
3598 }
3599 unsafe extern "system" fn GetCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pstrcertificate: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3600 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3601 let this = (*this).get_impl();
3602 match this.GetCertificate(::core::mem::transmute_copy(&flags)) {
3603 ::core::result::Result::Ok(ok__) => {
3604 ::core::ptr::write(pstrcertificate, ::core::mem::transmute(ok__));
3605 ::windows::core::HRESULT(0)
3606 }
3607 ::core::result::Result::Err(err) => err.into(),
3608 }
3609 }
3610 Self {
3611 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3612 Submit: Submit::<Identity, Impl, OFFSET>,
3613 RetrievePending: RetrievePending::<Identity, Impl, OFFSET>,
3614 GetLastStatus: GetLastStatus::<Identity, Impl, OFFSET>,
3615 GetRequestId: GetRequestId::<Identity, Impl, OFFSET>,
3616 GetDispositionMessage: GetDispositionMessage::<Identity, Impl, OFFSET>,
3617 GetCACertificate: GetCACertificate::<Identity, Impl, OFFSET>,
3618 GetCertificate: GetCertificate::<Identity, Impl, OFFSET>,
3619 }
3620 }
3621 pub fn matches(iid: &windows::core::GUID) -> bool {
3622 iid == &<ICertRequest as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
3623 }
3624 }
3625 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3626 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3627 pub trait ICertRequest2_Impl: Sized + ICertRequest_Impl {
3628 fn GetIssuedCertificate(&self, strconfig: &::windows::core::BSTR, requestid: i32, strserialnumber: &::windows::core::BSTR) -> ::windows::core::Result<CR_DISP>;
3629 fn GetErrorMessageText(&self, hrmessage: i32, flags: i32) -> ::windows::core::Result<::windows::core::BSTR>;
3630 fn GetCAProperty(&self, strconfig: &::windows::core::BSTR, propid: i32, propindex: i32, proptype: i32, flags: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
3631 fn GetCAPropertyFlags(&self, strconfig: &::windows::core::BSTR, propid: i32) -> ::windows::core::Result<i32>;
3632 fn GetCAPropertyDisplayName(&self, strconfig: &::windows::core::BSTR, propid: i32) -> ::windows::core::Result<::windows::core::BSTR>;
3633 fn GetFullResponseProperty(&self, propid: FULL_RESPONSE_PROPERTY_ID, propindex: i32, proptype: CERT_PROPERTY_TYPE, flags: CERT_REQUEST_OUT_TYPE) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
3634 }
3635 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3636 impl ::windows::core::RuntimeName for ICertRequest2 {}
3637 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3638 impl ICertRequest2_Vtbl {
3639 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>() -> ICertRequest2_Vtbl {
3640 unsafe extern "system" fn GetIssuedCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, requestid: i32, strserialnumber: ::std::mem::MaybeUninit<::windows::core::BSTR>, pdisposition: *mut CR_DISP) -> ::windows::core::HRESULT {
3641 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3642 let this = (*this).get_impl();
3643 match this.GetIssuedCertificate(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&requestid), ::core::mem::transmute(&strserialnumber)) {
3644 ::core::result::Result::Ok(ok__) => {
3645 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
3646 ::windows::core::HRESULT(0)
3647 }
3648 ::core::result::Result::Err(err) => err.into(),
3649 }
3650 }
3651 unsafe extern "system" fn GetErrorMessageText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrmessage: i32, flags: i32, pstrerrormessagetext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3652 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3653 let this = (*this).get_impl();
3654 match this.GetErrorMessageText(::core::mem::transmute_copy(&hrmessage), ::core::mem::transmute_copy(&flags)) {
3655 ::core::result::Result::Ok(ok__) => {
3656 ::core::ptr::write(pstrerrormessagetext, ::core::mem::transmute(ok__));
3657 ::windows::core::HRESULT(0)
3658 }
3659 ::core::result::Result::Err(err) => err.into(),
3660 }
3661 }
3662 unsafe extern "system" fn GetCAProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, propid: i32, propindex: i32, proptype: i32, flags: i32, pvarpropertyvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
3663 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3664 let this = (*this).get_impl();
3665 match this.GetCAProperty(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&flags)) {
3666 ::core::result::Result::Ok(ok__) => {
3667 ::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
3668 ::windows::core::HRESULT(0)
3669 }
3670 ::core::result::Result::Err(err) => err.into(),
3671 }
3672 }
3673 unsafe extern "system" fn GetCAPropertyFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, propid: i32, ppropflags: *mut i32) -> ::windows::core::HRESULT {
3674 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3675 let this = (*this).get_impl();
3676 match this.GetCAPropertyFlags(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
3677 ::core::result::Result::Ok(ok__) => {
3678 ::core::ptr::write(ppropflags, ::core::mem::transmute(ok__));
3679 ::windows::core::HRESULT(0)
3680 }
3681 ::core::result::Result::Err(err) => err.into(),
3682 }
3683 }
3684 unsafe extern "system" fn GetCAPropertyDisplayName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, propid: i32, pstrdisplayname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3686 let this = (*this).get_impl();
3687 match this.GetCAPropertyDisplayName(::core::mem::transmute(&strconfig), ::core::mem::transmute_copy(&propid)) {
3688 ::core::result::Result::Ok(ok__) => {
3689 ::core::ptr::write(pstrdisplayname, ::core::mem::transmute(ok__));
3690 ::windows::core::HRESULT(0)
3691 }
3692 ::core::result::Result::Err(err) => err.into(),
3693 }
3694 }
3695 unsafe extern "system" fn GetFullResponseProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propid: FULL_RESPONSE_PROPERTY_ID, propindex: i32, proptype: CERT_PROPERTY_TYPE, flags: CERT_REQUEST_OUT_TYPE, pvarpropertyvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
3696 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3697 let this = (*this).get_impl();
3698 match this.GetFullResponseProperty(::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype), ::core::mem::transmute_copy(&flags)) {
3699 ::core::result::Result::Ok(ok__) => {
3700 ::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
3701 ::windows::core::HRESULT(0)
3702 }
3703 ::core::result::Result::Err(err) => err.into(),
3704 }
3705 }
3706 Self {
3707 base__: ICertRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
3708 GetIssuedCertificate: GetIssuedCertificate::<Identity, Impl, OFFSET>,
3709 GetErrorMessageText: GetErrorMessageText::<Identity, Impl, OFFSET>,
3710 GetCAProperty: GetCAProperty::<Identity, Impl, OFFSET>,
3711 GetCAPropertyFlags: GetCAPropertyFlags::<Identity, Impl, OFFSET>,
3712 GetCAPropertyDisplayName: GetCAPropertyDisplayName::<Identity, Impl, OFFSET>,
3713 GetFullResponseProperty: GetFullResponseProperty::<Identity, Impl, OFFSET>,
3714 }
3715 }
3716 pub fn matches(iid: &windows::core::GUID) -> bool {
3717 iid == &<ICertRequest2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertRequest as ::windows::core::ComInterface>::IID
3718 }
3719 }
3720 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3721 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3722 pub trait ICertRequest3_Impl: Sized + ICertRequest2_Impl {
3723 fn SetCredential(&self, hwnd: i32, authtype: X509EnrollmentAuthFlags, strcredential: &::windows::core::BSTR, strpassword: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3724 fn GetRequestIdString(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3725 fn GetIssuedCertificate2(&self, strconfig: &::windows::core::BSTR, strrequestid: &::windows::core::BSTR, strserialnumber: &::windows::core::BSTR) -> ::windows::core::Result<CR_DISP>;
3726 fn GetRefreshPolicy(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
3727 }
3728 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3729 impl ::windows::core::RuntimeName for ICertRequest3 {}
3730 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3731 impl ICertRequest3_Vtbl {
3732 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>() -> ICertRequest3_Vtbl {
3733 unsafe extern "system" fn SetCredential<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwnd: i32, authtype: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows::core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3734 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3735 let this = (*this).get_impl();
3736 this.SetCredential(::core::mem::transmute_copy(&hwnd), ::core::mem::transmute_copy(&authtype), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
3737 }
3738 unsafe extern "system" fn GetRequestIdString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrrequestid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3739 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3740 let this = (*this).get_impl();
3741 match this.GetRequestIdString() {
3742 ::core::result::Result::Ok(ok__) => {
3743 ::core::ptr::write(pstrrequestid, ::core::mem::transmute(ok__));
3744 ::windows::core::HRESULT(0)
3745 }
3746 ::core::result::Result::Err(err) => err.into(),
3747 }
3748 }
3749 unsafe extern "system" fn GetIssuedCertificate2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>, strrequestid: ::std::mem::MaybeUninit<::windows::core::BSTR>, strserialnumber: ::std::mem::MaybeUninit<::windows::core::BSTR>, pdisposition: *mut CR_DISP) -> ::windows::core::HRESULT {
3750 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3751 let this = (*this).get_impl();
3752 match this.GetIssuedCertificate2(::core::mem::transmute(&strconfig), ::core::mem::transmute(&strrequestid), ::core::mem::transmute(&strserialnumber)) {
3753 ::core::result::Result::Ok(ok__) => {
3754 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
3755 ::windows::core::HRESULT(0)
3756 }
3757 ::core::result::Result::Err(err) => err.into(),
3758 }
3759 }
3760 unsafe extern "system" fn GetRefreshPolicy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequest3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
3761 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3762 let this = (*this).get_impl();
3763 match this.GetRefreshPolicy() {
3764 ::core::result::Result::Ok(ok__) => {
3765 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
3766 ::windows::core::HRESULT(0)
3767 }
3768 ::core::result::Result::Err(err) => err.into(),
3769 }
3770 }
3771 Self {
3772 base__: ICertRequest2_Vtbl::new::<Identity, Impl, OFFSET>(),
3773 SetCredential: SetCredential::<Identity, Impl, OFFSET>,
3774 GetRequestIdString: GetRequestIdString::<Identity, Impl, OFFSET>,
3775 GetIssuedCertificate2: GetIssuedCertificate2::<Identity, Impl, OFFSET>,
3776 GetRefreshPolicy: GetRefreshPolicy::<Identity, Impl, OFFSET>,
3777 }
3778 }
3779 pub fn matches(iid: &windows::core::GUID) -> bool {
3780 iid == &<ICertRequest3 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertRequest as ::windows::core::ComInterface>::IID || iid == &<ICertRequest2 as ::windows::core::ComInterface>::IID
3781 }
3782 }
3783 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"implement\"`*"]
3784 pub trait ICertRequestD_Impl: Sized {
3785 fn Request(&self, dwflags: u32, pwszauthority: &::windows::core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: &::windows::core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbcertchain: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows::core::Result<()>;
3786 fn GetCACert(&self, fchain: u32, pwszauthority: &::windows::core::PCWSTR) -> ::windows::core::Result<CERTTRANSBLOB>;
3787 fn Ping(&self, pwszauthority: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
3788 }
3789 impl ::windows::core::RuntimeName for ICertRequestD {}
3790 impl ICertRequestD_Vtbl {
3791 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>() -> ICertRequestD_Vtbl {
3792 unsafe extern "system" fn Request<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: u32, pwszauthority: ::windows::core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: ::windows::core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbcertchain: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows::core::HRESULT {
3793 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3794 let this = (*this).get_impl();
3795 this.Request(::core::mem::transmute_copy(&dwflags), ::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&pdwrequestid), ::core::mem::transmute_copy(&pdwdisposition), ::core::mem::transmute(&pwszattributes), ::core::mem::transmute_copy(&pctbrequest), ::core::mem::transmute_copy(&pctbcertchain), ::core::mem::transmute_copy(&pctbencodedcert), ::core::mem::transmute_copy(&pctbdispositionmessage)).into()
3796 }
3797 unsafe extern "system" fn GetCACert<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fchain: u32, pwszauthority: ::windows::core::PCWSTR, pctbout: *mut CERTTRANSBLOB) -> ::windows::core::HRESULT {
3798 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3799 let this = (*this).get_impl();
3800 match this.GetCACert(::core::mem::transmute_copy(&fchain), ::core::mem::transmute(&pwszauthority)) {
3801 ::core::result::Result::Ok(ok__) => {
3802 ::core::ptr::write(pctbout, ::core::mem::transmute(ok__));
3803 ::windows::core::HRESULT(0)
3804 }
3805 ::core::result::Result::Err(err) => err.into(),
3806 }
3807 }
3808 unsafe extern "system" fn Ping<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
3809 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3810 let this = (*this).get_impl();
3811 this.Ping(::core::mem::transmute(&pwszauthority)).into()
3812 }
3813 Self {
3814 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3815 Request: Request::<Identity, Impl, OFFSET>,
3816 GetCACert: GetCACert::<Identity, Impl, OFFSET>,
3817 Ping: Ping::<Identity, Impl, OFFSET>,
3818 }
3819 }
3820 pub fn matches(iid: &windows::core::GUID) -> bool {
3821 iid == &<ICertRequestD as ::windows::core::ComInterface>::IID
3822 }
3823 }
3824 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"implement\"`*"]
3825 pub trait ICertRequestD2_Impl: Sized + ICertRequestD_Impl {
3826 fn Request2(&self, pwszauthority: &::windows::core::PCWSTR, dwflags: u32, pwszserialnumber: &::windows::core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: &::windows::core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbfullresponse: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows::core::Result<()>;
3827 fn GetCAProperty(&self, pwszauthority: &::windows::core::PCWSTR, propid: i32, propindex: i32, proptype: i32) -> ::windows::core::Result<CERTTRANSBLOB>;
3828 fn GetCAPropertyInfo(&self, pwszauthority: &::windows::core::PCWSTR, pcproperty: *mut i32, pctbpropinfo: *mut CERTTRANSBLOB) -> ::windows::core::Result<()>;
3829 fn Ping2(&self, pwszauthority: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
3830 }
3831 impl ::windows::core::RuntimeName for ICertRequestD2 {}
3832 impl ICertRequestD2_Vtbl {
3833 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>() -> ICertRequestD2_Vtbl {
3834 unsafe extern "system" fn Request2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows::core::PCWSTR, dwflags: u32, pwszserialnumber: ::windows::core::PCWSTR, pdwrequestid: *mut u32, pdwdisposition: *mut u32, pwszattributes: ::windows::core::PCWSTR, pctbrequest: *const CERTTRANSBLOB, pctbfullresponse: *mut CERTTRANSBLOB, pctbencodedcert: *mut CERTTRANSBLOB, pctbdispositionmessage: *mut CERTTRANSBLOB) -> ::windows::core::HRESULT {
3835 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3836 let this = (*this).get_impl();
3837 this.Request2(::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute(&pwszserialnumber), ::core::mem::transmute_copy(&pdwrequestid), ::core::mem::transmute_copy(&pdwdisposition), ::core::mem::transmute(&pwszattributes), ::core::mem::transmute_copy(&pctbrequest), ::core::mem::transmute_copy(&pctbfullresponse), ::core::mem::transmute_copy(&pctbencodedcert), ::core::mem::transmute_copy(&pctbdispositionmessage)).into()
3838 }
3839 unsafe extern "system" fn GetCAProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows::core::PCWSTR, propid: i32, propindex: i32, proptype: i32, pctbpropertyvalue: *mut CERTTRANSBLOB) -> ::windows::core::HRESULT {
3840 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3841 let this = (*this).get_impl();
3842 match this.GetCAProperty(::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&propid), ::core::mem::transmute_copy(&propindex), ::core::mem::transmute_copy(&proptype)) {
3843 ::core::result::Result::Ok(ok__) => {
3844 ::core::ptr::write(pctbpropertyvalue, ::core::mem::transmute(ok__));
3845 ::windows::core::HRESULT(0)
3846 }
3847 ::core::result::Result::Err(err) => err.into(),
3848 }
3849 }
3850 unsafe extern "system" fn GetCAPropertyInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows::core::PCWSTR, pcproperty: *mut i32, pctbpropinfo: *mut CERTTRANSBLOB) -> ::windows::core::HRESULT {
3851 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3852 let this = (*this).get_impl();
3853 this.GetCAPropertyInfo(::core::mem::transmute(&pwszauthority), ::core::mem::transmute_copy(&pcproperty), ::core::mem::transmute_copy(&pctbpropinfo)).into()
3854 }
3855 unsafe extern "system" fn Ping2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertRequestD2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszauthority: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
3856 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3857 let this = (*this).get_impl();
3858 this.Ping2(::core::mem::transmute(&pwszauthority)).into()
3859 }
3860 Self {
3861 base__: ICertRequestD_Vtbl::new::<Identity, Impl, OFFSET>(),
3862 Request2: Request2::<Identity, Impl, OFFSET>,
3863 GetCAProperty: GetCAProperty::<Identity, Impl, OFFSET>,
3864 GetCAPropertyInfo: GetCAPropertyInfo::<Identity, Impl, OFFSET>,
3865 Ping2: Ping2::<Identity, Impl, OFFSET>,
3866 }
3867 }
3868 pub fn matches(iid: &windows::core::GUID) -> bool {
3869 iid == &<ICertRequestD2 as ::windows::core::ComInterface>::IID || iid == &<ICertRequestD as ::windows::core::ComInterface>::IID
3870 }
3871 }
3872 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3873 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3874 pub trait ICertServerExit_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
3875 fn SetContext(&self, context: i32) -> ::windows::core::Result<()>;
3876 fn GetRequestProperty(&self, strpropertyname: &::windows::core::BSTR, propertytype: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
3877 fn GetRequestAttribute(&self, strattributename: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
3878 fn GetCertificateProperty(&self, strpropertyname: &::windows::core::BSTR, propertytype: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
3879 fn GetCertificateExtension(&self, strextensionname: &::windows::core::BSTR, r#type: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
3880 fn GetCertificateExtensionFlags(&self) -> ::windows::core::Result<i32>;
3881 fn EnumerateExtensionsSetup(&self, flags: i32) -> ::windows::core::Result<()>;
3882 fn EnumerateExtensions(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3883 fn EnumerateExtensionsClose(&self) -> ::windows::core::Result<()>;
3884 fn EnumerateAttributesSetup(&self, flags: i32) -> ::windows::core::Result<()>;
3885 fn EnumerateAttributes(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3886 fn EnumerateAttributesClose(&self) -> ::windows::core::Result<()>;
3887 }
3888 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3889 impl ::windows::core::RuntimeName for ICertServerExit {}
3890 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3891 impl ICertServerExit_Vtbl {
3892 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>() -> ICertServerExit_Vtbl {
3893 unsafe extern "system" fn SetContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: i32) -> ::windows::core::HRESULT {
3894 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3895 let this = (*this).get_impl();
3896 this.SetContext(::core::mem::transmute_copy(&context)).into()
3897 }
3898 unsafe extern "system" fn GetRequestProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertytype: i32, pvarpropertyvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
3899 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3900 let this = (*this).get_impl();
3901 match this.GetRequestProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
3902 ::core::result::Result::Ok(ok__) => {
3903 ::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
3904 ::windows::core::HRESULT(0)
3905 }
3906 ::core::result::Result::Err(err) => err.into(),
3907 }
3908 }
3909 unsafe extern "system" fn GetRequestAttribute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strattributename: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrattributevalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3910 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3911 let this = (*this).get_impl();
3912 match this.GetRequestAttribute(::core::mem::transmute(&strattributename)) {
3913 ::core::result::Result::Ok(ok__) => {
3914 ::core::ptr::write(pstrattributevalue, ::core::mem::transmute(ok__));
3915 ::windows::core::HRESULT(0)
3916 }
3917 ::core::result::Result::Err(err) => err.into(),
3918 }
3919 }
3920 unsafe extern "system" fn GetCertificateProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertytype: i32, pvarpropertyvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
3921 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3922 let this = (*this).get_impl();
3923 match this.GetCertificateProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
3924 ::core::result::Result::Ok(ok__) => {
3925 ::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
3926 ::windows::core::HRESULT(0)
3927 }
3928 ::core::result::Result::Err(err) => err.into(),
3929 }
3930 }
3931 unsafe extern "system" fn GetCertificateExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strextensionname: ::std::mem::MaybeUninit<::windows::core::BSTR>, r#type: i32, pvarvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
3932 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3933 let this = (*this).get_impl();
3934 match this.GetCertificateExtension(::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type)) {
3935 ::core::result::Result::Ok(ok__) => {
3936 ::core::ptr::write(pvarvalue, ::core::mem::transmute(ok__));
3937 ::windows::core::HRESULT(0)
3938 }
3939 ::core::result::Result::Err(err) => err.into(),
3940 }
3941 }
3942 unsafe extern "system" fn GetCertificateExtensionFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextflags: *mut i32) -> ::windows::core::HRESULT {
3943 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3944 let this = (*this).get_impl();
3945 match this.GetCertificateExtensionFlags() {
3946 ::core::result::Result::Ok(ok__) => {
3947 ::core::ptr::write(pextflags, ::core::mem::transmute(ok__));
3948 ::windows::core::HRESULT(0)
3949 }
3950 ::core::result::Result::Err(err) => err.into(),
3951 }
3952 }
3953 unsafe extern "system" fn EnumerateExtensionsSetup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows::core::HRESULT {
3954 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3955 let this = (*this).get_impl();
3956 this.EnumerateExtensionsSetup(::core::mem::transmute_copy(&flags)).into()
3957 }
3958 unsafe extern "system" fn EnumerateExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrextensionname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3959 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3960 let this = (*this).get_impl();
3961 match this.EnumerateExtensions() {
3962 ::core::result::Result::Ok(ok__) => {
3963 ::core::ptr::write(pstrextensionname, ::core::mem::transmute(ok__));
3964 ::windows::core::HRESULT(0)
3965 }
3966 ::core::result::Result::Err(err) => err.into(),
3967 }
3968 }
3969 unsafe extern "system" fn EnumerateExtensionsClose<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3970 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3971 let this = (*this).get_impl();
3972 this.EnumerateExtensionsClose().into()
3973 }
3974 unsafe extern "system" fn EnumerateAttributesSetup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows::core::HRESULT {
3975 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3976 let this = (*this).get_impl();
3977 this.EnumerateAttributesSetup(::core::mem::transmute_copy(&flags)).into()
3978 }
3979 unsafe extern "system" fn EnumerateAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrattributename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3980 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3981 let this = (*this).get_impl();
3982 match this.EnumerateAttributes() {
3983 ::core::result::Result::Ok(ok__) => {
3984 ::core::ptr::write(pstrattributename, ::core::mem::transmute(ok__));
3985 ::windows::core::HRESULT(0)
3986 }
3987 ::core::result::Result::Err(err) => err.into(),
3988 }
3989 }
3990 unsafe extern "system" fn EnumerateAttributesClose<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerExit_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3991 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3992 let this = (*this).get_impl();
3993 this.EnumerateAttributesClose().into()
3994 }
3995 Self {
3996 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3997 SetContext: SetContext::<Identity, Impl, OFFSET>,
3998 GetRequestProperty: GetRequestProperty::<Identity, Impl, OFFSET>,
3999 GetRequestAttribute: GetRequestAttribute::<Identity, Impl, OFFSET>,
4000 GetCertificateProperty: GetCertificateProperty::<Identity, Impl, OFFSET>,
4001 GetCertificateExtension: GetCertificateExtension::<Identity, Impl, OFFSET>,
4002 GetCertificateExtensionFlags: GetCertificateExtensionFlags::<Identity, Impl, OFFSET>,
4003 EnumerateExtensionsSetup: EnumerateExtensionsSetup::<Identity, Impl, OFFSET>,
4004 EnumerateExtensions: EnumerateExtensions::<Identity, Impl, OFFSET>,
4005 EnumerateExtensionsClose: EnumerateExtensionsClose::<Identity, Impl, OFFSET>,
4006 EnumerateAttributesSetup: EnumerateAttributesSetup::<Identity, Impl, OFFSET>,
4007 EnumerateAttributes: EnumerateAttributes::<Identity, Impl, OFFSET>,
4008 EnumerateAttributesClose: EnumerateAttributesClose::<Identity, Impl, OFFSET>,
4009 }
4010 }
4011 pub fn matches(iid: &windows::core::GUID) -> bool {
4012 iid == &<ICertServerExit as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4013 }
4014 }
4015 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4016 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4017 pub trait ICertServerPolicy_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4018 fn SetContext(&self, context: i32) -> ::windows::core::Result<()>;
4019 fn GetRequestProperty(&self, strpropertyname: &::windows::core::BSTR, propertytype: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
4020 fn GetRequestAttribute(&self, strattributename: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
4021 fn GetCertificateProperty(&self, strpropertyname: &::windows::core::BSTR, propertytype: CERT_PROPERTY_TYPE) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
4022 fn SetCertificateProperty(&self, strpropertyname: &::windows::core::BSTR, propertytype: i32, pvarpropertyvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
4023 fn GetCertificateExtension(&self, strextensionname: &::windows::core::BSTR, r#type: CERT_PROPERTY_TYPE) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
4024 fn GetCertificateExtensionFlags(&self) -> ::windows::core::Result<i32>;
4025 fn SetCertificateExtension(&self, strextensionname: &::windows::core::BSTR, r#type: i32, extflags: i32, pvarvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
4026 fn EnumerateExtensionsSetup(&self, flags: i32) -> ::windows::core::Result<()>;
4027 fn EnumerateExtensions(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4028 fn EnumerateExtensionsClose(&self) -> ::windows::core::Result<()>;
4029 fn EnumerateAttributesSetup(&self, flags: i32) -> ::windows::core::Result<()>;
4030 fn EnumerateAttributes(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4031 fn EnumerateAttributesClose(&self) -> ::windows::core::Result<()>;
4032 }
4033 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4034 impl ::windows::core::RuntimeName for ICertServerPolicy {}
4035 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4036 impl ICertServerPolicy_Vtbl {
4037 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>() -> ICertServerPolicy_Vtbl {
4038 unsafe extern "system" fn SetContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: i32) -> ::windows::core::HRESULT {
4039 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4040 let this = (*this).get_impl();
4041 this.SetContext(::core::mem::transmute_copy(&context)).into()
4042 }
4043 unsafe extern "system" fn GetRequestProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertytype: i32, pvarpropertyvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4044 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4045 let this = (*this).get_impl();
4046 match this.GetRequestProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
4047 ::core::result::Result::Ok(ok__) => {
4048 ::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
4049 ::windows::core::HRESULT(0)
4050 }
4051 ::core::result::Result::Err(err) => err.into(),
4052 }
4053 }
4054 unsafe extern "system" fn GetRequestAttribute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strattributename: ::std::mem::MaybeUninit<::windows::core::BSTR>, pstrattributevalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4055 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4056 let this = (*this).get_impl();
4057 match this.GetRequestAttribute(::core::mem::transmute(&strattributename)) {
4058 ::core::result::Result::Ok(ok__) => {
4059 ::core::ptr::write(pstrattributevalue, ::core::mem::transmute(ok__));
4060 ::windows::core::HRESULT(0)
4061 }
4062 ::core::result::Result::Err(err) => err.into(),
4063 }
4064 }
4065 unsafe extern "system" fn GetCertificateProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertytype: CERT_PROPERTY_TYPE, pvarpropertyvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4066 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4067 let this = (*this).get_impl();
4068 match this.GetCertificateProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype)) {
4069 ::core::result::Result::Ok(ok__) => {
4070 ::core::ptr::write(pvarpropertyvalue, ::core::mem::transmute(ok__));
4071 ::windows::core::HRESULT(0)
4072 }
4073 ::core::result::Result::Err(err) => err.into(),
4074 }
4075 }
4076 unsafe extern "system" fn SetCertificateProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertytype: i32, pvarpropertyvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4077 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4078 let this = (*this).get_impl();
4079 this.SetCertificateProperty(::core::mem::transmute(&strpropertyname), ::core::mem::transmute_copy(&propertytype), ::core::mem::transmute_copy(&pvarpropertyvalue)).into()
4080 }
4081 unsafe extern "system" fn GetCertificateExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strextensionname: ::std::mem::MaybeUninit<::windows::core::BSTR>, r#type: CERT_PROPERTY_TYPE, pvarvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4082 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4083 let this = (*this).get_impl();
4084 match this.GetCertificateExtension(::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type)) {
4085 ::core::result::Result::Ok(ok__) => {
4086 ::core::ptr::write(pvarvalue, ::core::mem::transmute(ok__));
4087 ::windows::core::HRESULT(0)
4088 }
4089 ::core::result::Result::Err(err) => err.into(),
4090 }
4091 }
4092 unsafe extern "system" fn GetCertificateExtensionFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextflags: *mut i32) -> ::windows::core::HRESULT {
4093 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4094 let this = (*this).get_impl();
4095 match this.GetCertificateExtensionFlags() {
4096 ::core::result::Result::Ok(ok__) => {
4097 ::core::ptr::write(pextflags, ::core::mem::transmute(ok__));
4098 ::windows::core::HRESULT(0)
4099 }
4100 ::core::result::Result::Err(err) => err.into(),
4101 }
4102 }
4103 unsafe extern "system" fn SetCertificateExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strextensionname: ::std::mem::MaybeUninit<::windows::core::BSTR>, r#type: i32, extflags: i32, pvarvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4104 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4105 let this = (*this).get_impl();
4106 this.SetCertificateExtension(::core::mem::transmute(&strextensionname), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&extflags), ::core::mem::transmute_copy(&pvarvalue)).into()
4107 }
4108 unsafe extern "system" fn EnumerateExtensionsSetup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows::core::HRESULT {
4109 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4110 let this = (*this).get_impl();
4111 this.EnumerateExtensionsSetup(::core::mem::transmute_copy(&flags)).into()
4112 }
4113 unsafe extern "system" fn EnumerateExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrextensionname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4114 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4115 let this = (*this).get_impl();
4116 match this.EnumerateExtensions() {
4117 ::core::result::Result::Ok(ok__) => {
4118 ::core::ptr::write(pstrextensionname, ::core::mem::transmute(ok__));
4119 ::windows::core::HRESULT(0)
4120 }
4121 ::core::result::Result::Err(err) => err.into(),
4122 }
4123 }
4124 unsafe extern "system" fn EnumerateExtensionsClose<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4125 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4126 let this = (*this).get_impl();
4127 this.EnumerateExtensionsClose().into()
4128 }
4129 unsafe extern "system" fn EnumerateAttributesSetup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32) -> ::windows::core::HRESULT {
4130 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4131 let this = (*this).get_impl();
4132 this.EnumerateAttributesSetup(::core::mem::transmute_copy(&flags)).into()
4133 }
4134 unsafe extern "system" fn EnumerateAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrattributename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4135 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4136 let this = (*this).get_impl();
4137 match this.EnumerateAttributes() {
4138 ::core::result::Result::Ok(ok__) => {
4139 ::core::ptr::write(pstrattributename, ::core::mem::transmute(ok__));
4140 ::windows::core::HRESULT(0)
4141 }
4142 ::core::result::Result::Err(err) => err.into(),
4143 }
4144 }
4145 unsafe extern "system" fn EnumerateAttributesClose<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertServerPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4146 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4147 let this = (*this).get_impl();
4148 this.EnumerateAttributesClose().into()
4149 }
4150 Self {
4151 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4152 SetContext: SetContext::<Identity, Impl, OFFSET>,
4153 GetRequestProperty: GetRequestProperty::<Identity, Impl, OFFSET>,
4154 GetRequestAttribute: GetRequestAttribute::<Identity, Impl, OFFSET>,
4155 GetCertificateProperty: GetCertificateProperty::<Identity, Impl, OFFSET>,
4156 SetCertificateProperty: SetCertificateProperty::<Identity, Impl, OFFSET>,
4157 GetCertificateExtension: GetCertificateExtension::<Identity, Impl, OFFSET>,
4158 GetCertificateExtensionFlags: GetCertificateExtensionFlags::<Identity, Impl, OFFSET>,
4159 SetCertificateExtension: SetCertificateExtension::<Identity, Impl, OFFSET>,
4160 EnumerateExtensionsSetup: EnumerateExtensionsSetup::<Identity, Impl, OFFSET>,
4161 EnumerateExtensions: EnumerateExtensions::<Identity, Impl, OFFSET>,
4162 EnumerateExtensionsClose: EnumerateExtensionsClose::<Identity, Impl, OFFSET>,
4163 EnumerateAttributesSetup: EnumerateAttributesSetup::<Identity, Impl, OFFSET>,
4164 EnumerateAttributes: EnumerateAttributes::<Identity, Impl, OFFSET>,
4165 EnumerateAttributesClose: EnumerateAttributesClose::<Identity, Impl, OFFSET>,
4166 }
4167 }
4168 pub fn matches(iid: &windows::core::GUID) -> bool {
4169 iid == &<ICertServerPolicy as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4170 }
4171 }
4172 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4173 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4174 pub trait ICertView_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4175 fn OpenConnection(&self, strconfig: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4176 fn EnumCertViewColumn(&self, fresultcolumn: CVRC_COLUMN) -> ::windows::core::Result<IEnumCERTVIEWCOLUMN>;
4177 fn GetColumnCount(&self, fresultcolumn: CVRC_COLUMN, pccolumn: *mut i32) -> ::windows::core::Result<()>;
4178 fn GetColumnIndex(&self, fresultcolumn: CVRC_COLUMN, strcolumnname: &::windows::core::BSTR, pcolumnindex: *mut i32) -> ::windows::core::Result<()>;
4179 fn SetResultColumnCount(&self, cresultcolumn: i32) -> ::windows::core::Result<()>;
4180 fn SetResultColumn(&self, columnindex: i32) -> ::windows::core::Result<()>;
4181 fn SetRestriction(&self, columnindex: CERT_VIEW_COLUMN_INDEX, seekoperator: CERT_VIEW_SEEK_OPERATOR_FLAGS, sortorder: i32, pvarvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
4182 fn OpenView(&self) -> ::windows::core::Result<IEnumCERTVIEWROW>;
4183 }
4184 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4185 impl ::windows::core::RuntimeName for ICertView {}
4186 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4187 impl ICertView_Vtbl {
4188 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>() -> ICertView_Vtbl {
4189 unsafe extern "system" fn OpenConnection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strconfig: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4190 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4191 let this = (*this).get_impl();
4192 this.OpenConnection(::core::mem::transmute(&strconfig)).into()
4193 }
4194 unsafe extern "system" fn EnumCertViewColumn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fresultcolumn: CVRC_COLUMN, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4195 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4196 let this = (*this).get_impl();
4197 match this.EnumCertViewColumn(::core::mem::transmute_copy(&fresultcolumn)) {
4198 ::core::result::Result::Ok(ok__) => {
4199 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
4200 ::windows::core::HRESULT(0)
4201 }
4202 ::core::result::Result::Err(err) => err.into(),
4203 }
4204 }
4205 unsafe extern "system" fn GetColumnCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fresultcolumn: CVRC_COLUMN, pccolumn: *mut i32) -> ::windows::core::HRESULT {
4206 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4207 let this = (*this).get_impl();
4208 this.GetColumnCount(::core::mem::transmute_copy(&fresultcolumn), ::core::mem::transmute_copy(&pccolumn)).into()
4209 }
4210 unsafe extern "system" fn GetColumnIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fresultcolumn: CVRC_COLUMN, strcolumnname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcolumnindex: *mut i32) -> ::windows::core::HRESULT {
4211 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4212 let this = (*this).get_impl();
4213 this.GetColumnIndex(::core::mem::transmute_copy(&fresultcolumn), ::core::mem::transmute(&strcolumnname), ::core::mem::transmute_copy(&pcolumnindex)).into()
4214 }
4215 unsafe extern "system" fn SetResultColumnCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cresultcolumn: i32) -> ::windows::core::HRESULT {
4216 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4217 let this = (*this).get_impl();
4218 this.SetResultColumnCount(::core::mem::transmute_copy(&cresultcolumn)).into()
4219 }
4220 unsafe extern "system" fn SetResultColumn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columnindex: i32) -> ::windows::core::HRESULT {
4221 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4222 let this = (*this).get_impl();
4223 this.SetResultColumn(::core::mem::transmute_copy(&columnindex)).into()
4224 }
4225 unsafe extern "system" fn SetRestriction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columnindex: CERT_VIEW_COLUMN_INDEX, seekoperator: CERT_VIEW_SEEK_OPERATOR_FLAGS, sortorder: i32, pvarvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4226 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4227 let this = (*this).get_impl();
4228 this.SetRestriction(::core::mem::transmute_copy(&columnindex), ::core::mem::transmute_copy(&seekoperator), ::core::mem::transmute_copy(&sortorder), ::core::mem::transmute_copy(&pvarvalue)).into()
4229 }
4230 unsafe extern "system" fn OpenView<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4231 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4232 let this = (*this).get_impl();
4233 match this.OpenView() {
4234 ::core::result::Result::Ok(ok__) => {
4235 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
4236 ::windows::core::HRESULT(0)
4237 }
4238 ::core::result::Result::Err(err) => err.into(),
4239 }
4240 }
4241 Self {
4242 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4243 OpenConnection: OpenConnection::<Identity, Impl, OFFSET>,
4244 EnumCertViewColumn: EnumCertViewColumn::<Identity, Impl, OFFSET>,
4245 GetColumnCount: GetColumnCount::<Identity, Impl, OFFSET>,
4246 GetColumnIndex: GetColumnIndex::<Identity, Impl, OFFSET>,
4247 SetResultColumnCount: SetResultColumnCount::<Identity, Impl, OFFSET>,
4248 SetResultColumn: SetResultColumn::<Identity, Impl, OFFSET>,
4249 SetRestriction: SetRestriction::<Identity, Impl, OFFSET>,
4250 OpenView: OpenView::<Identity, Impl, OFFSET>,
4251 }
4252 }
4253 pub fn matches(iid: &windows::core::GUID) -> bool {
4254 iid == &<ICertView as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4255 }
4256 }
4257 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4258 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4259 pub trait ICertView2_Impl: Sized + ICertView_Impl {
4260 fn SetTable(&self, table: CVRC_TABLE) -> ::windows::core::Result<()>;
4261 }
4262 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4263 impl ::windows::core::RuntimeName for ICertView2 {}
4264 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4265 impl ICertView2_Vtbl {
4266 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView2_Impl, const OFFSET: isize>() -> ICertView2_Vtbl {
4267 unsafe extern "system" fn SetTable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertView2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, table: CVRC_TABLE) -> ::windows::core::HRESULT {
4268 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4269 let this = (*this).get_impl();
4270 this.SetTable(::core::mem::transmute_copy(&table)).into()
4271 }
4272 Self { base__: ICertView_Vtbl::new::<Identity, Impl, OFFSET>(), SetTable: SetTable::<Identity, Impl, OFFSET> }
4273 }
4274 pub fn matches(iid: &windows::core::GUID) -> bool {
4275 iid == &<ICertView2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertView as ::windows::core::ComInterface>::IID
4276 }
4277 }
4278 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4279 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4280 pub trait ICertificateAttestationChallenge_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4281 fn Initialize(&self, encoding: EncodingType, strpendingfullcmcresponsewithchallenge: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4282 fn DecryptChallenge(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
4283 fn RequestID(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4284 }
4285 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4286 impl ::windows::core::RuntimeName for ICertificateAttestationChallenge {}
4287 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4288 impl ICertificateAttestationChallenge_Vtbl {
4289 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>() -> ICertificateAttestationChallenge_Vtbl {
4290 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strpendingfullcmcresponsewithchallenge: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4291 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4292 let this = (*this).get_impl();
4293 this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strpendingfullcmcresponsewithchallenge)).into()
4294 }
4295 unsafe extern "system" fn DecryptChallenge<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pstrenvelopedpkcs7reencryptedtoca: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4296 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4297 let this = (*this).get_impl();
4298 match this.DecryptChallenge(::core::mem::transmute_copy(&encoding)) {
4299 ::core::result::Result::Ok(ok__) => {
4300 ::core::ptr::write(pstrenvelopedpkcs7reencryptedtoca, ::core::mem::transmute(ok__));
4301 ::windows::core::HRESULT(0)
4302 }
4303 ::core::result::Result::Err(err) => err.into(),
4304 }
4305 }
4306 unsafe extern "system" fn RequestID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrrequestid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4307 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4308 let this = (*this).get_impl();
4309 match this.RequestID() {
4310 ::core::result::Result::Ok(ok__) => {
4311 ::core::ptr::write(pstrrequestid, ::core::mem::transmute(ok__));
4312 ::windows::core::HRESULT(0)
4313 }
4314 ::core::result::Result::Err(err) => err.into(),
4315 }
4316 }
4317 Self {
4318 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4319 Initialize: Initialize::<Identity, Impl, OFFSET>,
4320 DecryptChallenge: DecryptChallenge::<Identity, Impl, OFFSET>,
4321 RequestID: RequestID::<Identity, Impl, OFFSET>,
4322 }
4323 }
4324 pub fn matches(iid: &windows::core::GUID) -> bool {
4325 iid == &<ICertificateAttestationChallenge as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4326 }
4327 }
4328 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4329 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4330 pub trait ICertificateAttestationChallenge2_Impl: Sized + ICertificateAttestationChallenge_Impl {
4331 fn SetKeyContainerName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4332 fn put_KeyBlob(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4333 }
4334 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4335 impl ::windows::core::RuntimeName for ICertificateAttestationChallenge2 {}
4336 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4337 impl ICertificateAttestationChallenge2_Vtbl {
4338 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge2_Impl, const OFFSET: isize>() -> ICertificateAttestationChallenge2_Vtbl {
4339 unsafe extern "system" fn SetKeyContainerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4340 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4341 let this = (*this).get_impl();
4342 this.SetKeyContainerName(::core::mem::transmute(&value)).into()
4343 }
4344 unsafe extern "system" fn put_KeyBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificateAttestationChallenge2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4345 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4346 let this = (*this).get_impl();
4347 this.put_KeyBlob(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
4348 }
4349 Self {
4350 base__: ICertificateAttestationChallenge_Vtbl::new::<Identity, Impl, OFFSET>(),
4351 SetKeyContainerName: SetKeyContainerName::<Identity, Impl, OFFSET>,
4352 put_KeyBlob: put_KeyBlob::<Identity, Impl, OFFSET>,
4353 }
4354 }
4355 pub fn matches(iid: &windows::core::GUID) -> bool {
4356 iid == &<ICertificateAttestationChallenge2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICertificateAttestationChallenge as ::windows::core::ComInterface>::IID
4357 }
4358 }
4359 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4360 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4361 pub trait ICertificatePolicies_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4362 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ICertificatePolicy>;
4363 fn Count(&self) -> ::windows::core::Result<i32>;
4364 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4365 fn Add(&self, pval: ::core::option::Option<&ICertificatePolicy>) -> ::windows::core::Result<()>;
4366 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
4367 fn Clear(&self) -> ::windows::core::Result<()>;
4368 }
4369 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4370 impl ::windows::core::RuntimeName for ICertificatePolicies {}
4371 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4372 impl ICertificatePolicies_Vtbl {
4373 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>() -> ICertificatePolicies_Vtbl {
4374 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4375 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4376 let this = (*this).get_impl();
4377 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
4378 ::core::result::Result::Ok(ok__) => {
4379 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4380 ::windows::core::HRESULT(0)
4381 }
4382 ::core::result::Result::Err(err) => err.into(),
4383 }
4384 }
4385 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
4386 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4387 let this = (*this).get_impl();
4388 match this.Count() {
4389 ::core::result::Result::Ok(ok__) => {
4390 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4391 ::windows::core::HRESULT(0)
4392 }
4393 ::core::result::Result::Err(err) => err.into(),
4394 }
4395 }
4396 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4397 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4398 let this = (*this).get_impl();
4399 match this._NewEnum() {
4400 ::core::result::Result::Ok(ok__) => {
4401 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4402 ::windows::core::HRESULT(0)
4403 }
4404 ::core::result::Result::Err(err) => err.into(),
4405 }
4406 }
4407 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4408 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4409 let this = (*this).get_impl();
4410 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
4411 }
4412 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
4413 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4414 let this = (*this).get_impl();
4415 this.Remove(::core::mem::transmute_copy(&index)).into()
4416 }
4417 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4418 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4419 let this = (*this).get_impl();
4420 this.Clear().into()
4421 }
4422 Self {
4423 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4424 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
4425 Count: Count::<Identity, Impl, OFFSET>,
4426 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
4427 Add: Add::<Identity, Impl, OFFSET>,
4428 Remove: Remove::<Identity, Impl, OFFSET>,
4429 Clear: Clear::<Identity, Impl, OFFSET>,
4430 }
4431 }
4432 pub fn matches(iid: &windows::core::GUID) -> bool {
4433 iid == &<ICertificatePolicies as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4434 }
4435 }
4436 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4437 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4438 pub trait ICertificatePolicy_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4439 fn Initialize(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
4440 fn ObjectId(&self) -> ::windows::core::Result<IObjectId>;
4441 fn PolicyQualifiers(&self) -> ::windows::core::Result<IPolicyQualifiers>;
4442 }
4443 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4444 impl ::windows::core::RuntimeName for ICertificatePolicy {}
4445 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4446 impl ICertificatePolicy_Vtbl {
4447 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>() -> ICertificatePolicy_Vtbl {
4448 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4449 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4450 let this = (*this).get_impl();
4451 this.Initialize(::windows::core::from_raw_borrowed(&pvalue)).into()
4452 }
4453 unsafe extern "system" fn ObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4454 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4455 let this = (*this).get_impl();
4456 match this.ObjectId() {
4457 ::core::result::Result::Ok(ok__) => {
4458 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
4459 ::windows::core::HRESULT(0)
4460 }
4461 ::core::result::Result::Err(err) => err.into(),
4462 }
4463 }
4464 unsafe extern "system" fn PolicyQualifiers<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificatePolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4465 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4466 let this = (*this).get_impl();
4467 match this.PolicyQualifiers() {
4468 ::core::result::Result::Ok(ok__) => {
4469 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
4470 ::windows::core::HRESULT(0)
4471 }
4472 ::core::result::Result::Err(err) => err.into(),
4473 }
4474 }
4475 Self {
4476 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4477 Initialize: Initialize::<Identity, Impl, OFFSET>,
4478 ObjectId: ObjectId::<Identity, Impl, OFFSET>,
4479 PolicyQualifiers: PolicyQualifiers::<Identity, Impl, OFFSET>,
4480 }
4481 }
4482 pub fn matches(iid: &windows::core::GUID) -> bool {
4483 iid == &<ICertificatePolicy as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4484 }
4485 }
4486 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4487 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4488 pub trait ICertificationAuthorities_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4489 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ICertificationAuthority>;
4490 fn Count(&self) -> ::windows::core::Result<i32>;
4491 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4492 fn Add(&self, pval: ::core::option::Option<&ICertificationAuthority>) -> ::windows::core::Result<()>;
4493 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
4494 fn Clear(&self) -> ::windows::core::Result<()>;
4495 fn ComputeSiteCosts(&self) -> ::windows::core::Result<()>;
4496 fn get_ItemByName(&self, strname: &::windows::core::BSTR) -> ::windows::core::Result<ICertificationAuthority>;
4497 }
4498 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4499 impl ::windows::core::RuntimeName for ICertificationAuthorities {}
4500 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4501 impl ICertificationAuthorities_Vtbl {
4502 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>() -> ICertificationAuthorities_Vtbl {
4503 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4504 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4505 let this = (*this).get_impl();
4506 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
4507 ::core::result::Result::Ok(ok__) => {
4508 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4509 ::windows::core::HRESULT(0)
4510 }
4511 ::core::result::Result::Err(err) => err.into(),
4512 }
4513 }
4514 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
4515 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4516 let this = (*this).get_impl();
4517 match this.Count() {
4518 ::core::result::Result::Ok(ok__) => {
4519 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4520 ::windows::core::HRESULT(0)
4521 }
4522 ::core::result::Result::Err(err) => err.into(),
4523 }
4524 }
4525 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4526 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4527 let this = (*this).get_impl();
4528 match this._NewEnum() {
4529 ::core::result::Result::Ok(ok__) => {
4530 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4531 ::windows::core::HRESULT(0)
4532 }
4533 ::core::result::Result::Err(err) => err.into(),
4534 }
4535 }
4536 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4537 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4538 let this = (*this).get_impl();
4539 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
4540 }
4541 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
4542 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4543 let this = (*this).get_impl();
4544 this.Remove(::core::mem::transmute_copy(&index)).into()
4545 }
4546 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4547 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4548 let this = (*this).get_impl();
4549 this.Clear().into()
4550 }
4551 unsafe extern "system" fn ComputeSiteCosts<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4552 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4553 let this = (*this).get_impl();
4554 this.ComputeSiteCosts().into()
4555 }
4556 unsafe extern "system" fn get_ItemByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthorities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4557 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4558 let this = (*this).get_impl();
4559 match this.get_ItemByName(::core::mem::transmute(&strname)) {
4560 ::core::result::Result::Ok(ok__) => {
4561 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
4562 ::windows::core::HRESULT(0)
4563 }
4564 ::core::result::Result::Err(err) => err.into(),
4565 }
4566 }
4567 Self {
4568 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4569 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
4570 Count: Count::<Identity, Impl, OFFSET>,
4571 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
4572 Add: Add::<Identity, Impl, OFFSET>,
4573 Remove: Remove::<Identity, Impl, OFFSET>,
4574 Clear: Clear::<Identity, Impl, OFFSET>,
4575 ComputeSiteCosts: ComputeSiteCosts::<Identity, Impl, OFFSET>,
4576 get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
4577 }
4578 }
4579 pub fn matches(iid: &windows::core::GUID) -> bool {
4580 iid == &<ICertificationAuthorities as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4581 }
4582 }
4583 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4584 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4585 pub trait ICertificationAuthority_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4586 fn get_Property(&self, property: EnrollmentCAProperty) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
4587 }
4588 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4589 impl ::windows::core::RuntimeName for ICertificationAuthority {}
4590 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4591 impl ICertificationAuthority_Vtbl {
4592 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthority_Impl, const OFFSET: isize>() -> ICertificationAuthority_Vtbl {
4593 unsafe extern "system" fn get_Property<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICertificationAuthority_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentCAProperty, pvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
4594 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4595 let this = (*this).get_impl();
4596 match this.get_Property(::core::mem::transmute_copy(&property)) {
4597 ::core::result::Result::Ok(ok__) => {
4598 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4599 ::windows::core::HRESULT(0)
4600 }
4601 ::core::result::Result::Err(err) => err.into(),
4602 }
4603 }
4604 Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), get_Property: get_Property::<Identity, Impl, OFFSET> }
4605 }
4606 pub fn matches(iid: &windows::core::GUID) -> bool {
4607 iid == &<ICertificationAuthority as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4608 }
4609 }
4610 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4611 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4612 pub trait ICryptAttribute_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4613 fn InitializeFromObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
4614 fn InitializeFromValues(&self, pattributes: ::core::option::Option<&IX509Attributes>) -> ::windows::core::Result<()>;
4615 fn ObjectId(&self) -> ::windows::core::Result<IObjectId>;
4616 fn Values(&self) -> ::windows::core::Result<IX509Attributes>;
4617 }
4618 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4619 impl ::windows::core::RuntimeName for ICryptAttribute {}
4620 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4621 impl ICryptAttribute_Vtbl {
4622 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>() -> ICryptAttribute_Vtbl {
4623 unsafe extern "system" fn InitializeFromObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4624 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4625 let this = (*this).get_impl();
4626 this.InitializeFromObjectId(::windows::core::from_raw_borrowed(&pobjectid)).into()
4627 }
4628 unsafe extern "system" fn InitializeFromValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattributes: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4629 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4630 let this = (*this).get_impl();
4631 this.InitializeFromValues(::windows::core::from_raw_borrowed(&pattributes)).into()
4632 }
4633 unsafe extern "system" fn ObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4634 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4635 let this = (*this).get_impl();
4636 match this.ObjectId() {
4637 ::core::result::Result::Ok(ok__) => {
4638 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
4639 ::windows::core::HRESULT(0)
4640 }
4641 ::core::result::Result::Err(err) => err.into(),
4642 }
4643 }
4644 unsafe extern "system" fn Values<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4645 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4646 let this = (*this).get_impl();
4647 match this.Values() {
4648 ::core::result::Result::Ok(ok__) => {
4649 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
4650 ::windows::core::HRESULT(0)
4651 }
4652 ::core::result::Result::Err(err) => err.into(),
4653 }
4654 }
4655 Self {
4656 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4657 InitializeFromObjectId: InitializeFromObjectId::<Identity, Impl, OFFSET>,
4658 InitializeFromValues: InitializeFromValues::<Identity, Impl, OFFSET>,
4659 ObjectId: ObjectId::<Identity, Impl, OFFSET>,
4660 Values: Values::<Identity, Impl, OFFSET>,
4661 }
4662 }
4663 pub fn matches(iid: &windows::core::GUID) -> bool {
4664 iid == &<ICryptAttribute as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4665 }
4666 }
4667 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4668 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4669 pub trait ICryptAttributes_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4670 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ICryptAttribute>;
4671 fn Count(&self) -> ::windows::core::Result<i32>;
4672 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4673 fn Add(&self, pval: ::core::option::Option<&ICryptAttribute>) -> ::windows::core::Result<()>;
4674 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
4675 fn Clear(&self) -> ::windows::core::Result<()>;
4676 fn get_IndexByObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<i32>;
4677 fn AddRange(&self, pvalue: ::core::option::Option<&ICryptAttributes>) -> ::windows::core::Result<()>;
4678 }
4679 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4680 impl ::windows::core::RuntimeName for ICryptAttributes {}
4681 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4682 impl ICryptAttributes_Vtbl {
4683 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>() -> ICryptAttributes_Vtbl {
4684 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4686 let this = (*this).get_impl();
4687 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
4688 ::core::result::Result::Ok(ok__) => {
4689 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4690 ::windows::core::HRESULT(0)
4691 }
4692 ::core::result::Result::Err(err) => err.into(),
4693 }
4694 }
4695 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
4696 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4697 let this = (*this).get_impl();
4698 match this.Count() {
4699 ::core::result::Result::Ok(ok__) => {
4700 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4701 ::windows::core::HRESULT(0)
4702 }
4703 ::core::result::Result::Err(err) => err.into(),
4704 }
4705 }
4706 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4707 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4708 let this = (*this).get_impl();
4709 match this._NewEnum() {
4710 ::core::result::Result::Ok(ok__) => {
4711 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4712 ::windows::core::HRESULT(0)
4713 }
4714 ::core::result::Result::Err(err) => err.into(),
4715 }
4716 }
4717 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4718 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4719 let this = (*this).get_impl();
4720 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
4721 }
4722 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
4723 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4724 let this = (*this).get_impl();
4725 this.Remove(::core::mem::transmute_copy(&index)).into()
4726 }
4727 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4728 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4729 let this = (*this).get_impl();
4730 this.Clear().into()
4731 }
4732 unsafe extern "system" fn get_IndexByObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
4733 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4734 let this = (*this).get_impl();
4735 match this.get_IndexByObjectId(::windows::core::from_raw_borrowed(&pobjectid)) {
4736 ::core::result::Result::Ok(ok__) => {
4737 ::core::ptr::write(pindex, ::core::mem::transmute(ok__));
4738 ::windows::core::HRESULT(0)
4739 }
4740 ::core::result::Result::Err(err) => err.into(),
4741 }
4742 }
4743 unsafe extern "system" fn AddRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICryptAttributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4744 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4745 let this = (*this).get_impl();
4746 this.AddRange(::windows::core::from_raw_borrowed(&pvalue)).into()
4747 }
4748 Self {
4749 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4750 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
4751 Count: Count::<Identity, Impl, OFFSET>,
4752 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
4753 Add: Add::<Identity, Impl, OFFSET>,
4754 Remove: Remove::<Identity, Impl, OFFSET>,
4755 Clear: Clear::<Identity, Impl, OFFSET>,
4756 get_IndexByObjectId: get_IndexByObjectId::<Identity, Impl, OFFSET>,
4757 AddRange: AddRange::<Identity, Impl, OFFSET>,
4758 }
4759 }
4760 pub fn matches(iid: &windows::core::GUID) -> bool {
4761 iid == &<ICryptAttributes as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4762 }
4763 }
4764 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4765 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4766 pub trait ICspAlgorithm_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4767 fn GetAlgorithmOid(&self, length: i32, algflags: AlgorithmFlags) -> ::windows::core::Result<IObjectId>;
4768 fn DefaultLength(&self) -> ::windows::core::Result<i32>;
4769 fn IncrementLength(&self) -> ::windows::core::Result<i32>;
4770 fn LongName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4771 fn Valid(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
4772 fn MaxLength(&self) -> ::windows::core::Result<i32>;
4773 fn MinLength(&self) -> ::windows::core::Result<i32>;
4774 fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4775 fn Type(&self) -> ::windows::core::Result<AlgorithmType>;
4776 fn Operations(&self) -> ::windows::core::Result<AlgorithmOperationFlags>;
4777 }
4778 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4779 impl ::windows::core::RuntimeName for ICspAlgorithm {}
4780 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4781 impl ICspAlgorithm_Vtbl {
4782 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>() -> ICspAlgorithm_Vtbl {
4783 unsafe extern "system" fn GetAlgorithmOid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, length: i32, algflags: AlgorithmFlags, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4784 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4785 let this = (*this).get_impl();
4786 match this.GetAlgorithmOid(::core::mem::transmute_copy(&length), ::core::mem::transmute_copy(&algflags)) {
4787 ::core::result::Result::Ok(ok__) => {
4788 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
4789 ::windows::core::HRESULT(0)
4790 }
4791 ::core::result::Result::Err(err) => err.into(),
4792 }
4793 }
4794 unsafe extern "system" fn DefaultLength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
4795 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4796 let this = (*this).get_impl();
4797 match this.DefaultLength() {
4798 ::core::result::Result::Ok(ok__) => {
4799 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4800 ::windows::core::HRESULT(0)
4801 }
4802 ::core::result::Result::Err(err) => err.into(),
4803 }
4804 }
4805 unsafe extern "system" fn IncrementLength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
4806 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4807 let this = (*this).get_impl();
4808 match this.IncrementLength() {
4809 ::core::result::Result::Ok(ok__) => {
4810 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4811 ::windows::core::HRESULT(0)
4812 }
4813 ::core::result::Result::Err(err) => err.into(),
4814 }
4815 }
4816 unsafe extern "system" fn LongName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4817 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4818 let this = (*this).get_impl();
4819 match this.LongName() {
4820 ::core::result::Result::Ok(ok__) => {
4821 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4822 ::windows::core::HRESULT(0)
4823 }
4824 ::core::result::Result::Err(err) => err.into(),
4825 }
4826 }
4827 unsafe extern "system" fn Valid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4828 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4829 let this = (*this).get_impl();
4830 match this.Valid() {
4831 ::core::result::Result::Ok(ok__) => {
4832 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4833 ::windows::core::HRESULT(0)
4834 }
4835 ::core::result::Result::Err(err) => err.into(),
4836 }
4837 }
4838 unsafe extern "system" fn MaxLength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
4839 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4840 let this = (*this).get_impl();
4841 match this.MaxLength() {
4842 ::core::result::Result::Ok(ok__) => {
4843 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4844 ::windows::core::HRESULT(0)
4845 }
4846 ::core::result::Result::Err(err) => err.into(),
4847 }
4848 }
4849 unsafe extern "system" fn MinLength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
4850 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4851 let this = (*this).get_impl();
4852 match this.MinLength() {
4853 ::core::result::Result::Ok(ok__) => {
4854 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4855 ::windows::core::HRESULT(0)
4856 }
4857 ::core::result::Result::Err(err) => err.into(),
4858 }
4859 }
4860 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4861 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4862 let this = (*this).get_impl();
4863 match this.Name() {
4864 ::core::result::Result::Ok(ok__) => {
4865 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4866 ::windows::core::HRESULT(0)
4867 }
4868 ::core::result::Result::Err(err) => err.into(),
4869 }
4870 }
4871 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut AlgorithmType) -> ::windows::core::HRESULT {
4872 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4873 let this = (*this).get_impl();
4874 match this.Type() {
4875 ::core::result::Result::Ok(ok__) => {
4876 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4877 ::windows::core::HRESULT(0)
4878 }
4879 ::core::result::Result::Err(err) => err.into(),
4880 }
4881 }
4882 unsafe extern "system" fn Operations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithm_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut AlgorithmOperationFlags) -> ::windows::core::HRESULT {
4883 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4884 let this = (*this).get_impl();
4885 match this.Operations() {
4886 ::core::result::Result::Ok(ok__) => {
4887 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
4888 ::windows::core::HRESULT(0)
4889 }
4890 ::core::result::Result::Err(err) => err.into(),
4891 }
4892 }
4893 Self {
4894 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4895 GetAlgorithmOid: GetAlgorithmOid::<Identity, Impl, OFFSET>,
4896 DefaultLength: DefaultLength::<Identity, Impl, OFFSET>,
4897 IncrementLength: IncrementLength::<Identity, Impl, OFFSET>,
4898 LongName: LongName::<Identity, Impl, OFFSET>,
4899 Valid: Valid::<Identity, Impl, OFFSET>,
4900 MaxLength: MaxLength::<Identity, Impl, OFFSET>,
4901 MinLength: MinLength::<Identity, Impl, OFFSET>,
4902 Name: Name::<Identity, Impl, OFFSET>,
4903 Type: Type::<Identity, Impl, OFFSET>,
4904 Operations: Operations::<Identity, Impl, OFFSET>,
4905 }
4906 }
4907 pub fn matches(iid: &windows::core::GUID) -> bool {
4908 iid == &<ICspAlgorithm as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
4909 }
4910 }
4911 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4912 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4913 pub trait ICspAlgorithms_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
4914 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ICspAlgorithm>;
4915 fn Count(&self) -> ::windows::core::Result<i32>;
4916 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4917 fn Add(&self, pval: ::core::option::Option<&ICspAlgorithm>) -> ::windows::core::Result<()>;
4918 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
4919 fn Clear(&self) -> ::windows::core::Result<()>;
4920 fn get_ItemByName(&self, strname: &::windows::core::BSTR) -> ::windows::core::Result<ICspAlgorithm>;
4921 fn get_IndexByObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<i32>;
4922 }
4923 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4924 impl ::windows::core::RuntimeName for ICspAlgorithms {}
4925 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4926 impl ICspAlgorithms_Vtbl {
4927 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>() -> ICspAlgorithms_Vtbl {
4928 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4929 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4930 let this = (*this).get_impl();
4931 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
4932 ::core::result::Result::Ok(ok__) => {
4933 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4934 ::windows::core::HRESULT(0)
4935 }
4936 ::core::result::Result::Err(err) => err.into(),
4937 }
4938 }
4939 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
4940 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4941 let this = (*this).get_impl();
4942 match this.Count() {
4943 ::core::result::Result::Ok(ok__) => {
4944 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4945 ::windows::core::HRESULT(0)
4946 }
4947 ::core::result::Result::Err(err) => err.into(),
4948 }
4949 }
4950 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4951 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4952 let this = (*this).get_impl();
4953 match this._NewEnum() {
4954 ::core::result::Result::Ok(ok__) => {
4955 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4956 ::windows::core::HRESULT(0)
4957 }
4958 ::core::result::Result::Err(err) => err.into(),
4959 }
4960 }
4961 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4962 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4963 let this = (*this).get_impl();
4964 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
4965 }
4966 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
4967 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4968 let this = (*this).get_impl();
4969 this.Remove(::core::mem::transmute_copy(&index)).into()
4970 }
4971 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4972 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4973 let this = (*this).get_impl();
4974 this.Clear().into()
4975 }
4976 unsafe extern "system" fn get_ItemByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4977 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4978 let this = (*this).get_impl();
4979 match this.get_ItemByName(::core::mem::transmute(&strname)) {
4980 ::core::result::Result::Ok(ok__) => {
4981 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
4982 ::windows::core::HRESULT(0)
4983 }
4984 ::core::result::Result::Err(err) => err.into(),
4985 }
4986 }
4987 unsafe extern "system" fn get_IndexByObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspAlgorithms_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
4988 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4989 let this = (*this).get_impl();
4990 match this.get_IndexByObjectId(::windows::core::from_raw_borrowed(&pobjectid)) {
4991 ::core::result::Result::Ok(ok__) => {
4992 ::core::ptr::write(pindex, ::core::mem::transmute(ok__));
4993 ::windows::core::HRESULT(0)
4994 }
4995 ::core::result::Result::Err(err) => err.into(),
4996 }
4997 }
4998 Self {
4999 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5000 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
5001 Count: Count::<Identity, Impl, OFFSET>,
5002 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
5003 Add: Add::<Identity, Impl, OFFSET>,
5004 Remove: Remove::<Identity, Impl, OFFSET>,
5005 Clear: Clear::<Identity, Impl, OFFSET>,
5006 get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
5007 get_IndexByObjectId: get_IndexByObjectId::<Identity, Impl, OFFSET>,
5008 }
5009 }
5010 pub fn matches(iid: &windows::core::GUID) -> bool {
5011 iid == &<ICspAlgorithms as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5012 }
5013 }
5014 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5015 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5016 pub trait ICspInformation_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
5017 fn InitializeFromName(&self, strname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
5018 fn InitializeFromType(&self, r#type: X509ProviderType, palgorithm: ::core::option::Option<&IObjectId>, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
5019 fn CspAlgorithms(&self) -> ::windows::core::Result<ICspAlgorithms>;
5020 fn HasHardwareRandomNumberGenerator(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
5021 fn IsHardwareDevice(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
5022 fn IsRemovable(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
5023 fn IsSoftwareDevice(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
5024 fn Valid(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
5025 fn MaxKeyContainerNameLength(&self) -> ::windows::core::Result<i32>;
5026 fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>;
5027 fn Type(&self) -> ::windows::core::Result<X509ProviderType>;
5028 fn Version(&self) -> ::windows::core::Result<i32>;
5029 fn KeySpec(&self) -> ::windows::core::Result<X509KeySpec>;
5030 fn IsSmartCard(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
5031 fn GetDefaultSecurityDescriptor(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<::windows::core::BSTR>;
5032 fn LegacyCsp(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
5033 fn GetCspStatusFromOperations(&self, palgorithm: ::core::option::Option<&IObjectId>, operations: AlgorithmOperationFlags) -> ::windows::core::Result<ICspStatus>;
5034 }
5035 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5036 impl ::windows::core::RuntimeName for ICspInformation {}
5037 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5038 impl ICspInformation_Vtbl {
5039 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>() -> ICspInformation_Vtbl {
5040 unsafe extern "system" fn InitializeFromName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5041 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5042 let this = (*this).get_impl();
5043 this.InitializeFromName(::core::mem::transmute(&strname)).into()
5044 }
5045 unsafe extern "system" fn InitializeFromType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: X509ProviderType, palgorithm: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5046 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5047 let this = (*this).get_impl();
5048 this.InitializeFromType(::core::mem::transmute_copy(&r#type), ::windows::core::from_raw_borrowed(&palgorithm), ::core::mem::transmute_copy(&machinecontext)).into()
5049 }
5050 unsafe extern "system" fn CspAlgorithms<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5051 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5052 let this = (*this).get_impl();
5053 match this.CspAlgorithms() {
5054 ::core::result::Result::Ok(ok__) => {
5055 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5056 ::windows::core::HRESULT(0)
5057 }
5058 ::core::result::Result::Err(err) => err.into(),
5059 }
5060 }
5061 unsafe extern "system" fn HasHardwareRandomNumberGenerator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5062 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5063 let this = (*this).get_impl();
5064 match this.HasHardwareRandomNumberGenerator() {
5065 ::core::result::Result::Ok(ok__) => {
5066 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5067 ::windows::core::HRESULT(0)
5068 }
5069 ::core::result::Result::Err(err) => err.into(),
5070 }
5071 }
5072 unsafe extern "system" fn IsHardwareDevice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5073 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5074 let this = (*this).get_impl();
5075 match this.IsHardwareDevice() {
5076 ::core::result::Result::Ok(ok__) => {
5077 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5078 ::windows::core::HRESULT(0)
5079 }
5080 ::core::result::Result::Err(err) => err.into(),
5081 }
5082 }
5083 unsafe extern "system" fn IsRemovable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5084 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5085 let this = (*this).get_impl();
5086 match this.IsRemovable() {
5087 ::core::result::Result::Ok(ok__) => {
5088 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5089 ::windows::core::HRESULT(0)
5090 }
5091 ::core::result::Result::Err(err) => err.into(),
5092 }
5093 }
5094 unsafe extern "system" fn IsSoftwareDevice<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5095 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5096 let this = (*this).get_impl();
5097 match this.IsSoftwareDevice() {
5098 ::core::result::Result::Ok(ok__) => {
5099 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5100 ::windows::core::HRESULT(0)
5101 }
5102 ::core::result::Result::Err(err) => err.into(),
5103 }
5104 }
5105 unsafe extern "system" fn Valid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5106 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5107 let this = (*this).get_impl();
5108 match this.Valid() {
5109 ::core::result::Result::Ok(ok__) => {
5110 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5111 ::windows::core::HRESULT(0)
5112 }
5113 ::core::result::Result::Err(err) => err.into(),
5114 }
5115 }
5116 unsafe extern "system" fn MaxKeyContainerNameLength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
5117 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5118 let this = (*this).get_impl();
5119 match this.MaxKeyContainerNameLength() {
5120 ::core::result::Result::Ok(ok__) => {
5121 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5122 ::windows::core::HRESULT(0)
5123 }
5124 ::core::result::Result::Err(err) => err.into(),
5125 }
5126 }
5127 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5128 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5129 let this = (*this).get_impl();
5130 match this.Name() {
5131 ::core::result::Result::Ok(ok__) => {
5132 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5133 ::windows::core::HRESULT(0)
5134 }
5135 ::core::result::Result::Err(err) => err.into(),
5136 }
5137 }
5138 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509ProviderType) -> ::windows::core::HRESULT {
5139 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5140 let this = (*this).get_impl();
5141 match this.Type() {
5142 ::core::result::Result::Ok(ok__) => {
5143 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5144 ::windows::core::HRESULT(0)
5145 }
5146 ::core::result::Result::Err(err) => err.into(),
5147 }
5148 }
5149 unsafe extern "system" fn Version<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
5150 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5151 let this = (*this).get_impl();
5152 match this.Version() {
5153 ::core::result::Result::Ok(ok__) => {
5154 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5155 ::windows::core::HRESULT(0)
5156 }
5157 ::core::result::Result::Err(err) => err.into(),
5158 }
5159 }
5160 unsafe extern "system" fn KeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeySpec) -> ::windows::core::HRESULT {
5161 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5162 let this = (*this).get_impl();
5163 match this.KeySpec() {
5164 ::core::result::Result::Ok(ok__) => {
5165 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5166 ::windows::core::HRESULT(0)
5167 }
5168 ::core::result::Result::Err(err) => err.into(),
5169 }
5170 }
5171 unsafe extern "system" fn IsSmartCard<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5172 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5173 let this = (*this).get_impl();
5174 match this.IsSmartCard() {
5175 ::core::result::Result::Ok(ok__) => {
5176 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5177 ::windows::core::HRESULT(0)
5178 }
5179 ::core::result::Result::Err(err) => err.into(),
5180 }
5181 }
5182 unsafe extern "system" fn GetDefaultSecurityDescriptor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5183 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5184 let this = (*this).get_impl();
5185 match this.GetDefaultSecurityDescriptor(::core::mem::transmute_copy(&machinecontext)) {
5186 ::core::result::Result::Ok(ok__) => {
5187 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5188 ::windows::core::HRESULT(0)
5189 }
5190 ::core::result::Result::Err(err) => err.into(),
5191 }
5192 }
5193 unsafe extern "system" fn LegacyCsp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
5194 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5195 let this = (*this).get_impl();
5196 match this.LegacyCsp() {
5197 ::core::result::Result::Ok(ok__) => {
5198 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5199 ::windows::core::HRESULT(0)
5200 }
5201 ::core::result::Result::Err(err) => err.into(),
5202 }
5203 }
5204 unsafe extern "system" fn GetCspStatusFromOperations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, palgorithm: *mut ::core::ffi::c_void, operations: AlgorithmOperationFlags, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5205 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5206 let this = (*this).get_impl();
5207 match this.GetCspStatusFromOperations(::windows::core::from_raw_borrowed(&palgorithm), ::core::mem::transmute_copy(&operations)) {
5208 ::core::result::Result::Ok(ok__) => {
5209 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5210 ::windows::core::HRESULT(0)
5211 }
5212 ::core::result::Result::Err(err) => err.into(),
5213 }
5214 }
5215 Self {
5216 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5217 InitializeFromName: InitializeFromName::<Identity, Impl, OFFSET>,
5218 InitializeFromType: InitializeFromType::<Identity, Impl, OFFSET>,
5219 CspAlgorithms: CspAlgorithms::<Identity, Impl, OFFSET>,
5220 HasHardwareRandomNumberGenerator: HasHardwareRandomNumberGenerator::<Identity, Impl, OFFSET>,
5221 IsHardwareDevice: IsHardwareDevice::<Identity, Impl, OFFSET>,
5222 IsRemovable: IsRemovable::<Identity, Impl, OFFSET>,
5223 IsSoftwareDevice: IsSoftwareDevice::<Identity, Impl, OFFSET>,
5224 Valid: Valid::<Identity, Impl, OFFSET>,
5225 MaxKeyContainerNameLength: MaxKeyContainerNameLength::<Identity, Impl, OFFSET>,
5226 Name: Name::<Identity, Impl, OFFSET>,
5227 Type: Type::<Identity, Impl, OFFSET>,
5228 Version: Version::<Identity, Impl, OFFSET>,
5229 KeySpec: KeySpec::<Identity, Impl, OFFSET>,
5230 IsSmartCard: IsSmartCard::<Identity, Impl, OFFSET>,
5231 GetDefaultSecurityDescriptor: GetDefaultSecurityDescriptor::<Identity, Impl, OFFSET>,
5232 LegacyCsp: LegacyCsp::<Identity, Impl, OFFSET>,
5233 GetCspStatusFromOperations: GetCspStatusFromOperations::<Identity, Impl, OFFSET>,
5234 }
5235 }
5236 pub fn matches(iid: &windows::core::GUID) -> bool {
5237 iid == &<ICspInformation as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5238 }
5239 }
5240 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5241 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5242 pub trait ICspInformations_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
5243 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ICspInformation>;
5244 fn Count(&self) -> ::windows::core::Result<i32>;
5245 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
5246 fn Add(&self, pval: ::core::option::Option<&ICspInformation>) -> ::windows::core::Result<()>;
5247 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
5248 fn Clear(&self) -> ::windows::core::Result<()>;
5249 fn AddAvailableCsps(&self) -> ::windows::core::Result<()>;
5250 fn get_ItemByName(&self, strname: &::windows::core::BSTR) -> ::windows::core::Result<ICspInformation>;
5251 fn GetCspStatusFromProviderName(&self, strprovidername: &::windows::core::BSTR, legacykeyspec: X509KeySpec) -> ::windows::core::Result<ICspStatus>;
5252 fn GetCspStatusesFromOperations(&self, operations: AlgorithmOperationFlags, pcspinformation: ::core::option::Option<&ICspInformation>) -> ::windows::core::Result<ICspStatuses>;
5253 fn GetEncryptionCspAlgorithms(&self, pcspinformation: ::core::option::Option<&ICspInformation>) -> ::windows::core::Result<ICspAlgorithms>;
5254 fn GetHashAlgorithms(&self, pcspinformation: ::core::option::Option<&ICspInformation>) -> ::windows::core::Result<IObjectIds>;
5255 }
5256 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5257 impl ::windows::core::RuntimeName for ICspInformations {}
5258 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5259 impl ICspInformations_Vtbl {
5260 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>() -> ICspInformations_Vtbl {
5261 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5262 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5263 let this = (*this).get_impl();
5264 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
5265 ::core::result::Result::Ok(ok__) => {
5266 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
5267 ::windows::core::HRESULT(0)
5268 }
5269 ::core::result::Result::Err(err) => err.into(),
5270 }
5271 }
5272 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
5273 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5274 let this = (*this).get_impl();
5275 match this.Count() {
5276 ::core::result::Result::Ok(ok__) => {
5277 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
5278 ::windows::core::HRESULT(0)
5279 }
5280 ::core::result::Result::Err(err) => err.into(),
5281 }
5282 }
5283 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5284 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5285 let this = (*this).get_impl();
5286 match this._NewEnum() {
5287 ::core::result::Result::Ok(ok__) => {
5288 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
5289 ::windows::core::HRESULT(0)
5290 }
5291 ::core::result::Result::Err(err) => err.into(),
5292 }
5293 }
5294 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5295 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5296 let this = (*this).get_impl();
5297 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
5298 }
5299 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
5300 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5301 let this = (*this).get_impl();
5302 this.Remove(::core::mem::transmute_copy(&index)).into()
5303 }
5304 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5305 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5306 let this = (*this).get_impl();
5307 this.Clear().into()
5308 }
5309 unsafe extern "system" fn AddAvailableCsps<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5310 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5311 let this = (*this).get_impl();
5312 this.AddAvailableCsps().into()
5313 }
5314 unsafe extern "system" fn get_ItemByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppcspinformation: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5315 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5316 let this = (*this).get_impl();
5317 match this.get_ItemByName(::core::mem::transmute(&strname)) {
5318 ::core::result::Result::Ok(ok__) => {
5319 ::core::ptr::write(ppcspinformation, ::core::mem::transmute(ok__));
5320 ::windows::core::HRESULT(0)
5321 }
5322 ::core::result::Result::Err(err) => err.into(),
5323 }
5324 }
5325 unsafe extern "system" fn GetCspStatusFromProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprovidername: ::std::mem::MaybeUninit<::windows::core::BSTR>, legacykeyspec: X509KeySpec, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5327 let this = (*this).get_impl();
5328 match this.GetCspStatusFromProviderName(::core::mem::transmute(&strprovidername), ::core::mem::transmute_copy(&legacykeyspec)) {
5329 ::core::result::Result::Ok(ok__) => {
5330 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5331 ::windows::core::HRESULT(0)
5332 }
5333 ::core::result::Result::Err(err) => err.into(),
5334 }
5335 }
5336 unsafe extern "system" fn GetCspStatusesFromOperations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, operations: AlgorithmOperationFlags, pcspinformation: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5337 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5338 let this = (*this).get_impl();
5339 match this.GetCspStatusesFromOperations(::core::mem::transmute_copy(&operations), ::windows::core::from_raw_borrowed(&pcspinformation)) {
5340 ::core::result::Result::Ok(ok__) => {
5341 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5342 ::windows::core::HRESULT(0)
5343 }
5344 ::core::result::Result::Err(err) => err.into(),
5345 }
5346 }
5347 unsafe extern "system" fn GetEncryptionCspAlgorithms<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcspinformation: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5348 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5349 let this = (*this).get_impl();
5350 match this.GetEncryptionCspAlgorithms(::windows::core::from_raw_borrowed(&pcspinformation)) {
5351 ::core::result::Result::Ok(ok__) => {
5352 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5353 ::windows::core::HRESULT(0)
5354 }
5355 ::core::result::Result::Err(err) => err.into(),
5356 }
5357 }
5358 unsafe extern "system" fn GetHashAlgorithms<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspInformations_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcspinformation: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5359 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5360 let this = (*this).get_impl();
5361 match this.GetHashAlgorithms(::windows::core::from_raw_borrowed(&pcspinformation)) {
5362 ::core::result::Result::Ok(ok__) => {
5363 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5364 ::windows::core::HRESULT(0)
5365 }
5366 ::core::result::Result::Err(err) => err.into(),
5367 }
5368 }
5369 Self {
5370 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5371 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
5372 Count: Count::<Identity, Impl, OFFSET>,
5373 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
5374 Add: Add::<Identity, Impl, OFFSET>,
5375 Remove: Remove::<Identity, Impl, OFFSET>,
5376 Clear: Clear::<Identity, Impl, OFFSET>,
5377 AddAvailableCsps: AddAvailableCsps::<Identity, Impl, OFFSET>,
5378 get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
5379 GetCspStatusFromProviderName: GetCspStatusFromProviderName::<Identity, Impl, OFFSET>,
5380 GetCspStatusesFromOperations: GetCspStatusesFromOperations::<Identity, Impl, OFFSET>,
5381 GetEncryptionCspAlgorithms: GetEncryptionCspAlgorithms::<Identity, Impl, OFFSET>,
5382 GetHashAlgorithms: GetHashAlgorithms::<Identity, Impl, OFFSET>,
5383 }
5384 }
5385 pub fn matches(iid: &windows::core::GUID) -> bool {
5386 iid == &<ICspInformations as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5387 }
5388 }
5389 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5390 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5391 pub trait ICspStatus_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
5392 fn Initialize(&self, pcsp: ::core::option::Option<&ICspInformation>, palgorithm: ::core::option::Option<&ICspAlgorithm>) -> ::windows::core::Result<()>;
5393 fn Ordinal(&self) -> ::windows::core::Result<i32>;
5394 fn SetOrdinal(&self, value: i32) -> ::windows::core::Result<()>;
5395 fn CspAlgorithm(&self) -> ::windows::core::Result<ICspAlgorithm>;
5396 fn CspInformation(&self) -> ::windows::core::Result<ICspInformation>;
5397 fn EnrollmentStatus(&self) -> ::windows::core::Result<IX509EnrollmentStatus>;
5398 fn DisplayName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
5399 }
5400 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5401 impl ::windows::core::RuntimeName for ICspStatus {}
5402 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5403 impl ICspStatus_Vtbl {
5404 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>() -> ICspStatus_Vtbl {
5405 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcsp: *mut ::core::ffi::c_void, palgorithm: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5406 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5407 let this = (*this).get_impl();
5408 this.Initialize(::windows::core::from_raw_borrowed(&pcsp), ::windows::core::from_raw_borrowed(&palgorithm)).into()
5409 }
5410 unsafe extern "system" fn Ordinal<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
5411 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5412 let this = (*this).get_impl();
5413 match this.Ordinal() {
5414 ::core::result::Result::Ok(ok__) => {
5415 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5416 ::windows::core::HRESULT(0)
5417 }
5418 ::core::result::Result::Err(err) => err.into(),
5419 }
5420 }
5421 unsafe extern "system" fn SetOrdinal<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
5422 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5423 let this = (*this).get_impl();
5424 this.SetOrdinal(::core::mem::transmute_copy(&value)).into()
5425 }
5426 unsafe extern "system" fn CspAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5427 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5428 let this = (*this).get_impl();
5429 match this.CspAlgorithm() {
5430 ::core::result::Result::Ok(ok__) => {
5431 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5432 ::windows::core::HRESULT(0)
5433 }
5434 ::core::result::Result::Err(err) => err.into(),
5435 }
5436 }
5437 unsafe extern "system" fn CspInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5438 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5439 let this = (*this).get_impl();
5440 match this.CspInformation() {
5441 ::core::result::Result::Ok(ok__) => {
5442 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5443 ::windows::core::HRESULT(0)
5444 }
5445 ::core::result::Result::Err(err) => err.into(),
5446 }
5447 }
5448 unsafe extern "system" fn EnrollmentStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5449 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5450 let this = (*this).get_impl();
5451 match this.EnrollmentStatus() {
5452 ::core::result::Result::Ok(ok__) => {
5453 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5454 ::windows::core::HRESULT(0)
5455 }
5456 ::core::result::Result::Err(err) => err.into(),
5457 }
5458 }
5459 unsafe extern "system" fn DisplayName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
5460 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5461 let this = (*this).get_impl();
5462 match this.DisplayName() {
5463 ::core::result::Result::Ok(ok__) => {
5464 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
5465 ::windows::core::HRESULT(0)
5466 }
5467 ::core::result::Result::Err(err) => err.into(),
5468 }
5469 }
5470 Self {
5471 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5472 Initialize: Initialize::<Identity, Impl, OFFSET>,
5473 Ordinal: Ordinal::<Identity, Impl, OFFSET>,
5474 SetOrdinal: SetOrdinal::<Identity, Impl, OFFSET>,
5475 CspAlgorithm: CspAlgorithm::<Identity, Impl, OFFSET>,
5476 CspInformation: CspInformation::<Identity, Impl, OFFSET>,
5477 EnrollmentStatus: EnrollmentStatus::<Identity, Impl, OFFSET>,
5478 DisplayName: DisplayName::<Identity, Impl, OFFSET>,
5479 }
5480 }
5481 pub fn matches(iid: &windows::core::GUID) -> bool {
5482 iid == &<ICspStatus as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5483 }
5484 }
5485 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5486 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5487 pub trait ICspStatuses_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
5488 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ICspStatus>;
5489 fn Count(&self) -> ::windows::core::Result<i32>;
5490 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
5491 fn Add(&self, pval: ::core::option::Option<&ICspStatus>) -> ::windows::core::Result<()>;
5492 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
5493 fn Clear(&self) -> ::windows::core::Result<()>;
5494 fn get_ItemByName(&self, strcspname: &::windows::core::BSTR, stralgorithmname: &::windows::core::BSTR) -> ::windows::core::Result<ICspStatus>;
5495 fn get_ItemByOrdinal(&self, ordinal: i32) -> ::windows::core::Result<ICspStatus>;
5496 fn get_ItemByOperations(&self, strcspname: &::windows::core::BSTR, stralgorithmname: &::windows::core::BSTR, operations: AlgorithmOperationFlags) -> ::windows::core::Result<ICspStatus>;
5497 fn get_ItemByProvider(&self, pcspstatus: ::core::option::Option<&ICspStatus>) -> ::windows::core::Result<ICspStatus>;
5498 }
5499 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5500 impl ::windows::core::RuntimeName for ICspStatuses {}
5501 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5502 impl ICspStatuses_Vtbl {
5503 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>() -> ICspStatuses_Vtbl {
5504 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5505 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5506 let this = (*this).get_impl();
5507 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
5508 ::core::result::Result::Ok(ok__) => {
5509 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
5510 ::windows::core::HRESULT(0)
5511 }
5512 ::core::result::Result::Err(err) => err.into(),
5513 }
5514 }
5515 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
5516 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5517 let this = (*this).get_impl();
5518 match this.Count() {
5519 ::core::result::Result::Ok(ok__) => {
5520 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
5521 ::windows::core::HRESULT(0)
5522 }
5523 ::core::result::Result::Err(err) => err.into(),
5524 }
5525 }
5526 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5527 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5528 let this = (*this).get_impl();
5529 match this._NewEnum() {
5530 ::core::result::Result::Ok(ok__) => {
5531 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
5532 ::windows::core::HRESULT(0)
5533 }
5534 ::core::result::Result::Err(err) => err.into(),
5535 }
5536 }
5537 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5538 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5539 let this = (*this).get_impl();
5540 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
5541 }
5542 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
5543 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5544 let this = (*this).get_impl();
5545 this.Remove(::core::mem::transmute_copy(&index)).into()
5546 }
5547 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5548 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5549 let this = (*this).get_impl();
5550 this.Clear().into()
5551 }
5552 unsafe extern "system" fn get_ItemByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strcspname: ::std::mem::MaybeUninit<::windows::core::BSTR>, stralgorithmname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5553 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5554 let this = (*this).get_impl();
5555 match this.get_ItemByName(::core::mem::transmute(&strcspname), ::core::mem::transmute(&stralgorithmname)) {
5556 ::core::result::Result::Ok(ok__) => {
5557 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5558 ::windows::core::HRESULT(0)
5559 }
5560 ::core::result::Result::Err(err) => err.into(),
5561 }
5562 }
5563 unsafe extern "system" fn get_ItemByOrdinal<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ordinal: i32, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5564 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5565 let this = (*this).get_impl();
5566 match this.get_ItemByOrdinal(::core::mem::transmute_copy(&ordinal)) {
5567 ::core::result::Result::Ok(ok__) => {
5568 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5569 ::windows::core::HRESULT(0)
5570 }
5571 ::core::result::Result::Err(err) => err.into(),
5572 }
5573 }
5574 unsafe extern "system" fn get_ItemByOperations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strcspname: ::std::mem::MaybeUninit<::windows::core::BSTR>, stralgorithmname: ::std::mem::MaybeUninit<::windows::core::BSTR>, operations: AlgorithmOperationFlags, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5575 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5576 let this = (*this).get_impl();
5577 match this.get_ItemByOperations(::core::mem::transmute(&strcspname), ::core::mem::transmute(&stralgorithmname), ::core::mem::transmute_copy(&operations)) {
5578 ::core::result::Result::Ok(ok__) => {
5579 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5580 ::windows::core::HRESULT(0)
5581 }
5582 ::core::result::Result::Err(err) => err.into(),
5583 }
5584 }
5585 unsafe extern "system" fn get_ItemByProvider<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICspStatuses_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcspstatus: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5586 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5587 let this = (*this).get_impl();
5588 match this.get_ItemByProvider(::windows::core::from_raw_borrowed(&pcspstatus)) {
5589 ::core::result::Result::Ok(ok__) => {
5590 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
5591 ::windows::core::HRESULT(0)
5592 }
5593 ::core::result::Result::Err(err) => err.into(),
5594 }
5595 }
5596 Self {
5597 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5598 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
5599 Count: Count::<Identity, Impl, OFFSET>,
5600 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
5601 Add: Add::<Identity, Impl, OFFSET>,
5602 Remove: Remove::<Identity, Impl, OFFSET>,
5603 Clear: Clear::<Identity, Impl, OFFSET>,
5604 get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
5605 get_ItemByOrdinal: get_ItemByOrdinal::<Identity, Impl, OFFSET>,
5606 get_ItemByOperations: get_ItemByOperations::<Identity, Impl, OFFSET>,
5607 get_ItemByProvider: get_ItemByProvider::<Identity, Impl, OFFSET>,
5608 }
5609 }
5610 pub fn matches(iid: &windows::core::GUID) -> bool {
5611 iid == &<ICspStatuses as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
5612 }
5613 }
5614 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
5615 #[cfg(feature = "Win32_Foundation")]
5616 pub trait IEnroll_Impl: Sized {
5617 fn createFilePKCS10WStr(&self, dnname: &::windows::core::PCWSTR, usage: &::windows::core::PCWSTR, wszpkcs10filename: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5618 fn acceptFilePKCS7WStr(&self, wszpkcs7filename: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5619 fn createPKCS10WStr(&self, dnname: &::windows::core::PCWSTR, usage: &::windows::core::PCWSTR, ppkcs10blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
5620 fn acceptPKCS7Blob(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
5621 fn getCertContextFromPKCS7(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> *mut super::CERT_CONTEXT;
5622 fn getMyStore(&self) -> super::HCERTSTORE;
5623 fn getCAStore(&self) -> super::HCERTSTORE;
5624 fn getROOTHStore(&self) -> super::HCERTSTORE;
5625 fn enumProvidersWStr(&self, dwindex: i32, dwflags: i32, pbstrprovname: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5626 fn enumContainersWStr(&self, dwindex: i32, pbstr: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5627 fn freeRequestInfoBlob(&self, pkcs7orpkcs10: &super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
5628 fn MyStoreNameWStr(&self, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5629 fn SetMyStoreNameWStr(&self, szwname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5630 fn MyStoreTypeWStr(&self, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5631 fn SetMyStoreTypeWStr(&self, szwtype: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5632 fn MyStoreFlags(&self, pdwflags: *mut i32) -> ::windows::core::Result<()>;
5633 fn SetMyStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
5634 fn CAStoreNameWStr(&self, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5635 fn SetCAStoreNameWStr(&self, szwname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5636 fn CAStoreTypeWStr(&self, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5637 fn SetCAStoreTypeWStr(&self, szwtype: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5638 fn CAStoreFlags(&self, pdwflags: *mut i32) -> ::windows::core::Result<()>;
5639 fn SetCAStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
5640 fn RootStoreNameWStr(&self, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5641 fn SetRootStoreNameWStr(&self, szwname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5642 fn RootStoreTypeWStr(&self, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5643 fn SetRootStoreTypeWStr(&self, szwtype: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5644 fn RootStoreFlags(&self, pdwflags: *mut i32) -> ::windows::core::Result<()>;
5645 fn SetRootStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
5646 fn RequestStoreNameWStr(&self, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5647 fn SetRequestStoreNameWStr(&self, szwname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5648 fn RequestStoreTypeWStr(&self, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5649 fn SetRequestStoreTypeWStr(&self, szwtype: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5650 fn RequestStoreFlags(&self, pdwflags: *mut i32) -> ::windows::core::Result<()>;
5651 fn SetRequestStoreFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
5652 fn ContainerNameWStr(&self, szwcontainer: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5653 fn SetContainerNameWStr(&self, szwcontainer: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5654 fn ProviderNameWStr(&self, szwprovider: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5655 fn SetProviderNameWStr(&self, szwprovider: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5656 fn ProviderType(&self, pdwtype: *mut i32) -> ::windows::core::Result<()>;
5657 fn SetProviderType(&self, dwtype: i32) -> ::windows::core::Result<()>;
5658 fn KeySpec(&self, pdw: *mut i32) -> ::windows::core::Result<()>;
5659 fn SetKeySpec(&self, dw: i32) -> ::windows::core::Result<()>;
5660 fn ProviderFlags(&self, pdwflags: *mut i32) -> ::windows::core::Result<()>;
5661 fn SetProviderFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
5662 fn UseExistingKeySet(&self, fuseexistingkeys: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5663 fn SetUseExistingKeySet(&self, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5664 fn GenKeyFlags(&self, pdwflags: *mut i32) -> ::windows::core::Result<()>;
5665 fn SetGenKeyFlags(&self, dwflags: i32) -> ::windows::core::Result<()>;
5666 fn DeleteRequestCert(&self, fdelete: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5667 fn SetDeleteRequestCert(&self, fdelete: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5668 fn WriteCertToUserDS(&self, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5669 fn SetWriteCertToUserDS(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5670 fn EnableT61DNEncoding(&self, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5671 fn SetEnableT61DNEncoding(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5672 fn WriteCertToCSP(&self, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5673 fn SetWriteCertToCSP(&self, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5674 fn SPCFileNameWStr(&self, szw: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5675 fn SetSPCFileNameWStr(&self, szw: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5676 fn PVKFileNameWStr(&self, szw: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5677 fn SetPVKFileNameWStr(&self, szw: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5678 fn HashAlgorithmWStr(&self, szw: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
5679 fn SetHashAlgorithmWStr(&self, szw: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5680 fn RenewalCertificate(&self, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows::core::Result<()>;
5681 fn SetRenewalCertificate(&self, pcertcontext: *const super::CERT_CONTEXT) -> ::windows::core::Result<()>;
5682 fn AddCertTypeToRequestWStr(&self, szw: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5683 fn AddNameValuePairToSignatureWStr(&self, name: &::windows::core::PCWSTR, value: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5684 fn AddExtensionsToRequest(&self, pcertextensions: *mut super::CERT_EXTENSIONS) -> ::windows::core::Result<()>;
5685 fn AddAuthenticatedAttributesToPKCS7Request(&self, pattributes: *mut super::CRYPT_ATTRIBUTES) -> ::windows::core::Result<()>;
5686 fn CreatePKCS7RequestFromRequest(&self, prequest: *mut super::CRYPT_INTEGER_BLOB, psigningcertcontext: *const super::CERT_CONTEXT, ppkcs7blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
5687 }
5688 #[cfg(feature = "Win32_Foundation")]
5689 impl ::windows::core::RuntimeName for IEnroll {}
5690 #[cfg(feature = "Win32_Foundation")]
5691 impl IEnroll_Vtbl {
5692 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>() -> IEnroll_Vtbl {
5693 unsafe extern "system" fn createFilePKCS10WStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::windows::core::PCWSTR, usage: ::windows::core::PCWSTR, wszpkcs10filename: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5694 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5695 let this = (*this).get_impl();
5696 this.createFilePKCS10WStr(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage), ::core::mem::transmute(&wszpkcs10filename)).into()
5697 }
5698 unsafe extern "system" fn acceptFilePKCS7WStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszpkcs7filename: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5699 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5700 let this = (*this).get_impl();
5701 this.acceptFilePKCS7WStr(::core::mem::transmute(&wszpkcs7filename)).into()
5702 }
5703 unsafe extern "system" fn createPKCS10WStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dnname: ::windows::core::PCWSTR, usage: ::windows::core::PCWSTR, ppkcs10blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
5704 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5705 let this = (*this).get_impl();
5706 this.createPKCS10WStr(::core::mem::transmute(&dnname), ::core::mem::transmute(&usage), ::core::mem::transmute_copy(&ppkcs10blob)).into()
5707 }
5708 unsafe extern "system" fn acceptPKCS7Blob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
5709 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5710 let this = (*this).get_impl();
5711 this.acceptPKCS7Blob(::core::mem::transmute_copy(&pblobpkcs7)).into()
5712 }
5713 unsafe extern "system" fn getCertContextFromPKCS7<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> *mut super::CERT_CONTEXT {
5714 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5715 let this = (*this).get_impl();
5716 this.getCertContextFromPKCS7(::core::mem::transmute_copy(&pblobpkcs7))
5717 }
5718 unsafe extern "system" fn getMyStore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::HCERTSTORE {
5719 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5720 let this = (*this).get_impl();
5721 this.getMyStore()
5722 }
5723 unsafe extern "system" fn getCAStore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::HCERTSTORE {
5724 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5725 let this = (*this).get_impl();
5726 this.getCAStore()
5727 }
5728 unsafe extern "system" fn getROOTHStore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::HCERTSTORE {
5729 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5730 let this = (*this).get_impl();
5731 this.getROOTHStore()
5732 }
5733 unsafe extern "system" fn enumProvidersWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, dwflags: i32, pbstrprovname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5734 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5735 let this = (*this).get_impl();
5736 this.enumProvidersWStr(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&dwflags), ::core::mem::transmute_copy(&pbstrprovname)).into()
5737 }
5738 unsafe extern "system" fn enumContainersWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, pbstr: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5739 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5740 let this = (*this).get_impl();
5741 this.enumContainersWStr(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&pbstr)).into()
5742 }
5743 unsafe extern "system" fn freeRequestInfoBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7orpkcs10: super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
5744 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5745 let this = (*this).get_impl();
5746 this.freeRequestInfoBlob(::core::mem::transmute(&pkcs7orpkcs10)).into()
5747 }
5748 unsafe extern "system" fn MyStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5749 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5750 let this = (*this).get_impl();
5751 this.MyStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
5752 }
5753 unsafe extern "system" fn SetMyStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5754 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5755 let this = (*this).get_impl();
5756 this.SetMyStoreNameWStr(::core::mem::transmute(&szwname)).into()
5757 }
5758 unsafe extern "system" fn MyStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5759 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5760 let this = (*this).get_impl();
5761 this.MyStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
5762 }
5763 unsafe extern "system" fn SetMyStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5764 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5765 let this = (*this).get_impl();
5766 this.SetMyStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
5767 }
5768 unsafe extern "system" fn MyStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
5769 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5770 let this = (*this).get_impl();
5771 this.MyStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
5772 }
5773 unsafe extern "system" fn SetMyStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
5774 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5775 let this = (*this).get_impl();
5776 this.SetMyStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
5777 }
5778 unsafe extern "system" fn CAStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5779 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5780 let this = (*this).get_impl();
5781 this.CAStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
5782 }
5783 unsafe extern "system" fn SetCAStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5784 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5785 let this = (*this).get_impl();
5786 this.SetCAStoreNameWStr(::core::mem::transmute(&szwname)).into()
5787 }
5788 unsafe extern "system" fn CAStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5789 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5790 let this = (*this).get_impl();
5791 this.CAStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
5792 }
5793 unsafe extern "system" fn SetCAStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5794 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5795 let this = (*this).get_impl();
5796 this.SetCAStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
5797 }
5798 unsafe extern "system" fn CAStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
5799 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5800 let this = (*this).get_impl();
5801 this.CAStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
5802 }
5803 unsafe extern "system" fn SetCAStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
5804 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5805 let this = (*this).get_impl();
5806 this.SetCAStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
5807 }
5808 unsafe extern "system" fn RootStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5809 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5810 let this = (*this).get_impl();
5811 this.RootStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
5812 }
5813 unsafe extern "system" fn SetRootStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5814 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5815 let this = (*this).get_impl();
5816 this.SetRootStoreNameWStr(::core::mem::transmute(&szwname)).into()
5817 }
5818 unsafe extern "system" fn RootStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5819 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5820 let this = (*this).get_impl();
5821 this.RootStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
5822 }
5823 unsafe extern "system" fn SetRootStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5824 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5825 let this = (*this).get_impl();
5826 this.SetRootStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
5827 }
5828 unsafe extern "system" fn RootStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
5829 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5830 let this = (*this).get_impl();
5831 this.RootStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
5832 }
5833 unsafe extern "system" fn SetRootStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
5834 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5835 let this = (*this).get_impl();
5836 this.SetRootStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
5837 }
5838 unsafe extern "system" fn RequestStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5839 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5840 let this = (*this).get_impl();
5841 this.RequestStoreNameWStr(::core::mem::transmute_copy(&szwname)).into()
5842 }
5843 unsafe extern "system" fn SetRequestStoreNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5844 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5845 let this = (*this).get_impl();
5846 this.SetRequestStoreNameWStr(::core::mem::transmute(&szwname)).into()
5847 }
5848 unsafe extern "system" fn RequestStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5849 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5850 let this = (*this).get_impl();
5851 this.RequestStoreTypeWStr(::core::mem::transmute_copy(&szwtype)).into()
5852 }
5853 unsafe extern "system" fn SetRequestStoreTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwtype: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5854 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5855 let this = (*this).get_impl();
5856 this.SetRequestStoreTypeWStr(::core::mem::transmute(&szwtype)).into()
5857 }
5858 unsafe extern "system" fn RequestStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
5859 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5860 let this = (*this).get_impl();
5861 this.RequestStoreFlags(::core::mem::transmute_copy(&pdwflags)).into()
5862 }
5863 unsafe extern "system" fn SetRequestStoreFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
5864 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5865 let this = (*this).get_impl();
5866 this.SetRequestStoreFlags(::core::mem::transmute_copy(&dwflags)).into()
5867 }
5868 unsafe extern "system" fn ContainerNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwcontainer: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5869 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5870 let this = (*this).get_impl();
5871 this.ContainerNameWStr(::core::mem::transmute_copy(&szwcontainer)).into()
5872 }
5873 unsafe extern "system" fn SetContainerNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwcontainer: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5874 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5875 let this = (*this).get_impl();
5876 this.SetContainerNameWStr(::core::mem::transmute(&szwcontainer)).into()
5877 }
5878 unsafe extern "system" fn ProviderNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwprovider: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5879 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5880 let this = (*this).get_impl();
5881 this.ProviderNameWStr(::core::mem::transmute_copy(&szwprovider)).into()
5882 }
5883 unsafe extern "system" fn SetProviderNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szwprovider: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5884 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5885 let this = (*this).get_impl();
5886 this.SetProviderNameWStr(::core::mem::transmute(&szwprovider)).into()
5887 }
5888 unsafe extern "system" fn ProviderType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwtype: *mut i32) -> ::windows::core::HRESULT {
5889 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5890 let this = (*this).get_impl();
5891 this.ProviderType(::core::mem::transmute_copy(&pdwtype)).into()
5892 }
5893 unsafe extern "system" fn SetProviderType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwtype: i32) -> ::windows::core::HRESULT {
5894 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5895 let this = (*this).get_impl();
5896 this.SetProviderType(::core::mem::transmute_copy(&dwtype)).into()
5897 }
5898 unsafe extern "system" fn KeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdw: *mut i32) -> ::windows::core::HRESULT {
5899 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5900 let this = (*this).get_impl();
5901 this.KeySpec(::core::mem::transmute_copy(&pdw)).into()
5902 }
5903 unsafe extern "system" fn SetKeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dw: i32) -> ::windows::core::HRESULT {
5904 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5905 let this = (*this).get_impl();
5906 this.SetKeySpec(::core::mem::transmute_copy(&dw)).into()
5907 }
5908 unsafe extern "system" fn ProviderFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
5909 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5910 let this = (*this).get_impl();
5911 this.ProviderFlags(::core::mem::transmute_copy(&pdwflags)).into()
5912 }
5913 unsafe extern "system" fn SetProviderFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
5914 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5915 let this = (*this).get_impl();
5916 this.SetProviderFlags(::core::mem::transmute_copy(&dwflags)).into()
5917 }
5918 unsafe extern "system" fn UseExistingKeySet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5919 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5920 let this = (*this).get_impl();
5921 this.UseExistingKeySet(::core::mem::transmute_copy(&fuseexistingkeys)).into()
5922 }
5923 unsafe extern "system" fn SetUseExistingKeySet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fuseexistingkeys: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5924 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5925 let this = (*this).get_impl();
5926 this.SetUseExistingKeySet(::core::mem::transmute_copy(&fuseexistingkeys)).into()
5927 }
5928 unsafe extern "system" fn GenKeyFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwflags: *mut i32) -> ::windows::core::HRESULT {
5929 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5930 let this = (*this).get_impl();
5931 this.GenKeyFlags(::core::mem::transmute_copy(&pdwflags)).into()
5932 }
5933 unsafe extern "system" fn SetGenKeyFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: i32) -> ::windows::core::HRESULT {
5934 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5935 let this = (*this).get_impl();
5936 this.SetGenKeyFlags(::core::mem::transmute_copy(&dwflags)).into()
5937 }
5938 unsafe extern "system" fn DeleteRequestCert<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5939 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5940 let this = (*this).get_impl();
5941 this.DeleteRequestCert(::core::mem::transmute_copy(&fdelete)).into()
5942 }
5943 unsafe extern "system" fn SetDeleteRequestCert<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fdelete: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5944 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5945 let this = (*this).get_impl();
5946 this.SetDeleteRequestCert(::core::mem::transmute_copy(&fdelete)).into()
5947 }
5948 unsafe extern "system" fn WriteCertToUserDS<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5949 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5950 let this = (*this).get_impl();
5951 this.WriteCertToUserDS(::core::mem::transmute_copy(&fbool)).into()
5952 }
5953 unsafe extern "system" fn SetWriteCertToUserDS<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5954 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5955 let this = (*this).get_impl();
5956 this.SetWriteCertToUserDS(::core::mem::transmute_copy(&fbool)).into()
5957 }
5958 unsafe extern "system" fn EnableT61DNEncoding<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5959 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5960 let this = (*this).get_impl();
5961 this.EnableT61DNEncoding(::core::mem::transmute_copy(&fbool)).into()
5962 }
5963 unsafe extern "system" fn SetEnableT61DNEncoding<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5964 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5965 let this = (*this).get_impl();
5966 this.SetEnableT61DNEncoding(::core::mem::transmute_copy(&fbool)).into()
5967 }
5968 unsafe extern "system" fn WriteCertToCSP<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5969 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5970 let this = (*this).get_impl();
5971 this.WriteCertToCSP(::core::mem::transmute_copy(&fbool)).into()
5972 }
5973 unsafe extern "system" fn SetWriteCertToCSP<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fbool: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5974 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5975 let this = (*this).get_impl();
5976 this.SetWriteCertToCSP(::core::mem::transmute_copy(&fbool)).into()
5977 }
5978 unsafe extern "system" fn SPCFileNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5980 let this = (*this).get_impl();
5981 this.SPCFileNameWStr(::core::mem::transmute_copy(&szw)).into()
5982 }
5983 unsafe extern "system" fn SetSPCFileNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5984 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5985 let this = (*this).get_impl();
5986 this.SetSPCFileNameWStr(::core::mem::transmute(&szw)).into()
5987 }
5988 unsafe extern "system" fn PVKFileNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5989 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5990 let this = (*this).get_impl();
5991 this.PVKFileNameWStr(::core::mem::transmute_copy(&szw)).into()
5992 }
5993 unsafe extern "system" fn SetPVKFileNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5994 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5995 let this = (*this).get_impl();
5996 this.SetPVKFileNameWStr(::core::mem::transmute(&szw)).into()
5997 }
5998 unsafe extern "system" fn HashAlgorithmWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
5999 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6000 let this = (*this).get_impl();
6001 this.HashAlgorithmWStr(::core::mem::transmute_copy(&szw)).into()
6002 }
6003 unsafe extern "system" fn SetHashAlgorithmWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6004 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6005 let this = (*this).get_impl();
6006 this.SetHashAlgorithmWStr(::core::mem::transmute(&szw)).into()
6007 }
6008 unsafe extern "system" fn RenewalCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows::core::HRESULT {
6009 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6010 let this = (*this).get_impl();
6011 this.RenewalCertificate(::core::mem::transmute_copy(&ppcertcontext)).into()
6012 }
6013 unsafe extern "system" fn SetRenewalCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcertcontext: *const super::CERT_CONTEXT) -> ::windows::core::HRESULT {
6014 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6015 let this = (*this).get_impl();
6016 this.SetRenewalCertificate(::core::mem::transmute_copy(&pcertcontext)).into()
6017 }
6018 unsafe extern "system" fn AddCertTypeToRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szw: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6019 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6020 let this = (*this).get_impl();
6021 this.AddCertTypeToRequestWStr(::core::mem::transmute(&szw)).into()
6022 }
6023 unsafe extern "system" fn AddNameValuePairToSignatureWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::windows::core::PCWSTR, value: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6024 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6025 let this = (*this).get_impl();
6026 this.AddNameValuePairToSignatureWStr(::core::mem::transmute(&name), ::core::mem::transmute(&value)).into()
6027 }
6028 unsafe extern "system" fn AddExtensionsToRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcertextensions: *mut super::CERT_EXTENSIONS) -> ::windows::core::HRESULT {
6029 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6030 let this = (*this).get_impl();
6031 this.AddExtensionsToRequest(::core::mem::transmute_copy(&pcertextensions)).into()
6032 }
6033 unsafe extern "system" fn AddAuthenticatedAttributesToPKCS7Request<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pattributes: *mut super::CRYPT_ATTRIBUTES) -> ::windows::core::HRESULT {
6034 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6035 let this = (*this).get_impl();
6036 this.AddAuthenticatedAttributesToPKCS7Request(::core::mem::transmute_copy(&pattributes)).into()
6037 }
6038 unsafe extern "system" fn CreatePKCS7RequestFromRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequest: *mut super::CRYPT_INTEGER_BLOB, psigningcertcontext: *const super::CERT_CONTEXT, ppkcs7blob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6039 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6040 let this = (*this).get_impl();
6041 this.CreatePKCS7RequestFromRequest(::core::mem::transmute_copy(&prequest), ::core::mem::transmute_copy(&psigningcertcontext), ::core::mem::transmute_copy(&ppkcs7blob)).into()
6042 }
6043 Self {
6044 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6045 createFilePKCS10WStr: createFilePKCS10WStr::<Identity, Impl, OFFSET>,
6046 acceptFilePKCS7WStr: acceptFilePKCS7WStr::<Identity, Impl, OFFSET>,
6047 createPKCS10WStr: createPKCS10WStr::<Identity, Impl, OFFSET>,
6048 acceptPKCS7Blob: acceptPKCS7Blob::<Identity, Impl, OFFSET>,
6049 getCertContextFromPKCS7: getCertContextFromPKCS7::<Identity, Impl, OFFSET>,
6050 getMyStore: getMyStore::<Identity, Impl, OFFSET>,
6051 getCAStore: getCAStore::<Identity, Impl, OFFSET>,
6052 getROOTHStore: getROOTHStore::<Identity, Impl, OFFSET>,
6053 enumProvidersWStr: enumProvidersWStr::<Identity, Impl, OFFSET>,
6054 enumContainersWStr: enumContainersWStr::<Identity, Impl, OFFSET>,
6055 freeRequestInfoBlob: freeRequestInfoBlob::<Identity, Impl, OFFSET>,
6056 MyStoreNameWStr: MyStoreNameWStr::<Identity, Impl, OFFSET>,
6057 SetMyStoreNameWStr: SetMyStoreNameWStr::<Identity, Impl, OFFSET>,
6058 MyStoreTypeWStr: MyStoreTypeWStr::<Identity, Impl, OFFSET>,
6059 SetMyStoreTypeWStr: SetMyStoreTypeWStr::<Identity, Impl, OFFSET>,
6060 MyStoreFlags: MyStoreFlags::<Identity, Impl, OFFSET>,
6061 SetMyStoreFlags: SetMyStoreFlags::<Identity, Impl, OFFSET>,
6062 CAStoreNameWStr: CAStoreNameWStr::<Identity, Impl, OFFSET>,
6063 SetCAStoreNameWStr: SetCAStoreNameWStr::<Identity, Impl, OFFSET>,
6064 CAStoreTypeWStr: CAStoreTypeWStr::<Identity, Impl, OFFSET>,
6065 SetCAStoreTypeWStr: SetCAStoreTypeWStr::<Identity, Impl, OFFSET>,
6066 CAStoreFlags: CAStoreFlags::<Identity, Impl, OFFSET>,
6067 SetCAStoreFlags: SetCAStoreFlags::<Identity, Impl, OFFSET>,
6068 RootStoreNameWStr: RootStoreNameWStr::<Identity, Impl, OFFSET>,
6069 SetRootStoreNameWStr: SetRootStoreNameWStr::<Identity, Impl, OFFSET>,
6070 RootStoreTypeWStr: RootStoreTypeWStr::<Identity, Impl, OFFSET>,
6071 SetRootStoreTypeWStr: SetRootStoreTypeWStr::<Identity, Impl, OFFSET>,
6072 RootStoreFlags: RootStoreFlags::<Identity, Impl, OFFSET>,
6073 SetRootStoreFlags: SetRootStoreFlags::<Identity, Impl, OFFSET>,
6074 RequestStoreNameWStr: RequestStoreNameWStr::<Identity, Impl, OFFSET>,
6075 SetRequestStoreNameWStr: SetRequestStoreNameWStr::<Identity, Impl, OFFSET>,
6076 RequestStoreTypeWStr: RequestStoreTypeWStr::<Identity, Impl, OFFSET>,
6077 SetRequestStoreTypeWStr: SetRequestStoreTypeWStr::<Identity, Impl, OFFSET>,
6078 RequestStoreFlags: RequestStoreFlags::<Identity, Impl, OFFSET>,
6079 SetRequestStoreFlags: SetRequestStoreFlags::<Identity, Impl, OFFSET>,
6080 ContainerNameWStr: ContainerNameWStr::<Identity, Impl, OFFSET>,
6081 SetContainerNameWStr: SetContainerNameWStr::<Identity, Impl, OFFSET>,
6082 ProviderNameWStr: ProviderNameWStr::<Identity, Impl, OFFSET>,
6083 SetProviderNameWStr: SetProviderNameWStr::<Identity, Impl, OFFSET>,
6084 ProviderType: ProviderType::<Identity, Impl, OFFSET>,
6085 SetProviderType: SetProviderType::<Identity, Impl, OFFSET>,
6086 KeySpec: KeySpec::<Identity, Impl, OFFSET>,
6087 SetKeySpec: SetKeySpec::<Identity, Impl, OFFSET>,
6088 ProviderFlags: ProviderFlags::<Identity, Impl, OFFSET>,
6089 SetProviderFlags: SetProviderFlags::<Identity, Impl, OFFSET>,
6090 UseExistingKeySet: UseExistingKeySet::<Identity, Impl, OFFSET>,
6091 SetUseExistingKeySet: SetUseExistingKeySet::<Identity, Impl, OFFSET>,
6092 GenKeyFlags: GenKeyFlags::<Identity, Impl, OFFSET>,
6093 SetGenKeyFlags: SetGenKeyFlags::<Identity, Impl, OFFSET>,
6094 DeleteRequestCert: DeleteRequestCert::<Identity, Impl, OFFSET>,
6095 SetDeleteRequestCert: SetDeleteRequestCert::<Identity, Impl, OFFSET>,
6096 WriteCertToUserDS: WriteCertToUserDS::<Identity, Impl, OFFSET>,
6097 SetWriteCertToUserDS: SetWriteCertToUserDS::<Identity, Impl, OFFSET>,
6098 EnableT61DNEncoding: EnableT61DNEncoding::<Identity, Impl, OFFSET>,
6099 SetEnableT61DNEncoding: SetEnableT61DNEncoding::<Identity, Impl, OFFSET>,
6100 WriteCertToCSP: WriteCertToCSP::<Identity, Impl, OFFSET>,
6101 SetWriteCertToCSP: SetWriteCertToCSP::<Identity, Impl, OFFSET>,
6102 SPCFileNameWStr: SPCFileNameWStr::<Identity, Impl, OFFSET>,
6103 SetSPCFileNameWStr: SetSPCFileNameWStr::<Identity, Impl, OFFSET>,
6104 PVKFileNameWStr: PVKFileNameWStr::<Identity, Impl, OFFSET>,
6105 SetPVKFileNameWStr: SetPVKFileNameWStr::<Identity, Impl, OFFSET>,
6106 HashAlgorithmWStr: HashAlgorithmWStr::<Identity, Impl, OFFSET>,
6107 SetHashAlgorithmWStr: SetHashAlgorithmWStr::<Identity, Impl, OFFSET>,
6108 RenewalCertificate: RenewalCertificate::<Identity, Impl, OFFSET>,
6109 SetRenewalCertificate: SetRenewalCertificate::<Identity, Impl, OFFSET>,
6110 AddCertTypeToRequestWStr: AddCertTypeToRequestWStr::<Identity, Impl, OFFSET>,
6111 AddNameValuePairToSignatureWStr: AddNameValuePairToSignatureWStr::<Identity, Impl, OFFSET>,
6112 AddExtensionsToRequest: AddExtensionsToRequest::<Identity, Impl, OFFSET>,
6113 AddAuthenticatedAttributesToPKCS7Request: AddAuthenticatedAttributesToPKCS7Request::<Identity, Impl, OFFSET>,
6114 CreatePKCS7RequestFromRequest: CreatePKCS7RequestFromRequest::<Identity, Impl, OFFSET>,
6115 }
6116 }
6117 pub fn matches(iid: &windows::core::GUID) -> bool {
6118 iid == &<IEnroll as ::windows::core::ComInterface>::IID
6119 }
6120 }
6121 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6122 #[cfg(feature = "Win32_Foundation")]
6123 pub trait IEnroll2_Impl: Sized + IEnroll_Impl {
6124 fn InstallPKCS7Blob(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6125 fn Reset(&self) -> ::windows::core::Result<()>;
6126 fn GetSupportedKeySpec(&self, pdwkeyspec: *mut i32) -> ::windows::core::Result<()>;
6127 fn GetKeyLen(&self, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL, pdwkeysize: *mut i32) -> ::windows::core::Result<()>;
6128 fn EnumAlgs(&self, dwindex: i32, algclass: i32, pdwalgid: *mut i32) -> ::windows::core::Result<()>;
6129 fn GetAlgNameWStr(&self, algid: i32, ppwsz: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
6130 fn SetReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6131 fn ReuseHardwareKeyIfUnableToGenNew(&self, freusehardwarekeyifunabletogennew: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6132 fn SetHashAlgID(&self, hashalgid: i32) -> ::windows::core::Result<()>;
6133 fn HashAlgID(&self, hashalgid: *mut i32) -> ::windows::core::Result<()>;
6134 fn SetHStoreMy(&self, hstore: super::HCERTSTORE) -> ::windows::core::Result<()>;
6135 fn SetHStoreCA(&self, hstore: super::HCERTSTORE) -> ::windows::core::Result<()>;
6136 fn SetHStoreROOT(&self, hstore: super::HCERTSTORE) -> ::windows::core::Result<()>;
6137 fn SetHStoreRequest(&self, hstore: super::HCERTSTORE) -> ::windows::core::Result<()>;
6138 fn SetLimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6139 fn LimitExchangeKeyToEncipherment(&self, flimitexchangekeytoencipherment: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6140 fn SetEnableSMIMECapabilities(&self, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6141 fn EnableSMIMECapabilities(&self, fenablesmimecapabilities: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6142 }
6143 #[cfg(feature = "Win32_Foundation")]
6144 impl ::windows::core::RuntimeName for IEnroll2 {}
6145 #[cfg(feature = "Win32_Foundation")]
6146 impl IEnroll2_Vtbl {
6147 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>() -> IEnroll2_Vtbl {
6148 unsafe extern "system" fn InstallPKCS7Blob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6149 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6150 let this = (*this).get_impl();
6151 this.InstallPKCS7Blob(::core::mem::transmute_copy(&pblobpkcs7)).into()
6152 }
6153 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6154 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6155 let this = (*this).get_impl();
6156 this.Reset().into()
6157 }
6158 unsafe extern "system" fn GetSupportedKeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwkeyspec: *mut i32) -> ::windows::core::HRESULT {
6159 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6160 let this = (*this).get_impl();
6161 this.GetSupportedKeySpec(::core::mem::transmute_copy(&pdwkeyspec)).into()
6162 }
6163 unsafe extern "system" fn GetKeyLen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fmin: super::super::super::Foundation::BOOL, fexchange: super::super::super::Foundation::BOOL, pdwkeysize: *mut i32) -> ::windows::core::HRESULT {
6164 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6165 let this = (*this).get_impl();
6166 this.GetKeyLen(::core::mem::transmute_copy(&fmin), ::core::mem::transmute_copy(&fexchange), ::core::mem::transmute_copy(&pdwkeysize)).into()
6167 }
6168 unsafe extern "system" fn EnumAlgs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: i32, algclass: i32, pdwalgid: *mut i32) -> ::windows::core::HRESULT {
6169 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6170 let this = (*this).get_impl();
6171 this.EnumAlgs(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&algclass), ::core::mem::transmute_copy(&pdwalgid)).into()
6172 }
6173 unsafe extern "system" fn GetAlgNameWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, algid: i32, ppwsz: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
6174 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6175 let this = (*this).get_impl();
6176 this.GetAlgNameWStr(::core::mem::transmute_copy(&algid), ::core::mem::transmute_copy(&ppwsz)).into()
6177 }
6178 unsafe extern "system" fn SetReuseHardwareKeyIfUnableToGenNew<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6179 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6180 let this = (*this).get_impl();
6181 this.SetReuseHardwareKeyIfUnableToGenNew(::core::mem::transmute_copy(&freusehardwarekeyifunabletogennew)).into()
6182 }
6183 unsafe extern "system" fn ReuseHardwareKeyIfUnableToGenNew<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, freusehardwarekeyifunabletogennew: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6184 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6185 let this = (*this).get_impl();
6186 this.ReuseHardwareKeyIfUnableToGenNew(::core::mem::transmute_copy(&freusehardwarekeyifunabletogennew)).into()
6187 }
6188 unsafe extern "system" fn SetHashAlgID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: i32) -> ::windows::core::HRESULT {
6189 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6190 let this = (*this).get_impl();
6191 this.SetHashAlgID(::core::mem::transmute_copy(&hashalgid)).into()
6192 }
6193 unsafe extern "system" fn HashAlgID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hashalgid: *mut i32) -> ::windows::core::HRESULT {
6194 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6195 let this = (*this).get_impl();
6196 this.HashAlgID(::core::mem::transmute_copy(&hashalgid)).into()
6197 }
6198 unsafe extern "system" fn SetHStoreMy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows::core::HRESULT {
6199 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6200 let this = (*this).get_impl();
6201 this.SetHStoreMy(::core::mem::transmute_copy(&hstore)).into()
6202 }
6203 unsafe extern "system" fn SetHStoreCA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows::core::HRESULT {
6204 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6205 let this = (*this).get_impl();
6206 this.SetHStoreCA(::core::mem::transmute_copy(&hstore)).into()
6207 }
6208 unsafe extern "system" fn SetHStoreROOT<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows::core::HRESULT {
6209 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6210 let this = (*this).get_impl();
6211 this.SetHStoreROOT(::core::mem::transmute_copy(&hstore)).into()
6212 }
6213 unsafe extern "system" fn SetHStoreRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hstore: super::HCERTSTORE) -> ::windows::core::HRESULT {
6214 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6215 let this = (*this).get_impl();
6216 this.SetHStoreRequest(::core::mem::transmute_copy(&hstore)).into()
6217 }
6218 unsafe extern "system" fn SetLimitExchangeKeyToEncipherment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6220 let this = (*this).get_impl();
6221 this.SetLimitExchangeKeyToEncipherment(::core::mem::transmute_copy(&flimitexchangekeytoencipherment)).into()
6222 }
6223 unsafe extern "system" fn LimitExchangeKeyToEncipherment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flimitexchangekeytoencipherment: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6225 let this = (*this).get_impl();
6226 this.LimitExchangeKeyToEncipherment(::core::mem::transmute_copy(&flimitexchangekeytoencipherment)).into()
6227 }
6228 unsafe extern "system" fn SetEnableSMIMECapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6230 let this = (*this).get_impl();
6231 this.SetEnableSMIMECapabilities(::core::mem::transmute_copy(&fenablesmimecapabilities)).into()
6232 }
6233 unsafe extern "system" fn EnableSMIMECapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fenablesmimecapabilities: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6234 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6235 let this = (*this).get_impl();
6236 this.EnableSMIMECapabilities(::core::mem::transmute_copy(&fenablesmimecapabilities)).into()
6237 }
6238 Self {
6239 base__: IEnroll_Vtbl::new::<Identity, Impl, OFFSET>(),
6240 InstallPKCS7Blob: InstallPKCS7Blob::<Identity, Impl, OFFSET>,
6241 Reset: Reset::<Identity, Impl, OFFSET>,
6242 GetSupportedKeySpec: GetSupportedKeySpec::<Identity, Impl, OFFSET>,
6243 GetKeyLen: GetKeyLen::<Identity, Impl, OFFSET>,
6244 EnumAlgs: EnumAlgs::<Identity, Impl, OFFSET>,
6245 GetAlgNameWStr: GetAlgNameWStr::<Identity, Impl, OFFSET>,
6246 SetReuseHardwareKeyIfUnableToGenNew: SetReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
6247 ReuseHardwareKeyIfUnableToGenNew: ReuseHardwareKeyIfUnableToGenNew::<Identity, Impl, OFFSET>,
6248 SetHashAlgID: SetHashAlgID::<Identity, Impl, OFFSET>,
6249 HashAlgID: HashAlgID::<Identity, Impl, OFFSET>,
6250 SetHStoreMy: SetHStoreMy::<Identity, Impl, OFFSET>,
6251 SetHStoreCA: SetHStoreCA::<Identity, Impl, OFFSET>,
6252 SetHStoreROOT: SetHStoreROOT::<Identity, Impl, OFFSET>,
6253 SetHStoreRequest: SetHStoreRequest::<Identity, Impl, OFFSET>,
6254 SetLimitExchangeKeyToEncipherment: SetLimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
6255 LimitExchangeKeyToEncipherment: LimitExchangeKeyToEncipherment::<Identity, Impl, OFFSET>,
6256 SetEnableSMIMECapabilities: SetEnableSMIMECapabilities::<Identity, Impl, OFFSET>,
6257 EnableSMIMECapabilities: EnableSMIMECapabilities::<Identity, Impl, OFFSET>,
6258 }
6259 }
6260 pub fn matches(iid: &windows::core::GUID) -> bool {
6261 iid == &<IEnroll2 as ::windows::core::ComInterface>::IID || iid == &<IEnroll as ::windows::core::ComInterface>::IID
6262 }
6263 }
6264 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6265 #[cfg(feature = "Win32_Foundation")]
6266 pub trait IEnroll4_Impl: Sized + IEnroll2_Impl {
6267 fn SetThumbPrintWStr(&self, thumbprintblob: &super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6268 fn ThumbPrintWStr(&self, thumbprintblob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6269 fn SetPrivateKeyArchiveCertificate(&self, pprivatekeyarchivecert: *const super::CERT_CONTEXT) -> ::windows::core::Result<()>;
6270 fn GetPrivateKeyArchiveCertificate(&self) -> *mut super::CERT_CONTEXT;
6271 fn binaryBlobToString(&self, flags: i32, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, ppwszstring: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>;
6272 fn stringToBinaryBlob(&self, flags: i32, pwszstring: &::windows::core::PCWSTR, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, pdwskip: *mut i32, pdwflags: *mut i32) -> ::windows::core::Result<()>;
6273 fn addExtensionToRequestWStr(&self, flags: i32, pwszname: &::windows::core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6274 fn addAttributeToRequestWStr(&self, flags: i32, pwszname: &::windows::core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6275 fn addNameValuePairToRequestWStr(&self, flags: i32, pwszname: &::windows::core::PCWSTR, pwszvalue: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
6276 fn resetExtensions(&self) -> ::windows::core::Result<()>;
6277 fn resetAttributes(&self) -> ::windows::core::Result<()>;
6278 fn createRequestWStr(&self, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: &::windows::core::PCWSTR, pwszusage: &::windows::core::PCWSTR, pblobrequest: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6279 fn createFileRequestWStr(&self, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: &::windows::core::PCWSTR, pwszusage: &::windows::core::PCWSTR, pwszrequestfilename: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
6280 fn acceptResponseBlob(&self, pblobresponse: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6281 fn acceptFileResponseWStr(&self, pwszresponsefilename: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
6282 fn getCertContextFromResponseBlob(&self, pblobresponse: *mut super::CRYPT_INTEGER_BLOB, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows::core::Result<()>;
6283 fn getCertContextFromFileResponseWStr(&self, pwszresponsefilename: &::windows::core::PCWSTR, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows::core::Result<()>;
6284 fn createPFXWStr(&self, pwszpassword: &::windows::core::PCWSTR, pblobpfx: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6285 fn createFilePFXWStr(&self, pwszpassword: &::windows::core::PCWSTR, pwszpfxfilename: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
6286 fn setPendingRequestInfoWStr(&self, lrequestid: i32, pwszcadns: &::windows::core::PCWSTR, pwszcaname: &::windows::core::PCWSTR, pwszfriendlyname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
6287 fn enumPendingRequestWStr(&self, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY, ppproperty: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
6288 fn removePendingRequestWStr(&self, thumbprintblob: &super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6289 fn GetKeyLenEx(&self, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC, pdwkeysize: *mut i32) -> ::windows::core::Result<()>;
6290 fn InstallPKCS7BlobEx(&self, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB, plcertinstalled: *mut i32) -> ::windows::core::Result<()>;
6291 fn AddCertTypeToRequestWStrEx(&self, ltype: ADDED_CERT_TYPE, pwszoidorname: &::windows::core::PCWSTR, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows::core::Result<()>;
6292 fn getProviderTypeWStr(&self, pwszprovname: &::windows::core::PCWSTR, plprovtype: *mut i32) -> ::windows::core::Result<()>;
6293 fn addBlobPropertyToCertificateWStr(&self, lpropertyid: i32, lreserved: i32, pblobproperty: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::Result<()>;
6294 fn SetSignerCertificate(&self, psignercert: *const super::CERT_CONTEXT) -> ::windows::core::Result<()>;
6295 fn SetClientId(&self, lclientid: i32) -> ::windows::core::Result<()>;
6296 fn ClientId(&self, plclientid: *mut i32) -> ::windows::core::Result<()>;
6297 fn SetIncludeSubjectKeyID(&self, finclude: super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6298 fn IncludeSubjectKeyID(&self, pfinclude: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6299 }
6300 #[cfg(feature = "Win32_Foundation")]
6301 impl ::windows::core::RuntimeName for IEnroll4 {}
6302 #[cfg(feature = "Win32_Foundation")]
6303 impl IEnroll4_Vtbl {
6304 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>() -> IEnroll4_Vtbl {
6305 unsafe extern "system" fn SetThumbPrintWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thumbprintblob: super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6306 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6307 let this = (*this).get_impl();
6308 this.SetThumbPrintWStr(::core::mem::transmute(&thumbprintblob)).into()
6309 }
6310 unsafe extern "system" fn ThumbPrintWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thumbprintblob: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6311 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6312 let this = (*this).get_impl();
6313 this.ThumbPrintWStr(::core::mem::transmute_copy(&thumbprintblob)).into()
6314 }
6315 unsafe extern "system" fn SetPrivateKeyArchiveCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pprivatekeyarchivecert: *const super::CERT_CONTEXT) -> ::windows::core::HRESULT {
6316 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6317 let this = (*this).get_impl();
6318 this.SetPrivateKeyArchiveCertificate(::core::mem::transmute_copy(&pprivatekeyarchivecert)).into()
6319 }
6320 unsafe extern "system" fn GetPrivateKeyArchiveCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> *mut super::CERT_CONTEXT {
6321 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6322 let this = (*this).get_impl();
6323 this.GetPrivateKeyArchiveCertificate()
6324 }
6325 unsafe extern "system" fn binaryBlobToString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, ppwszstring: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
6326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6327 let this = (*this).get_impl();
6328 this.binaryBlobToString(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pblobbinary), ::core::mem::transmute_copy(&ppwszstring)).into()
6329 }
6330 unsafe extern "system" fn stringToBinaryBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszstring: ::windows::core::PCWSTR, pblobbinary: *mut super::CRYPT_INTEGER_BLOB, pdwskip: *mut i32, pdwflags: *mut i32) -> ::windows::core::HRESULT {
6331 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6332 let this = (*this).get_impl();
6333 this.stringToBinaryBlob(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszstring), ::core::mem::transmute_copy(&pblobbinary), ::core::mem::transmute_copy(&pdwskip), ::core::mem::transmute_copy(&pdwflags)).into()
6334 }
6335 unsafe extern "system" fn addExtensionToRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszname: ::windows::core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6336 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6337 let this = (*this).get_impl();
6338 this.addExtensionToRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszname), ::core::mem::transmute_copy(&pblobvalue)).into()
6339 }
6340 unsafe extern "system" fn addAttributeToRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszname: ::windows::core::PCWSTR, pblobvalue: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6341 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6342 let this = (*this).get_impl();
6343 this.addAttributeToRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszname), ::core::mem::transmute_copy(&pblobvalue)).into()
6344 }
6345 unsafe extern "system" fn addNameValuePairToRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, pwszname: ::windows::core::PCWSTR, pwszvalue: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6346 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6347 let this = (*this).get_impl();
6348 this.addNameValuePairToRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszname), ::core::mem::transmute(&pwszvalue)).into()
6349 }
6350 unsafe extern "system" fn resetExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6351 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6352 let this = (*this).get_impl();
6353 this.resetExtensions().into()
6354 }
6355 unsafe extern "system" fn resetAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6356 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6357 let this = (*this).get_impl();
6358 this.resetAttributes().into()
6359 }
6360 unsafe extern "system" fn createRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: ::windows::core::PCWSTR, pwszusage: ::windows::core::PCWSTR, pblobrequest: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6361 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6362 let this = (*this).get_impl();
6363 this.createRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszdnname), ::core::mem::transmute(&pwszusage), ::core::mem::transmute_copy(&pblobrequest)).into()
6364 }
6365 unsafe extern "system" fn createFileRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: CERT_CREATE_REQUEST_FLAGS, pwszdnname: ::windows::core::PCWSTR, pwszusage: ::windows::core::PCWSTR, pwszrequestfilename: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6366 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6367 let this = (*this).get_impl();
6368 this.createFileRequestWStr(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&pwszdnname), ::core::mem::transmute(&pwszusage), ::core::mem::transmute(&pwszrequestfilename)).into()
6369 }
6370 unsafe extern "system" fn acceptResponseBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobresponse: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6371 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6372 let this = (*this).get_impl();
6373 this.acceptResponseBlob(::core::mem::transmute_copy(&pblobresponse)).into()
6374 }
6375 unsafe extern "system" fn acceptFileResponseWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszresponsefilename: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6376 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6377 let this = (*this).get_impl();
6378 this.acceptFileResponseWStr(::core::mem::transmute(&pwszresponsefilename)).into()
6379 }
6380 unsafe extern "system" fn getCertContextFromResponseBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobresponse: *mut super::CRYPT_INTEGER_BLOB, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows::core::HRESULT {
6381 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6382 let this = (*this).get_impl();
6383 this.getCertContextFromResponseBlob(::core::mem::transmute_copy(&pblobresponse), ::core::mem::transmute_copy(&ppcertcontext)).into()
6384 }
6385 unsafe extern "system" fn getCertContextFromFileResponseWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszresponsefilename: ::windows::core::PCWSTR, ppcertcontext: *mut *mut super::CERT_CONTEXT) -> ::windows::core::HRESULT {
6386 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6387 let this = (*this).get_impl();
6388 this.getCertContextFromFileResponseWStr(::core::mem::transmute(&pwszresponsefilename), ::core::mem::transmute_copy(&ppcertcontext)).into()
6389 }
6390 unsafe extern "system" fn createPFXWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszpassword: ::windows::core::PCWSTR, pblobpfx: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6391 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6392 let this = (*this).get_impl();
6393 this.createPFXWStr(::core::mem::transmute(&pwszpassword), ::core::mem::transmute_copy(&pblobpfx)).into()
6394 }
6395 unsafe extern "system" fn createFilePFXWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszpassword: ::windows::core::PCWSTR, pwszpfxfilename: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6396 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6397 let this = (*this).get_impl();
6398 this.createFilePFXWStr(::core::mem::transmute(&pwszpassword), ::core::mem::transmute(&pwszpfxfilename)).into()
6399 }
6400 unsafe extern "system" fn setPendingRequestInfoWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lrequestid: i32, pwszcadns: ::windows::core::PCWSTR, pwszcaname: ::windows::core::PCWSTR, pwszfriendlyname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
6401 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6402 let this = (*this).get_impl();
6403 this.setPendingRequestInfoWStr(::core::mem::transmute_copy(&lrequestid), ::core::mem::transmute(&pwszcadns), ::core::mem::transmute(&pwszcaname), ::core::mem::transmute(&pwszfriendlyname)).into()
6404 }
6405 unsafe extern "system" fn enumPendingRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ldesiredproperty: PENDING_REQUEST_DESIRED_PROPERTY, ppproperty: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6406 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6407 let this = (*this).get_impl();
6408 this.enumPendingRequestWStr(::core::mem::transmute_copy(&lindex), ::core::mem::transmute_copy(&ldesiredproperty), ::core::mem::transmute_copy(&ppproperty)).into()
6409 }
6410 unsafe extern "system" fn removePendingRequestWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, thumbprintblob: super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6411 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6412 let this = (*this).get_impl();
6413 this.removePendingRequestWStr(::core::mem::transmute(&thumbprintblob)).into()
6414 }
6415 unsafe extern "system" fn GetKeyLenEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lsizespec: XEKL_KEYSIZE, lkeyspec: XEKL_KEYSPEC, pdwkeysize: *mut i32) -> ::windows::core::HRESULT {
6416 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6417 let this = (*this).get_impl();
6418 this.GetKeyLenEx(::core::mem::transmute_copy(&lsizespec), ::core::mem::transmute_copy(&lkeyspec), ::core::mem::transmute_copy(&pdwkeysize)).into()
6419 }
6420 unsafe extern "system" fn InstallPKCS7BlobEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pblobpkcs7: *mut super::CRYPT_INTEGER_BLOB, plcertinstalled: *mut i32) -> ::windows::core::HRESULT {
6421 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6422 let this = (*this).get_impl();
6423 this.InstallPKCS7BlobEx(::core::mem::transmute_copy(&pblobpkcs7), ::core::mem::transmute_copy(&plcertinstalled)).into()
6424 }
6425 unsafe extern "system" fn AddCertTypeToRequestWStrEx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ltype: ADDED_CERT_TYPE, pwszoidorname: ::windows::core::PCWSTR, lmajorversion: i32, fminorversion: super::super::super::Foundation::BOOL, lminorversion: i32) -> ::windows::core::HRESULT {
6426 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6427 let this = (*this).get_impl();
6428 this.AddCertTypeToRequestWStrEx(::core::mem::transmute_copy(&ltype), ::core::mem::transmute(&pwszoidorname), ::core::mem::transmute_copy(&lmajorversion), ::core::mem::transmute_copy(&fminorversion), ::core::mem::transmute_copy(&lminorversion)).into()
6429 }
6430 unsafe extern "system" fn getProviderTypeWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszprovname: ::windows::core::PCWSTR, plprovtype: *mut i32) -> ::windows::core::HRESULT {
6431 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6432 let this = (*this).get_impl();
6433 this.getProviderTypeWStr(::core::mem::transmute(&pwszprovname), ::core::mem::transmute_copy(&plprovtype)).into()
6434 }
6435 unsafe extern "system" fn addBlobPropertyToCertificateWStr<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpropertyid: i32, lreserved: i32, pblobproperty: *mut super::CRYPT_INTEGER_BLOB) -> ::windows::core::HRESULT {
6436 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6437 let this = (*this).get_impl();
6438 this.addBlobPropertyToCertificateWStr(::core::mem::transmute_copy(&lpropertyid), ::core::mem::transmute_copy(&lreserved), ::core::mem::transmute_copy(&pblobproperty)).into()
6439 }
6440 unsafe extern "system" fn SetSignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psignercert: *const super::CERT_CONTEXT) -> ::windows::core::HRESULT {
6441 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6442 let this = (*this).get_impl();
6443 this.SetSignerCertificate(::core::mem::transmute_copy(&psignercert)).into()
6444 }
6445 unsafe extern "system" fn SetClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lclientid: i32) -> ::windows::core::HRESULT {
6446 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6447 let this = (*this).get_impl();
6448 this.SetClientId(::core::mem::transmute_copy(&lclientid)).into()
6449 }
6450 unsafe extern "system" fn ClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plclientid: *mut i32) -> ::windows::core::HRESULT {
6451 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6452 let this = (*this).get_impl();
6453 this.ClientId(::core::mem::transmute_copy(&plclientid)).into()
6454 }
6455 unsafe extern "system" fn SetIncludeSubjectKeyID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, finclude: super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6456 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6457 let this = (*this).get_impl();
6458 this.SetIncludeSubjectKeyID(::core::mem::transmute_copy(&finclude)).into()
6459 }
6460 unsafe extern "system" fn IncludeSubjectKeyID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnroll4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfinclude: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6461 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6462 let this = (*this).get_impl();
6463 this.IncludeSubjectKeyID(::core::mem::transmute_copy(&pfinclude)).into()
6464 }
6465 Self {
6466 base__: IEnroll2_Vtbl::new::<Identity, Impl, OFFSET>(),
6467 SetThumbPrintWStr: SetThumbPrintWStr::<Identity, Impl, OFFSET>,
6468 ThumbPrintWStr: ThumbPrintWStr::<Identity, Impl, OFFSET>,
6469 SetPrivateKeyArchiveCertificate: SetPrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
6470 GetPrivateKeyArchiveCertificate: GetPrivateKeyArchiveCertificate::<Identity, Impl, OFFSET>,
6471 binaryBlobToString: binaryBlobToString::<Identity, Impl, OFFSET>,
6472 stringToBinaryBlob: stringToBinaryBlob::<Identity, Impl, OFFSET>,
6473 addExtensionToRequestWStr: addExtensionToRequestWStr::<Identity, Impl, OFFSET>,
6474 addAttributeToRequestWStr: addAttributeToRequestWStr::<Identity, Impl, OFFSET>,
6475 addNameValuePairToRequestWStr: addNameValuePairToRequestWStr::<Identity, Impl, OFFSET>,
6476 resetExtensions: resetExtensions::<Identity, Impl, OFFSET>,
6477 resetAttributes: resetAttributes::<Identity, Impl, OFFSET>,
6478 createRequestWStr: createRequestWStr::<Identity, Impl, OFFSET>,
6479 createFileRequestWStr: createFileRequestWStr::<Identity, Impl, OFFSET>,
6480 acceptResponseBlob: acceptResponseBlob::<Identity, Impl, OFFSET>,
6481 acceptFileResponseWStr: acceptFileResponseWStr::<Identity, Impl, OFFSET>,
6482 getCertContextFromResponseBlob: getCertContextFromResponseBlob::<Identity, Impl, OFFSET>,
6483 getCertContextFromFileResponseWStr: getCertContextFromFileResponseWStr::<Identity, Impl, OFFSET>,
6484 createPFXWStr: createPFXWStr::<Identity, Impl, OFFSET>,
6485 createFilePFXWStr: createFilePFXWStr::<Identity, Impl, OFFSET>,
6486 setPendingRequestInfoWStr: setPendingRequestInfoWStr::<Identity, Impl, OFFSET>,
6487 enumPendingRequestWStr: enumPendingRequestWStr::<Identity, Impl, OFFSET>,
6488 removePendingRequestWStr: removePendingRequestWStr::<Identity, Impl, OFFSET>,
6489 GetKeyLenEx: GetKeyLenEx::<Identity, Impl, OFFSET>,
6490 InstallPKCS7BlobEx: InstallPKCS7BlobEx::<Identity, Impl, OFFSET>,
6491 AddCertTypeToRequestWStrEx: AddCertTypeToRequestWStrEx::<Identity, Impl, OFFSET>,
6492 getProviderTypeWStr: getProviderTypeWStr::<Identity, Impl, OFFSET>,
6493 addBlobPropertyToCertificateWStr: addBlobPropertyToCertificateWStr::<Identity, Impl, OFFSET>,
6494 SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
6495 SetClientId: SetClientId::<Identity, Impl, OFFSET>,
6496 ClientId: ClientId::<Identity, Impl, OFFSET>,
6497 SetIncludeSubjectKeyID: SetIncludeSubjectKeyID::<Identity, Impl, OFFSET>,
6498 IncludeSubjectKeyID: IncludeSubjectKeyID::<Identity, Impl, OFFSET>,
6499 }
6500 }
6501 pub fn matches(iid: &windows::core::GUID) -> bool {
6502 iid == &<IEnroll4 as ::windows::core::ComInterface>::IID || iid == &<IEnroll as ::windows::core::ComInterface>::IID || iid == &<IEnroll2 as ::windows::core::ComInterface>::IID
6503 }
6504 }
6505 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6506 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6507 pub trait IEnumCERTVIEWATTRIBUTE_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
6508 fn Next(&self, pindex: *mut i32) -> ::windows::core::Result<()>;
6509 fn GetName(&self, pstrout: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6510 fn GetValue(&self, pstrout: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6511 fn Skip(&self, celt: i32) -> ::windows::core::Result<()>;
6512 fn Reset(&self) -> ::windows::core::Result<()>;
6513 fn Clone(&self) -> ::windows::core::Result<IEnumCERTVIEWATTRIBUTE>;
6514 }
6515 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6516 impl ::windows::core::RuntimeName for IEnumCERTVIEWATTRIBUTE {}
6517 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6518 impl IEnumCERTVIEWATTRIBUTE_Vtbl {
6519 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>() -> IEnumCERTVIEWATTRIBUTE_Vtbl {
6520 unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
6521 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6522 let this = (*this).get_impl();
6523 this.Next(::core::mem::transmute_copy(&pindex)).into()
6524 }
6525 unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6526 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6527 let this = (*this).get_impl();
6528 this.GetName(::core::mem::transmute_copy(&pstrout)).into()
6529 }
6530 unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6531 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6532 let this = (*this).get_impl();
6533 this.GetValue(::core::mem::transmute_copy(&pstrout)).into()
6534 }
6535 unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows::core::HRESULT {
6536 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6537 let this = (*this).get_impl();
6538 this.Skip(::core::mem::transmute_copy(&celt)).into()
6539 }
6540 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6541 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6542 let this = (*this).get_impl();
6543 this.Reset().into()
6544 }
6545 unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWATTRIBUTE_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6546 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6547 let this = (*this).get_impl();
6548 match this.Clone() {
6549 ::core::result::Result::Ok(ok__) => {
6550 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6551 ::windows::core::HRESULT(0)
6552 }
6553 ::core::result::Result::Err(err) => err.into(),
6554 }
6555 }
6556 Self {
6557 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6558 Next: Next::<Identity, Impl, OFFSET>,
6559 GetName: GetName::<Identity, Impl, OFFSET>,
6560 GetValue: GetValue::<Identity, Impl, OFFSET>,
6561 Skip: Skip::<Identity, Impl, OFFSET>,
6562 Reset: Reset::<Identity, Impl, OFFSET>,
6563 Clone: Clone::<Identity, Impl, OFFSET>,
6564 }
6565 }
6566 pub fn matches(iid: &windows::core::GUID) -> bool {
6567 iid == &<IEnumCERTVIEWATTRIBUTE as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6568 }
6569 }
6570 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6571 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6572 pub trait IEnumCERTVIEWCOLUMN_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
6573 fn Next(&self, pindex: *mut i32) -> ::windows::core::Result<()>;
6574 fn GetName(&self, pstrout: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6575 fn GetDisplayName(&self, pstrout: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6576 fn GetType(&self, ptype: *mut i32) -> ::windows::core::Result<()>;
6577 fn IsIndexed(&self, pindexed: *mut i32) -> ::windows::core::Result<()>;
6578 fn GetMaxLength(&self, pmaxlength: *mut i32) -> ::windows::core::Result<()>;
6579 fn GetValue(&self, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
6580 fn Skip(&self, celt: i32) -> ::windows::core::Result<()>;
6581 fn Reset(&self) -> ::windows::core::Result<()>;
6582 fn Clone(&self) -> ::windows::core::Result<IEnumCERTVIEWCOLUMN>;
6583 }
6584 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6585 impl ::windows::core::RuntimeName for IEnumCERTVIEWCOLUMN {}
6586 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6587 impl IEnumCERTVIEWCOLUMN_Vtbl {
6588 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>() -> IEnumCERTVIEWCOLUMN_Vtbl {
6589 unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
6590 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6591 let this = (*this).get_impl();
6592 this.Next(::core::mem::transmute_copy(&pindex)).into()
6593 }
6594 unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6595 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6596 let this = (*this).get_impl();
6597 this.GetName(::core::mem::transmute_copy(&pstrout)).into()
6598 }
6599 unsafe extern "system" fn GetDisplayName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6600 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6601 let this = (*this).get_impl();
6602 this.GetDisplayName(::core::mem::transmute_copy(&pstrout)).into()
6603 }
6604 unsafe extern "system" fn GetType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptype: *mut i32) -> ::windows::core::HRESULT {
6605 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6606 let this = (*this).get_impl();
6607 this.GetType(::core::mem::transmute_copy(&ptype)).into()
6608 }
6609 unsafe extern "system" fn IsIndexed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindexed: *mut i32) -> ::windows::core::HRESULT {
6610 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6611 let this = (*this).get_impl();
6612 this.IsIndexed(::core::mem::transmute_copy(&pindexed)).into()
6613 }
6614 unsafe extern "system" fn GetMaxLength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmaxlength: *mut i32) -> ::windows::core::HRESULT {
6615 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6616 let this = (*this).get_impl();
6617 this.GetMaxLength(::core::mem::transmute_copy(&pmaxlength)).into()
6618 }
6619 unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
6620 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6621 let this = (*this).get_impl();
6622 this.GetValue(::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarvalue)).into()
6623 }
6624 unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows::core::HRESULT {
6625 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6626 let this = (*this).get_impl();
6627 this.Skip(::core::mem::transmute_copy(&celt)).into()
6628 }
6629 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6630 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6631 let this = (*this).get_impl();
6632 this.Reset().into()
6633 }
6634 unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWCOLUMN_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6635 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6636 let this = (*this).get_impl();
6637 match this.Clone() {
6638 ::core::result::Result::Ok(ok__) => {
6639 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6640 ::windows::core::HRESULT(0)
6641 }
6642 ::core::result::Result::Err(err) => err.into(),
6643 }
6644 }
6645 Self {
6646 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6647 Next: Next::<Identity, Impl, OFFSET>,
6648 GetName: GetName::<Identity, Impl, OFFSET>,
6649 GetDisplayName: GetDisplayName::<Identity, Impl, OFFSET>,
6650 GetType: GetType::<Identity, Impl, OFFSET>,
6651 IsIndexed: IsIndexed::<Identity, Impl, OFFSET>,
6652 GetMaxLength: GetMaxLength::<Identity, Impl, OFFSET>,
6653 GetValue: GetValue::<Identity, Impl, OFFSET>,
6654 Skip: Skip::<Identity, Impl, OFFSET>,
6655 Reset: Reset::<Identity, Impl, OFFSET>,
6656 Clone: Clone::<Identity, Impl, OFFSET>,
6657 }
6658 }
6659 pub fn matches(iid: &windows::core::GUID) -> bool {
6660 iid == &<IEnumCERTVIEWCOLUMN as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6661 }
6662 }
6663 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6664 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6665 pub trait IEnumCERTVIEWEXTENSION_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
6666 fn Next(&self, pindex: *mut i32) -> ::windows::core::Result<()>;
6667 fn GetName(&self, pstrout: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
6668 fn GetFlags(&self, pflags: *mut i32) -> ::windows::core::Result<()>;
6669 fn GetValue(&self, r#type: CERT_PROPERTY_TYPE, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
6670 fn Skip(&self, celt: i32) -> ::windows::core::Result<()>;
6671 fn Reset(&self) -> ::windows::core::Result<()>;
6672 fn Clone(&self) -> ::windows::core::Result<IEnumCERTVIEWEXTENSION>;
6673 }
6674 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6675 impl ::windows::core::RuntimeName for IEnumCERTVIEWEXTENSION {}
6676 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6677 impl IEnumCERTVIEWEXTENSION_Vtbl {
6678 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>() -> IEnumCERTVIEWEXTENSION_Vtbl {
6679 unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
6680 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6681 let this = (*this).get_impl();
6682 this.Next(::core::mem::transmute_copy(&pindex)).into()
6683 }
6684 unsafe extern "system" fn GetName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pstrout: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6686 let this = (*this).get_impl();
6687 this.GetName(::core::mem::transmute_copy(&pstrout)).into()
6688 }
6689 unsafe extern "system" fn GetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pflags: *mut i32) -> ::windows::core::HRESULT {
6690 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6691 let this = (*this).get_impl();
6692 this.GetFlags(::core::mem::transmute_copy(&pflags)).into()
6693 }
6694 unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, r#type: CERT_PROPERTY_TYPE, flags: ENUM_CERT_COLUMN_VALUE_FLAGS, pvarvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
6695 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6696 let this = (*this).get_impl();
6697 this.GetValue(::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&pvarvalue)).into()
6698 }
6699 unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows::core::HRESULT {
6700 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6701 let this = (*this).get_impl();
6702 this.Skip(::core::mem::transmute_copy(&celt)).into()
6703 }
6704 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6705 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6706 let this = (*this).get_impl();
6707 this.Reset().into()
6708 }
6709 unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWEXTENSION_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6710 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6711 let this = (*this).get_impl();
6712 match this.Clone() {
6713 ::core::result::Result::Ok(ok__) => {
6714 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6715 ::windows::core::HRESULT(0)
6716 }
6717 ::core::result::Result::Err(err) => err.into(),
6718 }
6719 }
6720 Self {
6721 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6722 Next: Next::<Identity, Impl, OFFSET>,
6723 GetName: GetName::<Identity, Impl, OFFSET>,
6724 GetFlags: GetFlags::<Identity, Impl, OFFSET>,
6725 GetValue: GetValue::<Identity, Impl, OFFSET>,
6726 Skip: Skip::<Identity, Impl, OFFSET>,
6727 Reset: Reset::<Identity, Impl, OFFSET>,
6728 Clone: Clone::<Identity, Impl, OFFSET>,
6729 }
6730 }
6731 pub fn matches(iid: &windows::core::GUID) -> bool {
6732 iid == &<IEnumCERTVIEWEXTENSION as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6733 }
6734 }
6735 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6736 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6737 pub trait IEnumCERTVIEWROW_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
6738 fn Next(&self, pindex: *mut i32) -> ::windows::core::Result<()>;
6739 fn EnumCertViewColumn(&self) -> ::windows::core::Result<IEnumCERTVIEWCOLUMN>;
6740 fn EnumCertViewAttribute(&self, flags: i32) -> ::windows::core::Result<IEnumCERTVIEWATTRIBUTE>;
6741 fn EnumCertViewExtension(&self, flags: i32) -> ::windows::core::Result<IEnumCERTVIEWEXTENSION>;
6742 fn Skip(&self, celt: i32) -> ::windows::core::Result<()>;
6743 fn Reset(&self) -> ::windows::core::Result<()>;
6744 fn Clone(&self) -> ::windows::core::Result<IEnumCERTVIEWROW>;
6745 fn GetMaxIndex(&self, pindex: *mut i32) -> ::windows::core::Result<()>;
6746 }
6747 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6748 impl ::windows::core::RuntimeName for IEnumCERTVIEWROW {}
6749 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6750 impl IEnumCERTVIEWROW_Vtbl {
6751 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>() -> IEnumCERTVIEWROW_Vtbl {
6752 unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
6753 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6754 let this = (*this).get_impl();
6755 this.Next(::core::mem::transmute_copy(&pindex)).into()
6756 }
6757 unsafe extern "system" fn EnumCertViewColumn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6758 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6759 let this = (*this).get_impl();
6760 match this.EnumCertViewColumn() {
6761 ::core::result::Result::Ok(ok__) => {
6762 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6763 ::windows::core::HRESULT(0)
6764 }
6765 ::core::result::Result::Err(err) => err.into(),
6766 }
6767 }
6768 unsafe extern "system" fn EnumCertViewAttribute<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6769 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6770 let this = (*this).get_impl();
6771 match this.EnumCertViewAttribute(::core::mem::transmute_copy(&flags)) {
6772 ::core::result::Result::Ok(ok__) => {
6773 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6774 ::windows::core::HRESULT(0)
6775 }
6776 ::core::result::Result::Err(err) => err.into(),
6777 }
6778 }
6779 unsafe extern "system" fn EnumCertViewExtension<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: i32, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6780 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6781 let this = (*this).get_impl();
6782 match this.EnumCertViewExtension(::core::mem::transmute_copy(&flags)) {
6783 ::core::result::Result::Ok(ok__) => {
6784 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6785 ::windows::core::HRESULT(0)
6786 }
6787 ::core::result::Result::Err(err) => err.into(),
6788 }
6789 }
6790 unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: i32) -> ::windows::core::HRESULT {
6791 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6792 let this = (*this).get_impl();
6793 this.Skip(::core::mem::transmute_copy(&celt)).into()
6794 }
6795 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6796 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6797 let this = (*this).get_impl();
6798 this.Reset().into()
6799 }
6800 unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6801 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6802 let this = (*this).get_impl();
6803 match this.Clone() {
6804 ::core::result::Result::Ok(ok__) => {
6805 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6806 ::windows::core::HRESULT(0)
6807 }
6808 ::core::result::Result::Err(err) => err.into(),
6809 }
6810 }
6811 unsafe extern "system" fn GetMaxIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumCERTVIEWROW_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
6812 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6813 let this = (*this).get_impl();
6814 this.GetMaxIndex(::core::mem::transmute_copy(&pindex)).into()
6815 }
6816 Self {
6817 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6818 Next: Next::<Identity, Impl, OFFSET>,
6819 EnumCertViewColumn: EnumCertViewColumn::<Identity, Impl, OFFSET>,
6820 EnumCertViewAttribute: EnumCertViewAttribute::<Identity, Impl, OFFSET>,
6821 EnumCertViewExtension: EnumCertViewExtension::<Identity, Impl, OFFSET>,
6822 Skip: Skip::<Identity, Impl, OFFSET>,
6823 Reset: Reset::<Identity, Impl, OFFSET>,
6824 Clone: Clone::<Identity, Impl, OFFSET>,
6825 GetMaxIndex: GetMaxIndex::<Identity, Impl, OFFSET>,
6826 }
6827 }
6828 pub fn matches(iid: &windows::core::GUID) -> bool {
6829 iid == &<IEnumCERTVIEWROW as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
6830 }
6831 }
6832 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6833 #[cfg(feature = "Win32_Foundation")]
6834 pub trait INDESPolicy_Impl: Sized {
6835 fn Initialize(&self) -> ::windows::core::Result<()>;
6836 fn Uninitialize(&self) -> ::windows::core::Result<()>;
6837 fn GenerateChallenge(&self, pwsztemplate: &::windows::core::PCWSTR, pwszparams: &::windows::core::PCWSTR) -> ::windows::core::Result<::windows::core::PWSTR>;
6838 fn VerifyRequest(&self, pctbrequest: *mut CERTTRANSBLOB, pctbsigningcertencoded: *mut CERTTRANSBLOB, pwsztemplate: &::windows::core::PCWSTR, pwsztransactionid: &::windows::core::PCWSTR, pfverified: *mut super::super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6839 fn Notify(&self, pwszchallenge: &::windows::core::PCWSTR, pwsztransactionid: &::windows::core::PCWSTR, disposition: X509SCEPDisposition, lasthresult: i32, pctbissuedcertencoded: *mut CERTTRANSBLOB) -> ::windows::core::Result<()>;
6840 }
6841 #[cfg(feature = "Win32_Foundation")]
6842 impl ::windows::core::RuntimeName for INDESPolicy {}
6843 #[cfg(feature = "Win32_Foundation")]
6844 impl INDESPolicy_Vtbl {
6845 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>() -> INDESPolicy_Vtbl {
6846 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6847 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6848 let this = (*this).get_impl();
6849 this.Initialize().into()
6850 }
6851 unsafe extern "system" fn Uninitialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6852 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6853 let this = (*this).get_impl();
6854 this.Uninitialize().into()
6855 }
6856 unsafe extern "system" fn GenerateChallenge<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwsztemplate: ::windows::core::PCWSTR, pwszparams: ::windows::core::PCWSTR, ppwszresponse: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
6857 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6858 let this = (*this).get_impl();
6859 match this.GenerateChallenge(::core::mem::transmute(&pwsztemplate), ::core::mem::transmute(&pwszparams)) {
6860 ::core::result::Result::Ok(ok__) => {
6861 ::core::ptr::write(ppwszresponse, ::core::mem::transmute(ok__));
6862 ::windows::core::HRESULT(0)
6863 }
6864 ::core::result::Result::Err(err) => err.into(),
6865 }
6866 }
6867 unsafe extern "system" fn VerifyRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pctbrequest: *mut CERTTRANSBLOB, pctbsigningcertencoded: *mut CERTTRANSBLOB, pwsztemplate: ::windows::core::PCWSTR, pwsztransactionid: ::windows::core::PCWSTR, pfverified: *mut super::super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6868 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6869 let this = (*this).get_impl();
6870 this.VerifyRequest(::core::mem::transmute_copy(&pctbrequest), ::core::mem::transmute_copy(&pctbsigningcertencoded), ::core::mem::transmute(&pwsztemplate), ::core::mem::transmute(&pwsztransactionid), ::core::mem::transmute_copy(&pfverified)).into()
6871 }
6872 unsafe extern "system" fn Notify<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: INDESPolicy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pwszchallenge: ::windows::core::PCWSTR, pwsztransactionid: ::windows::core::PCWSTR, disposition: X509SCEPDisposition, lasthresult: i32, pctbissuedcertencoded: *mut CERTTRANSBLOB) -> ::windows::core::HRESULT {
6873 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6874 let this = (*this).get_impl();
6875 this.Notify(::core::mem::transmute(&pwszchallenge), ::core::mem::transmute(&pwsztransactionid), ::core::mem::transmute_copy(&disposition), ::core::mem::transmute_copy(&lasthresult), ::core::mem::transmute_copy(&pctbissuedcertencoded)).into()
6876 }
6877 Self {
6878 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6879 Initialize: Initialize::<Identity, Impl, OFFSET>,
6880 Uninitialize: Uninitialize::<Identity, Impl, OFFSET>,
6881 GenerateChallenge: GenerateChallenge::<Identity, Impl, OFFSET>,
6882 VerifyRequest: VerifyRequest::<Identity, Impl, OFFSET>,
6883 Notify: Notify::<Identity, Impl, OFFSET>,
6884 }
6885 }
6886 pub fn matches(iid: &windows::core::GUID) -> bool {
6887 iid == &<INDESPolicy as ::windows::core::ComInterface>::IID
6888 }
6889 }
6890 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6891 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6892 pub trait IOCSPAdmin_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
6893 fn OCSPServiceProperties(&self) -> ::windows::core::Result<IOCSPPropertyCollection>;
6894 fn OCSPCAConfigurationCollection(&self) -> ::windows::core::Result<IOCSPCAConfigurationCollection>;
6895 fn GetConfiguration(&self, bstrservername: &::windows::core::BSTR, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6896 fn SetConfiguration(&self, bstrservername: &::windows::core::BSTR, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6897 fn GetMyRoles(&self, bstrservername: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
6898 fn Ping(&self, bstrservername: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6899 fn SetSecurity(&self, bstrservername: &::windows::core::BSTR, bstrval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
6900 fn GetSecurity(&self, bstrservername: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
6901 fn GetSigningCertificates(&self, bstrservername: &::windows::core::BSTR, pcacertvar: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
6902 fn GetHashAlgorithms(&self, bstrservername: &::windows::core::BSTR, bstrcaid: &::windows::core::BSTR) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
6903 }
6904 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6905 impl ::windows::core::RuntimeName for IOCSPAdmin {}
6906 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6907 impl IOCSPAdmin_Vtbl {
6908 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>() -> IOCSPAdmin_Vtbl {
6909 unsafe extern "system" fn OCSPServiceProperties<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6910 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6911 let this = (*this).get_impl();
6912 match this.OCSPServiceProperties() {
6913 ::core::result::Result::Ok(ok__) => {
6914 ::core::ptr::write(ppval, ::core::mem::transmute(ok__));
6915 ::windows::core::HRESULT(0)
6916 }
6917 ::core::result::Result::Err(err) => err.into(),
6918 }
6919 }
6920 unsafe extern "system" fn OCSPCAConfigurationCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6921 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6922 let this = (*this).get_impl();
6923 match this.OCSPCAConfigurationCollection() {
6924 ::core::result::Result::Ok(ok__) => {
6925 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
6926 ::windows::core::HRESULT(0)
6927 }
6928 ::core::result::Result::Err(err) => err.into(),
6929 }
6930 }
6931 unsafe extern "system" fn GetConfiguration<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6932 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6933 let this = (*this).get_impl();
6934 this.GetConfiguration(::core::mem::transmute(&bstrservername), ::core::mem::transmute_copy(&bforce)).into()
6935 }
6936 unsafe extern "system" fn SetConfiguration<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bforce: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6937 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6938 let this = (*this).get_impl();
6939 this.SetConfiguration(::core::mem::transmute(&bstrservername), ::core::mem::transmute_copy(&bforce)).into()
6940 }
6941 unsafe extern "system" fn GetMyRoles<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, proles: *mut i32) -> ::windows::core::HRESULT {
6942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6943 let this = (*this).get_impl();
6944 match this.GetMyRoles(::core::mem::transmute(&bstrservername)) {
6945 ::core::result::Result::Ok(ok__) => {
6946 ::core::ptr::write(proles, ::core::mem::transmute(ok__));
6947 ::windows::core::HRESULT(0)
6948 }
6949 ::core::result::Result::Err(err) => err.into(),
6950 }
6951 }
6952 unsafe extern "system" fn Ping<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6953 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6954 let this = (*this).get_impl();
6955 this.Ping(::core::mem::transmute(&bstrservername)).into()
6956 }
6957 unsafe extern "system" fn SetSecurity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6958 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6959 let this = (*this).get_impl();
6960 this.SetSecurity(::core::mem::transmute(&bstrservername), ::core::mem::transmute(&bstrval)).into()
6961 }
6962 unsafe extern "system" fn GetSecurity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6963 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6964 let this = (*this).get_impl();
6965 match this.GetSecurity(::core::mem::transmute(&bstrservername)) {
6966 ::core::result::Result::Ok(ok__) => {
6967 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
6968 ::windows::core::HRESULT(0)
6969 }
6970 ::core::result::Result::Err(err) => err.into(),
6971 }
6972 }
6973 unsafe extern "system" fn GetSigningCertificates<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcacertvar: *const super::super::super::System::Com::VARIANT, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
6974 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6975 let this = (*this).get_impl();
6976 match this.GetSigningCertificates(::core::mem::transmute(&bstrservername), ::core::mem::transmute_copy(&pcacertvar)) {
6977 ::core::result::Result::Ok(ok__) => {
6978 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
6979 ::windows::core::HRESULT(0)
6980 }
6981 ::core::result::Result::Err(err) => err.into(),
6982 }
6983 }
6984 unsafe extern "system" fn GetHashAlgorithms<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPAdmin_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrcaid: ::std::mem::MaybeUninit<::windows::core::BSTR>, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
6985 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6986 let this = (*this).get_impl();
6987 match this.GetHashAlgorithms(::core::mem::transmute(&bstrservername), ::core::mem::transmute(&bstrcaid)) {
6988 ::core::result::Result::Ok(ok__) => {
6989 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
6990 ::windows::core::HRESULT(0)
6991 }
6992 ::core::result::Result::Err(err) => err.into(),
6993 }
6994 }
6995 Self {
6996 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6997 OCSPServiceProperties: OCSPServiceProperties::<Identity, Impl, OFFSET>,
6998 OCSPCAConfigurationCollection: OCSPCAConfigurationCollection::<Identity, Impl, OFFSET>,
6999 GetConfiguration: GetConfiguration::<Identity, Impl, OFFSET>,
7000 SetConfiguration: SetConfiguration::<Identity, Impl, OFFSET>,
7001 GetMyRoles: GetMyRoles::<Identity, Impl, OFFSET>,
7002 Ping: Ping::<Identity, Impl, OFFSET>,
7003 SetSecurity: SetSecurity::<Identity, Impl, OFFSET>,
7004 GetSecurity: GetSecurity::<Identity, Impl, OFFSET>,
7005 GetSigningCertificates: GetSigningCertificates::<Identity, Impl, OFFSET>,
7006 GetHashAlgorithms: GetHashAlgorithms::<Identity, Impl, OFFSET>,
7007 }
7008 }
7009 pub fn matches(iid: &windows::core::GUID) -> bool {
7010 iid == &<IOCSPAdmin as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7011 }
7012 }
7013 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7015 pub trait IOCSPCAConfiguration_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7016 fn Identifier(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7017 fn CACertificate(&self) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7018 fn HashAlgorithm(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7019 fn SetHashAlgorithm(&self, newval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7020 fn SigningFlags(&self) -> ::windows::core::Result<u32>;
7021 fn SetSigningFlags(&self, newval: u32) -> ::windows::core::Result<()>;
7022 fn SigningCertificate(&self) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7023 fn SetSigningCertificate(&self, newval: &super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
7024 fn ReminderDuration(&self) -> ::windows::core::Result<u32>;
7025 fn SetReminderDuration(&self, newval: u32) -> ::windows::core::Result<()>;
7026 fn ErrorCode(&self) -> ::windows::core::Result<u32>;
7027 fn CSPName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7028 fn KeySpec(&self) -> ::windows::core::Result<u32>;
7029 fn ProviderCLSID(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7030 fn SetProviderCLSID(&self, newval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7031 fn ProviderProperties(&self) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7032 fn SetProviderProperties(&self, newval: &super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
7033 fn Modified(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
7034 fn LocalRevocationInformation(&self) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7035 fn SetLocalRevocationInformation(&self, newval: &super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
7036 fn SigningCertificateTemplate(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7037 fn SetSigningCertificateTemplate(&self, newval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7038 fn CAConfig(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7039 fn SetCAConfig(&self, newval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7040 }
7041 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7042 impl ::windows::core::RuntimeName for IOCSPCAConfiguration {}
7043 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7044 impl IOCSPCAConfiguration_Vtbl {
7045 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>() -> IOCSPCAConfiguration_Vtbl {
7046 unsafe extern "system" fn Identifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7047 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7048 let this = (*this).get_impl();
7049 match this.Identifier() {
7050 ::core::result::Result::Ok(ok__) => {
7051 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7052 ::windows::core::HRESULT(0)
7053 }
7054 ::core::result::Result::Err(err) => err.into(),
7055 }
7056 }
7057 unsafe extern "system" fn CACertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7058 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7059 let this = (*this).get_impl();
7060 match this.CACertificate() {
7061 ::core::result::Result::Ok(ok__) => {
7062 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7063 ::windows::core::HRESULT(0)
7064 }
7065 ::core::result::Result::Err(err) => err.into(),
7066 }
7067 }
7068 unsafe extern "system" fn HashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7069 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7070 let this = (*this).get_impl();
7071 match this.HashAlgorithm() {
7072 ::core::result::Result::Ok(ok__) => {
7073 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7074 ::windows::core::HRESULT(0)
7075 }
7076 ::core::result::Result::Err(err) => err.into(),
7077 }
7078 }
7079 unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7080 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7081 let this = (*this).get_impl();
7082 this.SetHashAlgorithm(::core::mem::transmute(&newval)).into()
7083 }
7084 unsafe extern "system" fn SigningFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows::core::HRESULT {
7085 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7086 let this = (*this).get_impl();
7087 match this.SigningFlags() {
7088 ::core::result::Result::Ok(ok__) => {
7089 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7090 ::windows::core::HRESULT(0)
7091 }
7092 ::core::result::Result::Err(err) => err.into(),
7093 }
7094 }
7095 unsafe extern "system" fn SetSigningFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: u32) -> ::windows::core::HRESULT {
7096 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7097 let this = (*this).get_impl();
7098 this.SetSigningFlags(::core::mem::transmute_copy(&newval)).into()
7099 }
7100 unsafe extern "system" fn SigningCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7101 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7102 let this = (*this).get_impl();
7103 match this.SigningCertificate() {
7104 ::core::result::Result::Ok(ok__) => {
7105 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7106 ::windows::core::HRESULT(0)
7107 }
7108 ::core::result::Result::Err(err) => err.into(),
7109 }
7110 }
7111 unsafe extern "system" fn SetSigningCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7112 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7113 let this = (*this).get_impl();
7114 this.SetSigningCertificate(::core::mem::transmute(&newval)).into()
7115 }
7116 unsafe extern "system" fn ReminderDuration<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows::core::HRESULT {
7117 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7118 let this = (*this).get_impl();
7119 match this.ReminderDuration() {
7120 ::core::result::Result::Ok(ok__) => {
7121 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7122 ::windows::core::HRESULT(0)
7123 }
7124 ::core::result::Result::Err(err) => err.into(),
7125 }
7126 }
7127 unsafe extern "system" fn SetReminderDuration<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: u32) -> ::windows::core::HRESULT {
7128 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7129 let this = (*this).get_impl();
7130 this.SetReminderDuration(::core::mem::transmute_copy(&newval)).into()
7131 }
7132 unsafe extern "system" fn ErrorCode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows::core::HRESULT {
7133 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7134 let this = (*this).get_impl();
7135 match this.ErrorCode() {
7136 ::core::result::Result::Ok(ok__) => {
7137 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7138 ::windows::core::HRESULT(0)
7139 }
7140 ::core::result::Result::Err(err) => err.into(),
7141 }
7142 }
7143 unsafe extern "system" fn CSPName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7144 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7145 let this = (*this).get_impl();
7146 match this.CSPName() {
7147 ::core::result::Result::Ok(ok__) => {
7148 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7149 ::windows::core::HRESULT(0)
7150 }
7151 ::core::result::Result::Err(err) => err.into(),
7152 }
7153 }
7154 unsafe extern "system" fn KeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut u32) -> ::windows::core::HRESULT {
7155 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7156 let this = (*this).get_impl();
7157 match this.KeySpec() {
7158 ::core::result::Result::Ok(ok__) => {
7159 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7160 ::windows::core::HRESULT(0)
7161 }
7162 ::core::result::Result::Err(err) => err.into(),
7163 }
7164 }
7165 unsafe extern "system" fn ProviderCLSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7166 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7167 let this = (*this).get_impl();
7168 match this.ProviderCLSID() {
7169 ::core::result::Result::Ok(ok__) => {
7170 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7171 ::windows::core::HRESULT(0)
7172 }
7173 ::core::result::Result::Err(err) => err.into(),
7174 }
7175 }
7176 unsafe extern "system" fn SetProviderCLSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7177 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7178 let this = (*this).get_impl();
7179 this.SetProviderCLSID(::core::mem::transmute(&newval)).into()
7180 }
7181 unsafe extern "system" fn ProviderProperties<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7182 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7183 let this = (*this).get_impl();
7184 match this.ProviderProperties() {
7185 ::core::result::Result::Ok(ok__) => {
7186 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7187 ::windows::core::HRESULT(0)
7188 }
7189 ::core::result::Result::Err(err) => err.into(),
7190 }
7191 }
7192 unsafe extern "system" fn SetProviderProperties<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7193 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7194 let this = (*this).get_impl();
7195 this.SetProviderProperties(::core::mem::transmute(&newval)).into()
7196 }
7197 unsafe extern "system" fn Modified<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
7198 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7199 let this = (*this).get_impl();
7200 match this.Modified() {
7201 ::core::result::Result::Ok(ok__) => {
7202 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7203 ::windows::core::HRESULT(0)
7204 }
7205 ::core::result::Result::Err(err) => err.into(),
7206 }
7207 }
7208 unsafe extern "system" fn LocalRevocationInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7209 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7210 let this = (*this).get_impl();
7211 match this.LocalRevocationInformation() {
7212 ::core::result::Result::Ok(ok__) => {
7213 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7214 ::windows::core::HRESULT(0)
7215 }
7216 ::core::result::Result::Err(err) => err.into(),
7217 }
7218 }
7219 unsafe extern "system" fn SetLocalRevocationInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7220 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7221 let this = (*this).get_impl();
7222 this.SetLocalRevocationInformation(::core::mem::transmute(&newval)).into()
7223 }
7224 unsafe extern "system" fn SigningCertificateTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7225 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7226 let this = (*this).get_impl();
7227 match this.SigningCertificateTemplate() {
7228 ::core::result::Result::Ok(ok__) => {
7229 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7230 ::windows::core::HRESULT(0)
7231 }
7232 ::core::result::Result::Err(err) => err.into(),
7233 }
7234 }
7235 unsafe extern "system" fn SetSigningCertificateTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7236 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7237 let this = (*this).get_impl();
7238 this.SetSigningCertificateTemplate(::core::mem::transmute(&newval)).into()
7239 }
7240 unsafe extern "system" fn CAConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7241 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7242 let this = (*this).get_impl();
7243 match this.CAConfig() {
7244 ::core::result::Result::Ok(ok__) => {
7245 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7246 ::windows::core::HRESULT(0)
7247 }
7248 ::core::result::Result::Err(err) => err.into(),
7249 }
7250 }
7251 unsafe extern "system" fn SetCAConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfiguration_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7252 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7253 let this = (*this).get_impl();
7254 this.SetCAConfig(::core::mem::transmute(&newval)).into()
7255 }
7256 Self {
7257 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7258 Identifier: Identifier::<Identity, Impl, OFFSET>,
7259 CACertificate: CACertificate::<Identity, Impl, OFFSET>,
7260 HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
7261 SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
7262 SigningFlags: SigningFlags::<Identity, Impl, OFFSET>,
7263 SetSigningFlags: SetSigningFlags::<Identity, Impl, OFFSET>,
7264 SigningCertificate: SigningCertificate::<Identity, Impl, OFFSET>,
7265 SetSigningCertificate: SetSigningCertificate::<Identity, Impl, OFFSET>,
7266 ReminderDuration: ReminderDuration::<Identity, Impl, OFFSET>,
7267 SetReminderDuration: SetReminderDuration::<Identity, Impl, OFFSET>,
7268 ErrorCode: ErrorCode::<Identity, Impl, OFFSET>,
7269 CSPName: CSPName::<Identity, Impl, OFFSET>,
7270 KeySpec: KeySpec::<Identity, Impl, OFFSET>,
7271 ProviderCLSID: ProviderCLSID::<Identity, Impl, OFFSET>,
7272 SetProviderCLSID: SetProviderCLSID::<Identity, Impl, OFFSET>,
7273 ProviderProperties: ProviderProperties::<Identity, Impl, OFFSET>,
7274 SetProviderProperties: SetProviderProperties::<Identity, Impl, OFFSET>,
7275 Modified: Modified::<Identity, Impl, OFFSET>,
7276 LocalRevocationInformation: LocalRevocationInformation::<Identity, Impl, OFFSET>,
7277 SetLocalRevocationInformation: SetLocalRevocationInformation::<Identity, Impl, OFFSET>,
7278 SigningCertificateTemplate: SigningCertificateTemplate::<Identity, Impl, OFFSET>,
7279 SetSigningCertificateTemplate: SetSigningCertificateTemplate::<Identity, Impl, OFFSET>,
7280 CAConfig: CAConfig::<Identity, Impl, OFFSET>,
7281 SetCAConfig: SetCAConfig::<Identity, Impl, OFFSET>,
7282 }
7283 }
7284 pub fn matches(iid: &windows::core::GUID) -> bool {
7285 iid == &<IOCSPCAConfiguration as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7286 }
7287 }
7288 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7289 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7290 pub trait IOCSPCAConfigurationCollection_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7291 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
7292 fn get_Item(&self, index: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7293 fn Count(&self) -> ::windows::core::Result<i32>;
7294 fn get_ItemByName(&self, bstridentifier: &::windows::core::BSTR) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7295 fn CreateCAConfiguration(&self, bstridentifier: &::windows::core::BSTR, varcacert: &super::super::super::System::Com::VARIANT) -> ::windows::core::Result<IOCSPCAConfiguration>;
7296 fn DeleteCAConfiguration(&self, bstridentifier: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7297 }
7298 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7299 impl ::windows::core::RuntimeName for IOCSPCAConfigurationCollection {}
7300 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7301 impl IOCSPCAConfigurationCollection_Vtbl {
7302 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>() -> IOCSPCAConfigurationCollection_Vtbl {
7303 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7304 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7305 let this = (*this).get_impl();
7306 match this._NewEnum() {
7307 ::core::result::Result::Ok(ok__) => {
7308 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7309 ::windows::core::HRESULT(0)
7310 }
7311 ::core::result::Result::Err(err) => err.into(),
7312 }
7313 }
7314 unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7315 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7316 let this = (*this).get_impl();
7317 match this.get_Item(::core::mem::transmute_copy(&index)) {
7318 ::core::result::Result::Ok(ok__) => {
7319 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7320 ::windows::core::HRESULT(0)
7321 }
7322 ::core::result::Result::Err(err) => err.into(),
7323 }
7324 }
7325 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
7326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7327 let this = (*this).get_impl();
7328 match this.Count() {
7329 ::core::result::Result::Ok(ok__) => {
7330 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7331 ::windows::core::HRESULT(0)
7332 }
7333 ::core::result::Result::Err(err) => err.into(),
7334 }
7335 }
7336 unsafe extern "system" fn get_ItemByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstridentifier: ::std::mem::MaybeUninit<::windows::core::BSTR>, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7337 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7338 let this = (*this).get_impl();
7339 match this.get_ItemByName(::core::mem::transmute(&bstridentifier)) {
7340 ::core::result::Result::Ok(ok__) => {
7341 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7342 ::windows::core::HRESULT(0)
7343 }
7344 ::core::result::Result::Err(err) => err.into(),
7345 }
7346 }
7347 unsafe extern "system" fn CreateCAConfiguration<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstridentifier: ::std::mem::MaybeUninit<::windows::core::BSTR>, varcacert: super::super::super::System::Com::VARIANT, ppval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7348 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7349 let this = (*this).get_impl();
7350 match this.CreateCAConfiguration(::core::mem::transmute(&bstridentifier), ::core::mem::transmute(&varcacert)) {
7351 ::core::result::Result::Ok(ok__) => {
7352 ::core::ptr::write(ppval, ::core::mem::transmute(ok__));
7353 ::windows::core::HRESULT(0)
7354 }
7355 ::core::result::Result::Err(err) => err.into(),
7356 }
7357 }
7358 unsafe extern "system" fn DeleteCAConfiguration<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPCAConfigurationCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstridentifier: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7359 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7360 let this = (*this).get_impl();
7361 this.DeleteCAConfiguration(::core::mem::transmute(&bstridentifier)).into()
7362 }
7363 Self {
7364 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7365 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
7366 get_Item: get_Item::<Identity, Impl, OFFSET>,
7367 Count: Count::<Identity, Impl, OFFSET>,
7368 get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
7369 CreateCAConfiguration: CreateCAConfiguration::<Identity, Impl, OFFSET>,
7370 DeleteCAConfiguration: DeleteCAConfiguration::<Identity, Impl, OFFSET>,
7371 }
7372 }
7373 pub fn matches(iid: &windows::core::GUID) -> bool {
7374 iid == &<IOCSPCAConfigurationCollection as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7375 }
7376 }
7377 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7378 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7379 pub trait IOCSPProperty_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7380 fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7381 fn Value(&self) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7382 fn SetValue(&self, newval: &super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
7383 fn Modified(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
7384 }
7385 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7386 impl ::windows::core::RuntimeName for IOCSPProperty {}
7387 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7388 impl IOCSPProperty_Vtbl {
7389 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>() -> IOCSPProperty_Vtbl {
7390 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7391 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7392 let this = (*this).get_impl();
7393 match this.Name() {
7394 ::core::result::Result::Ok(ok__) => {
7395 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7396 ::windows::core::HRESULT(0)
7397 }
7398 ::core::result::Result::Err(err) => err.into(),
7399 }
7400 }
7401 unsafe extern "system" fn Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7402 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7403 let this = (*this).get_impl();
7404 match this.Value() {
7405 ::core::result::Result::Ok(ok__) => {
7406 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7407 ::windows::core::HRESULT(0)
7408 }
7409 ::core::result::Result::Err(err) => err.into(),
7410 }
7411 }
7412 unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7413 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7414 let this = (*this).get_impl();
7415 this.SetValue(::core::mem::transmute(&newval)).into()
7416 }
7417 unsafe extern "system" fn Modified<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
7418 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7419 let this = (*this).get_impl();
7420 match this.Modified() {
7421 ::core::result::Result::Ok(ok__) => {
7422 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7423 ::windows::core::HRESULT(0)
7424 }
7425 ::core::result::Result::Err(err) => err.into(),
7426 }
7427 }
7428 Self {
7429 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7430 Name: Name::<Identity, Impl, OFFSET>,
7431 Value: Value::<Identity, Impl, OFFSET>,
7432 SetValue: SetValue::<Identity, Impl, OFFSET>,
7433 Modified: Modified::<Identity, Impl, OFFSET>,
7434 }
7435 }
7436 pub fn matches(iid: &windows::core::GUID) -> bool {
7437 iid == &<IOCSPProperty as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7438 }
7439 }
7440 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7441 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7442 pub trait IOCSPPropertyCollection_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7443 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
7444 fn get_Item(&self, index: i32) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7445 fn Count(&self) -> ::windows::core::Result<i32>;
7446 fn get_ItemByName(&self, bstrpropname: &::windows::core::BSTR) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7447 fn CreateProperty(&self, bstrpropname: &::windows::core::BSTR, pvarpropvalue: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<IOCSPProperty>;
7448 fn DeleteProperty(&self, bstrpropname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7449 fn InitializeFromProperties(&self, pvarproperties: *const super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
7450 fn GetAllProperties(&self) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
7451 }
7452 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7453 impl ::windows::core::RuntimeName for IOCSPPropertyCollection {}
7454 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7455 impl IOCSPPropertyCollection_Vtbl {
7456 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>() -> IOCSPPropertyCollection_Vtbl {
7457 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7458 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7459 let this = (*this).get_impl();
7460 match this._NewEnum() {
7461 ::core::result::Result::Ok(ok__) => {
7462 ::core::ptr::write(ppval, ::core::mem::transmute(ok__));
7463 ::windows::core::HRESULT(0)
7464 }
7465 ::core::result::Result::Err(err) => err.into(),
7466 }
7467 }
7468 unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7469 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7470 let this = (*this).get_impl();
7471 match this.get_Item(::core::mem::transmute_copy(&index)) {
7472 ::core::result::Result::Ok(ok__) => {
7473 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7474 ::windows::core::HRESULT(0)
7475 }
7476 ::core::result::Result::Err(err) => err.into(),
7477 }
7478 }
7479 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
7480 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7481 let this = (*this).get_impl();
7482 match this.Count() {
7483 ::core::result::Result::Ok(ok__) => {
7484 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7485 ::windows::core::HRESULT(0)
7486 }
7487 ::core::result::Result::Err(err) => err.into(),
7488 }
7489 }
7490 unsafe extern "system" fn get_ItemByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7491 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7492 let this = (*this).get_impl();
7493 match this.get_ItemByName(::core::mem::transmute(&bstrpropname)) {
7494 ::core::result::Result::Ok(ok__) => {
7495 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7496 ::windows::core::HRESULT(0)
7497 }
7498 ::core::result::Result::Err(err) => err.into(),
7499 }
7500 }
7501 unsafe extern "system" fn CreateProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarpropvalue: *const super::super::super::System::Com::VARIANT, ppval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7502 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7503 let this = (*this).get_impl();
7504 match this.CreateProperty(::core::mem::transmute(&bstrpropname), ::core::mem::transmute_copy(&pvarpropvalue)) {
7505 ::core::result::Result::Ok(ok__) => {
7506 ::core::ptr::write(ppval, ::core::mem::transmute(ok__));
7507 ::windows::core::HRESULT(0)
7508 }
7509 ::core::result::Result::Err(err) => err.into(),
7510 }
7511 }
7512 unsafe extern "system" fn DeleteProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7513 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7514 let this = (*this).get_impl();
7515 this.DeleteProperty(::core::mem::transmute(&bstrpropname)).into()
7516 }
7517 unsafe extern "system" fn InitializeFromProperties<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarproperties: *const super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7518 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7519 let this = (*this).get_impl();
7520 this.InitializeFromProperties(::core::mem::transmute_copy(&pvarproperties)).into()
7521 }
7522 unsafe extern "system" fn GetAllProperties<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IOCSPPropertyCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarproperties: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
7523 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7524 let this = (*this).get_impl();
7525 match this.GetAllProperties() {
7526 ::core::result::Result::Ok(ok__) => {
7527 ::core::ptr::write(pvarproperties, ::core::mem::transmute(ok__));
7528 ::windows::core::HRESULT(0)
7529 }
7530 ::core::result::Result::Err(err) => err.into(),
7531 }
7532 }
7533 Self {
7534 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7535 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
7536 get_Item: get_Item::<Identity, Impl, OFFSET>,
7537 Count: Count::<Identity, Impl, OFFSET>,
7538 get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
7539 CreateProperty: CreateProperty::<Identity, Impl, OFFSET>,
7540 DeleteProperty: DeleteProperty::<Identity, Impl, OFFSET>,
7541 InitializeFromProperties: InitializeFromProperties::<Identity, Impl, OFFSET>,
7542 GetAllProperties: GetAllProperties::<Identity, Impl, OFFSET>,
7543 }
7544 }
7545 pub fn matches(iid: &windows::core::GUID) -> bool {
7546 iid == &<IOCSPPropertyCollection as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7547 }
7548 }
7549 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7550 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7551 pub trait IObjectId_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7552 fn InitializeFromName(&self, name: CERTENROLL_OBJECTID) -> ::windows::core::Result<()>;
7553 fn InitializeFromValue(&self, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7554 fn InitializeFromAlgorithmName(&self, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags, algflags: AlgorithmFlags, stralgorithmname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7555 fn Name(&self) -> ::windows::core::Result<CERTENROLL_OBJECTID>;
7556 fn FriendlyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7557 fn SetFriendlyName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7558 fn Value(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7559 fn GetAlgorithmName(&self, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags) -> ::windows::core::Result<::windows::core::BSTR>;
7560 }
7561 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7562 impl ::windows::core::RuntimeName for IObjectId {}
7563 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7564 impl IObjectId_Vtbl {
7565 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>() -> IObjectId_Vtbl {
7566 unsafe extern "system" fn InitializeFromName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: CERTENROLL_OBJECTID) -> ::windows::core::HRESULT {
7567 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7568 let this = (*this).get_impl();
7569 this.InitializeFromName(::core::mem::transmute_copy(&name)).into()
7570 }
7571 unsafe extern "system" fn InitializeFromValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7572 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7573 let this = (*this).get_impl();
7574 this.InitializeFromValue(::core::mem::transmute(&strvalue)).into()
7575 }
7576 unsafe extern "system" fn InitializeFromAlgorithmName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags, algflags: AlgorithmFlags, stralgorithmname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7577 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7578 let this = (*this).get_impl();
7579 this.InitializeFromAlgorithmName(::core::mem::transmute_copy(&groupid), ::core::mem::transmute_copy(&keyflags), ::core::mem::transmute_copy(&algflags), ::core::mem::transmute(&stralgorithmname)).into()
7580 }
7581 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut CERTENROLL_OBJECTID) -> ::windows::core::HRESULT {
7582 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7583 let this = (*this).get_impl();
7584 match this.Name() {
7585 ::core::result::Result::Ok(ok__) => {
7586 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7587 ::windows::core::HRESULT(0)
7588 }
7589 ::core::result::Result::Err(err) => err.into(),
7590 }
7591 }
7592 unsafe extern "system" fn FriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7593 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7594 let this = (*this).get_impl();
7595 match this.FriendlyName() {
7596 ::core::result::Result::Ok(ok__) => {
7597 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7598 ::windows::core::HRESULT(0)
7599 }
7600 ::core::result::Result::Err(err) => err.into(),
7601 }
7602 }
7603 unsafe extern "system" fn SetFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7604 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7605 let this = (*this).get_impl();
7606 this.SetFriendlyName(::core::mem::transmute(&value)).into()
7607 }
7608 unsafe extern "system" fn Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7609 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7610 let this = (*this).get_impl();
7611 match this.Value() {
7612 ::core::result::Result::Ok(ok__) => {
7613 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7614 ::windows::core::HRESULT(0)
7615 }
7616 ::core::result::Result::Err(err) => err.into(),
7617 }
7618 }
7619 unsafe extern "system" fn GetAlgorithmName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, groupid: ObjectIdGroupId, keyflags: ObjectIdPublicKeyFlags, pstralgorithmname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7620 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7621 let this = (*this).get_impl();
7622 match this.GetAlgorithmName(::core::mem::transmute_copy(&groupid), ::core::mem::transmute_copy(&keyflags)) {
7623 ::core::result::Result::Ok(ok__) => {
7624 ::core::ptr::write(pstralgorithmname, ::core::mem::transmute(ok__));
7625 ::windows::core::HRESULT(0)
7626 }
7627 ::core::result::Result::Err(err) => err.into(),
7628 }
7629 }
7630 Self {
7631 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7632 InitializeFromName: InitializeFromName::<Identity, Impl, OFFSET>,
7633 InitializeFromValue: InitializeFromValue::<Identity, Impl, OFFSET>,
7634 InitializeFromAlgorithmName: InitializeFromAlgorithmName::<Identity, Impl, OFFSET>,
7635 Name: Name::<Identity, Impl, OFFSET>,
7636 FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
7637 SetFriendlyName: SetFriendlyName::<Identity, Impl, OFFSET>,
7638 Value: Value::<Identity, Impl, OFFSET>,
7639 GetAlgorithmName: GetAlgorithmName::<Identity, Impl, OFFSET>,
7640 }
7641 }
7642 pub fn matches(iid: &windows::core::GUID) -> bool {
7643 iid == &<IObjectId as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7644 }
7645 }
7646 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7647 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7648 pub trait IObjectIds_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7649 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IObjectId>;
7650 fn Count(&self) -> ::windows::core::Result<i32>;
7651 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
7652 fn Add(&self, pval: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
7653 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
7654 fn Clear(&self) -> ::windows::core::Result<()>;
7655 fn AddRange(&self, pvalue: ::core::option::Option<&IObjectIds>) -> ::windows::core::Result<()>;
7656 }
7657 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7658 impl ::windows::core::RuntimeName for IObjectIds {}
7659 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7660 impl IObjectIds_Vtbl {
7661 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>() -> IObjectIds_Vtbl {
7662 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7663 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7664 let this = (*this).get_impl();
7665 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
7666 ::core::result::Result::Ok(ok__) => {
7667 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7668 ::windows::core::HRESULT(0)
7669 }
7670 ::core::result::Result::Err(err) => err.into(),
7671 }
7672 }
7673 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
7674 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7675 let this = (*this).get_impl();
7676 match this.Count() {
7677 ::core::result::Result::Ok(ok__) => {
7678 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7679 ::windows::core::HRESULT(0)
7680 }
7681 ::core::result::Result::Err(err) => err.into(),
7682 }
7683 }
7684 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7686 let this = (*this).get_impl();
7687 match this._NewEnum() {
7688 ::core::result::Result::Ok(ok__) => {
7689 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7690 ::windows::core::HRESULT(0)
7691 }
7692 ::core::result::Result::Err(err) => err.into(),
7693 }
7694 }
7695 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7696 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7697 let this = (*this).get_impl();
7698 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
7699 }
7700 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
7701 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7702 let this = (*this).get_impl();
7703 this.Remove(::core::mem::transmute_copy(&index)).into()
7704 }
7705 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7706 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7707 let this = (*this).get_impl();
7708 this.Clear().into()
7709 }
7710 unsafe extern "system" fn AddRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectIds_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7711 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7712 let this = (*this).get_impl();
7713 this.AddRange(::windows::core::from_raw_borrowed(&pvalue)).into()
7714 }
7715 Self {
7716 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7717 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
7718 Count: Count::<Identity, Impl, OFFSET>,
7719 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
7720 Add: Add::<Identity, Impl, OFFSET>,
7721 Remove: Remove::<Identity, Impl, OFFSET>,
7722 Clear: Clear::<Identity, Impl, OFFSET>,
7723 AddRange: AddRange::<Identity, Impl, OFFSET>,
7724 }
7725 }
7726 pub fn matches(iid: &windows::core::GUID) -> bool {
7727 iid == &<IObjectIds as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7728 }
7729 }
7730 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7731 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7732 pub trait IPolicyQualifier_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7733 fn InitializeEncode(&self, strqualifier: &::windows::core::BSTR, r#type: PolicyQualifierType) -> ::windows::core::Result<()>;
7734 fn ObjectId(&self) -> ::windows::core::Result<IObjectId>;
7735 fn Qualifier(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7736 fn Type(&self) -> ::windows::core::Result<PolicyQualifierType>;
7737 fn get_RawData(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
7738 }
7739 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7740 impl ::windows::core::RuntimeName for IPolicyQualifier {}
7741 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7742 impl IPolicyQualifier_Vtbl {
7743 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>() -> IPolicyQualifier_Vtbl {
7744 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strqualifier: ::std::mem::MaybeUninit<::windows::core::BSTR>, r#type: PolicyQualifierType) -> ::windows::core::HRESULT {
7745 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7746 let this = (*this).get_impl();
7747 this.InitializeEncode(::core::mem::transmute(&strqualifier), ::core::mem::transmute_copy(&r#type)).into()
7748 }
7749 unsafe extern "system" fn ObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7750 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7751 let this = (*this).get_impl();
7752 match this.ObjectId() {
7753 ::core::result::Result::Ok(ok__) => {
7754 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
7755 ::windows::core::HRESULT(0)
7756 }
7757 ::core::result::Result::Err(err) => err.into(),
7758 }
7759 }
7760 unsafe extern "system" fn Qualifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7761 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7762 let this = (*this).get_impl();
7763 match this.Qualifier() {
7764 ::core::result::Result::Ok(ok__) => {
7765 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7766 ::windows::core::HRESULT(0)
7767 }
7768 ::core::result::Result::Err(err) => err.into(),
7769 }
7770 }
7771 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut PolicyQualifierType) -> ::windows::core::HRESULT {
7772 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7773 let this = (*this).get_impl();
7774 match this.Type() {
7775 ::core::result::Result::Ok(ok__) => {
7776 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7777 ::windows::core::HRESULT(0)
7778 }
7779 ::core::result::Result::Err(err) => err.into(),
7780 }
7781 }
7782 unsafe extern "system" fn get_RawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7783 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7784 let this = (*this).get_impl();
7785 match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
7786 ::core::result::Result::Ok(ok__) => {
7787 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7788 ::windows::core::HRESULT(0)
7789 }
7790 ::core::result::Result::Err(err) => err.into(),
7791 }
7792 }
7793 Self {
7794 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7795 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
7796 ObjectId: ObjectId::<Identity, Impl, OFFSET>,
7797 Qualifier: Qualifier::<Identity, Impl, OFFSET>,
7798 Type: Type::<Identity, Impl, OFFSET>,
7799 get_RawData: get_RawData::<Identity, Impl, OFFSET>,
7800 }
7801 }
7802 pub fn matches(iid: &windows::core::GUID) -> bool {
7803 iid == &<IPolicyQualifier as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7804 }
7805 }
7806 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7807 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7808 pub trait IPolicyQualifiers_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7809 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IPolicyQualifier>;
7810 fn Count(&self) -> ::windows::core::Result<i32>;
7811 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
7812 fn Add(&self, pval: ::core::option::Option<&IPolicyQualifier>) -> ::windows::core::Result<()>;
7813 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
7814 fn Clear(&self) -> ::windows::core::Result<()>;
7815 }
7816 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7817 impl ::windows::core::RuntimeName for IPolicyQualifiers {}
7818 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7819 impl IPolicyQualifiers_Vtbl {
7820 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>() -> IPolicyQualifiers_Vtbl {
7821 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7822 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7823 let this = (*this).get_impl();
7824 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
7825 ::core::result::Result::Ok(ok__) => {
7826 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7827 ::windows::core::HRESULT(0)
7828 }
7829 ::core::result::Result::Err(err) => err.into(),
7830 }
7831 }
7832 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
7833 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7834 let this = (*this).get_impl();
7835 match this.Count() {
7836 ::core::result::Result::Ok(ok__) => {
7837 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7838 ::windows::core::HRESULT(0)
7839 }
7840 ::core::result::Result::Err(err) => err.into(),
7841 }
7842 }
7843 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7844 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7845 let this = (*this).get_impl();
7846 match this._NewEnum() {
7847 ::core::result::Result::Ok(ok__) => {
7848 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
7849 ::windows::core::HRESULT(0)
7850 }
7851 ::core::result::Result::Err(err) => err.into(),
7852 }
7853 }
7854 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7855 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7856 let this = (*this).get_impl();
7857 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
7858 }
7859 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
7860 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7861 let this = (*this).get_impl();
7862 this.Remove(::core::mem::transmute_copy(&index)).into()
7863 }
7864 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPolicyQualifiers_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7865 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7866 let this = (*this).get_impl();
7867 this.Clear().into()
7868 }
7869 Self {
7870 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7871 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
7872 Count: Count::<Identity, Impl, OFFSET>,
7873 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
7874 Add: Add::<Identity, Impl, OFFSET>,
7875 Remove: Remove::<Identity, Impl, OFFSET>,
7876 Clear: Clear::<Identity, Impl, OFFSET>,
7877 }
7878 }
7879 pub fn matches(iid: &windows::core::GUID) -> bool {
7880 iid == &<IPolicyQualifiers as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
7881 }
7882 }
7883 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
7884 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7885 pub trait ISignerCertificate_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
7886 fn Initialize(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL, verifytype: X509PrivateKeyVerify, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7887 fn get_Certificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
7888 fn PrivateKey(&self) -> ::windows::core::Result<IX509PrivateKey>;
7889 fn Silent(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
7890 fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
7891 fn ParentWindow(&self) -> ::windows::core::Result<i32>;
7892 fn SetParentWindow(&self, value: i32) -> ::windows::core::Result<()>;
7893 fn UIContextMessage(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7894 fn SetUIContextMessage(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7895 fn SetPin(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
7896 fn SignatureInformation(&self) -> ::windows::core::Result<IX509SignatureInformation>;
7897 }
7898 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7899 impl ::windows::core::RuntimeName for ISignerCertificate {}
7900 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7901 impl ISignerCertificate_Vtbl {
7902 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>() -> ISignerCertificate_Vtbl {
7903 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL, verifytype: X509PrivateKeyVerify, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7904 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7905 let this = (*this).get_impl();
7906 this.Initialize(::core::mem::transmute_copy(&machinecontext), ::core::mem::transmute_copy(&verifytype), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
7907 }
7908 unsafe extern "system" fn get_Certificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7909 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7910 let this = (*this).get_impl();
7911 match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
7912 ::core::result::Result::Ok(ok__) => {
7913 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7914 ::windows::core::HRESULT(0)
7915 }
7916 ::core::result::Result::Err(err) => err.into(),
7917 }
7918 }
7919 unsafe extern "system" fn PrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7920 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7921 let this = (*this).get_impl();
7922 match this.PrivateKey() {
7923 ::core::result::Result::Ok(ok__) => {
7924 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
7925 ::windows::core::HRESULT(0)
7926 }
7927 ::core::result::Result::Err(err) => err.into(),
7928 }
7929 }
7930 unsafe extern "system" fn Silent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
7931 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7932 let this = (*this).get_impl();
7933 match this.Silent() {
7934 ::core::result::Result::Ok(ok__) => {
7935 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7936 ::windows::core::HRESULT(0)
7937 }
7938 ::core::result::Result::Err(err) => err.into(),
7939 }
7940 }
7941 unsafe extern "system" fn SetSilent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
7942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7943 let this = (*this).get_impl();
7944 this.SetSilent(::core::mem::transmute_copy(&value)).into()
7945 }
7946 unsafe extern "system" fn ParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
7947 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7948 let this = (*this).get_impl();
7949 match this.ParentWindow() {
7950 ::core::result::Result::Ok(ok__) => {
7951 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7952 ::windows::core::HRESULT(0)
7953 }
7954 ::core::result::Result::Err(err) => err.into(),
7955 }
7956 }
7957 unsafe extern "system" fn SetParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
7958 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7959 let this = (*this).get_impl();
7960 this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
7961 }
7962 unsafe extern "system" fn UIContextMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7963 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7964 let this = (*this).get_impl();
7965 match this.UIContextMessage() {
7966 ::core::result::Result::Ok(ok__) => {
7967 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
7968 ::windows::core::HRESULT(0)
7969 }
7970 ::core::result::Result::Err(err) => err.into(),
7971 }
7972 }
7973 unsafe extern "system" fn SetUIContextMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7974 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7975 let this = (*this).get_impl();
7976 this.SetUIContextMessage(::core::mem::transmute(&value)).into()
7977 }
7978 unsafe extern "system" fn SetPin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
7979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7980 let this = (*this).get_impl();
7981 this.SetPin(::core::mem::transmute(&value)).into()
7982 }
7983 unsafe extern "system" fn SignatureInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
7984 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
7985 let this = (*this).get_impl();
7986 match this.SignatureInformation() {
7987 ::core::result::Result::Ok(ok__) => {
7988 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
7989 ::windows::core::HRESULT(0)
7990 }
7991 ::core::result::Result::Err(err) => err.into(),
7992 }
7993 }
7994 Self {
7995 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
7996 Initialize: Initialize::<Identity, Impl, OFFSET>,
7997 get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
7998 PrivateKey: PrivateKey::<Identity, Impl, OFFSET>,
7999 Silent: Silent::<Identity, Impl, OFFSET>,
8000 SetSilent: SetSilent::<Identity, Impl, OFFSET>,
8001 ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
8002 SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
8003 UIContextMessage: UIContextMessage::<Identity, Impl, OFFSET>,
8004 SetUIContextMessage: SetUIContextMessage::<Identity, Impl, OFFSET>,
8005 SetPin: SetPin::<Identity, Impl, OFFSET>,
8006 SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
8007 }
8008 }
8009 pub fn matches(iid: &windows::core::GUID) -> bool {
8010 iid == &<ISignerCertificate as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8011 }
8012 }
8013 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8015 pub trait ISignerCertificates_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
8016 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ISignerCertificate>;
8017 fn Count(&self) -> ::windows::core::Result<i32>;
8018 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
8019 fn Add(&self, pval: ::core::option::Option<&ISignerCertificate>) -> ::windows::core::Result<()>;
8020 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
8021 fn Clear(&self) -> ::windows::core::Result<()>;
8022 fn Find(&self, psignercert: ::core::option::Option<&ISignerCertificate>) -> ::windows::core::Result<i32>;
8023 }
8024 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8025 impl ::windows::core::RuntimeName for ISignerCertificates {}
8026 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8027 impl ISignerCertificates_Vtbl {
8028 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>() -> ISignerCertificates_Vtbl {
8029 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8030 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8031 let this = (*this).get_impl();
8032 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
8033 ::core::result::Result::Ok(ok__) => {
8034 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8035 ::windows::core::HRESULT(0)
8036 }
8037 ::core::result::Result::Err(err) => err.into(),
8038 }
8039 }
8040 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
8041 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8042 let this = (*this).get_impl();
8043 match this.Count() {
8044 ::core::result::Result::Ok(ok__) => {
8045 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8046 ::windows::core::HRESULT(0)
8047 }
8048 ::core::result::Result::Err(err) => err.into(),
8049 }
8050 }
8051 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8052 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8053 let this = (*this).get_impl();
8054 match this._NewEnum() {
8055 ::core::result::Result::Ok(ok__) => {
8056 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8057 ::windows::core::HRESULT(0)
8058 }
8059 ::core::result::Result::Err(err) => err.into(),
8060 }
8061 }
8062 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8063 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8064 let this = (*this).get_impl();
8065 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
8066 }
8067 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
8068 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8069 let this = (*this).get_impl();
8070 this.Remove(::core::mem::transmute_copy(&index)).into()
8071 }
8072 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8073 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8074 let this = (*this).get_impl();
8075 this.Clear().into()
8076 }
8077 unsafe extern "system" fn Find<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISignerCertificates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psignercert: *mut ::core::ffi::c_void, pisignercert: *mut i32) -> ::windows::core::HRESULT {
8078 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8079 let this = (*this).get_impl();
8080 match this.Find(::windows::core::from_raw_borrowed(&psignercert)) {
8081 ::core::result::Result::Ok(ok__) => {
8082 ::core::ptr::write(pisignercert, ::core::mem::transmute(ok__));
8083 ::windows::core::HRESULT(0)
8084 }
8085 ::core::result::Result::Err(err) => err.into(),
8086 }
8087 }
8088 Self {
8089 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
8090 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
8091 Count: Count::<Identity, Impl, OFFSET>,
8092 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
8093 Add: Add::<Identity, Impl, OFFSET>,
8094 Remove: Remove::<Identity, Impl, OFFSET>,
8095 Clear: Clear::<Identity, Impl, OFFSET>,
8096 Find: Find::<Identity, Impl, OFFSET>,
8097 }
8098 }
8099 pub fn matches(iid: &windows::core::GUID) -> bool {
8100 iid == &<ISignerCertificates as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8101 }
8102 }
8103 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8104 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8105 pub trait ISmimeCapabilities_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
8106 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<ISmimeCapability>;
8107 fn Count(&self) -> ::windows::core::Result<i32>;
8108 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
8109 fn Add(&self, pval: ::core::option::Option<&ISmimeCapability>) -> ::windows::core::Result<()>;
8110 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
8111 fn Clear(&self) -> ::windows::core::Result<()>;
8112 fn AddFromCsp(&self, pvalue: ::core::option::Option<&ICspInformation>) -> ::windows::core::Result<()>;
8113 fn AddAvailableSmimeCapabilities(&self, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
8114 }
8115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8116 impl ::windows::core::RuntimeName for ISmimeCapabilities {}
8117 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8118 impl ISmimeCapabilities_Vtbl {
8119 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>() -> ISmimeCapabilities_Vtbl {
8120 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8121 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8122 let this = (*this).get_impl();
8123 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
8124 ::core::result::Result::Ok(ok__) => {
8125 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8126 ::windows::core::HRESULT(0)
8127 }
8128 ::core::result::Result::Err(err) => err.into(),
8129 }
8130 }
8131 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
8132 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8133 let this = (*this).get_impl();
8134 match this.Count() {
8135 ::core::result::Result::Ok(ok__) => {
8136 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8137 ::windows::core::HRESULT(0)
8138 }
8139 ::core::result::Result::Err(err) => err.into(),
8140 }
8141 }
8142 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8143 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8144 let this = (*this).get_impl();
8145 match this._NewEnum() {
8146 ::core::result::Result::Ok(ok__) => {
8147 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8148 ::windows::core::HRESULT(0)
8149 }
8150 ::core::result::Result::Err(err) => err.into(),
8151 }
8152 }
8153 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8154 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8155 let this = (*this).get_impl();
8156 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
8157 }
8158 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
8159 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8160 let this = (*this).get_impl();
8161 this.Remove(::core::mem::transmute_copy(&index)).into()
8162 }
8163 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8164 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8165 let this = (*this).get_impl();
8166 this.Clear().into()
8167 }
8168 unsafe extern "system" fn AddFromCsp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8169 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8170 let this = (*this).get_impl();
8171 this.AddFromCsp(::windows::core::from_raw_borrowed(&pvalue)).into()
8172 }
8173 unsafe extern "system" fn AddAvailableSmimeCapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, machinecontext: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
8174 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8175 let this = (*this).get_impl();
8176 this.AddAvailableSmimeCapabilities(::core::mem::transmute_copy(&machinecontext)).into()
8177 }
8178 Self {
8179 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
8180 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
8181 Count: Count::<Identity, Impl, OFFSET>,
8182 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
8183 Add: Add::<Identity, Impl, OFFSET>,
8184 Remove: Remove::<Identity, Impl, OFFSET>,
8185 Clear: Clear::<Identity, Impl, OFFSET>,
8186 AddFromCsp: AddFromCsp::<Identity, Impl, OFFSET>,
8187 AddAvailableSmimeCapabilities: AddAvailableSmimeCapabilities::<Identity, Impl, OFFSET>,
8188 }
8189 }
8190 pub fn matches(iid: &windows::core::GUID) -> bool {
8191 iid == &<ISmimeCapabilities as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8192 }
8193 }
8194 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8195 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8196 pub trait ISmimeCapability_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
8197 fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, bitcount: i32) -> ::windows::core::Result<()>;
8198 fn ObjectId(&self) -> ::windows::core::Result<IObjectId>;
8199 fn BitCount(&self) -> ::windows::core::Result<i32>;
8200 }
8201 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8202 impl ::windows::core::RuntimeName for ISmimeCapability {}
8203 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8204 impl ISmimeCapability_Vtbl {
8205 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>() -> ISmimeCapability_Vtbl {
8206 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, bitcount: i32) -> ::windows::core::HRESULT {
8207 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8208 let this = (*this).get_impl();
8209 this.Initialize(::windows::core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&bitcount)).into()
8210 }
8211 unsafe extern "system" fn ObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8212 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8213 let this = (*this).get_impl();
8214 match this.ObjectId() {
8215 ::core::result::Result::Ok(ok__) => {
8216 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
8217 ::windows::core::HRESULT(0)
8218 }
8219 ::core::result::Result::Err(err) => err.into(),
8220 }
8221 }
8222 unsafe extern "system" fn BitCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISmimeCapability_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
8223 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8224 let this = (*this).get_impl();
8225 match this.BitCount() {
8226 ::core::result::Result::Ok(ok__) => {
8227 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8228 ::windows::core::HRESULT(0)
8229 }
8230 ::core::result::Result::Err(err) => err.into(),
8231 }
8232 }
8233 Self {
8234 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
8235 Initialize: Initialize::<Identity, Impl, OFFSET>,
8236 ObjectId: ObjectId::<Identity, Impl, OFFSET>,
8237 BitCount: BitCount::<Identity, Impl, OFFSET>,
8238 }
8239 }
8240 pub fn matches(iid: &windows::core::GUID) -> bool {
8241 iid == &<ISmimeCapability as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8242 }
8243 }
8244 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8245 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8246 pub trait IX500DistinguishedName_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
8247 fn Decode(&self, strencodedname: &::windows::core::BSTR, encoding: EncodingType, nameflags: X500NameFlags) -> ::windows::core::Result<()>;
8248 fn Encode(&self, strname: &::windows::core::BSTR, nameflags: X500NameFlags) -> ::windows::core::Result<()>;
8249 fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8250 fn get_EncodedName(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8251 }
8252 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8253 impl ::windows::core::RuntimeName for IX500DistinguishedName {}
8254 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8255 impl IX500DistinguishedName_Vtbl {
8256 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>() -> IX500DistinguishedName_Vtbl {
8257 unsafe extern "system" fn Decode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodedname: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, nameflags: X500NameFlags) -> ::windows::core::HRESULT {
8258 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8259 let this = (*this).get_impl();
8260 this.Decode(::core::mem::transmute(&strencodedname), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&nameflags)).into()
8261 }
8262 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, nameflags: X500NameFlags) -> ::windows::core::HRESULT {
8263 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8264 let this = (*this).get_impl();
8265 this.Encode(::core::mem::transmute(&strname), ::core::mem::transmute_copy(&nameflags)).into()
8266 }
8267 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8268 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8269 let this = (*this).get_impl();
8270 match this.Name() {
8271 ::core::result::Result::Ok(ok__) => {
8272 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8273 ::windows::core::HRESULT(0)
8274 }
8275 ::core::result::Result::Err(err) => err.into(),
8276 }
8277 }
8278 unsafe extern "system" fn get_EncodedName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX500DistinguishedName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8279 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8280 let this = (*this).get_impl();
8281 match this.get_EncodedName(::core::mem::transmute_copy(&encoding)) {
8282 ::core::result::Result::Ok(ok__) => {
8283 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8284 ::windows::core::HRESULT(0)
8285 }
8286 ::core::result::Result::Err(err) => err.into(),
8287 }
8288 }
8289 Self {
8290 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
8291 Decode: Decode::<Identity, Impl, OFFSET>,
8292 Encode: Encode::<Identity, Impl, OFFSET>,
8293 Name: Name::<Identity, Impl, OFFSET>,
8294 get_EncodedName: get_EncodedName::<Identity, Impl, OFFSET>,
8295 }
8296 }
8297 pub fn matches(iid: &windows::core::GUID) -> bool {
8298 iid == &<IX500DistinguishedName as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8299 }
8300 }
8301 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8302 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8303 pub trait IX509Attribute_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
8304 fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8305 fn ObjectId(&self) -> ::windows::core::Result<IObjectId>;
8306 fn get_RawData(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8307 }
8308 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8309 impl ::windows::core::RuntimeName for IX509Attribute {}
8310 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8311 impl IX509Attribute_Vtbl {
8312 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>() -> IX509Attribute_Vtbl {
8313 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8314 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8315 let this = (*this).get_impl();
8316 this.Initialize(::windows::core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8317 }
8318 unsafe extern "system" fn ObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8319 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8320 let this = (*this).get_impl();
8321 match this.ObjectId() {
8322 ::core::result::Result::Ok(ok__) => {
8323 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
8324 ::windows::core::HRESULT(0)
8325 }
8326 ::core::result::Result::Err(err) => err.into(),
8327 }
8328 }
8329 unsafe extern "system" fn get_RawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attribute_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8330 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8331 let this = (*this).get_impl();
8332 match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
8333 ::core::result::Result::Ok(ok__) => {
8334 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8335 ::windows::core::HRESULT(0)
8336 }
8337 ::core::result::Result::Err(err) => err.into(),
8338 }
8339 }
8340 Self {
8341 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
8342 Initialize: Initialize::<Identity, Impl, OFFSET>,
8343 ObjectId: ObjectId::<Identity, Impl, OFFSET>,
8344 get_RawData: get_RawData::<Identity, Impl, OFFSET>,
8345 }
8346 }
8347 pub fn matches(iid: &windows::core::GUID) -> bool {
8348 iid == &<IX509Attribute as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8349 }
8350 }
8351 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8352 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8353 pub trait IX509AttributeArchiveKey_Impl: Sized + IX509Attribute_Impl {
8354 fn InitializeEncode(&self, pkey: ::core::option::Option<&IX509PrivateKey>, encoding: EncodingType, strcaxcert: &::windows::core::BSTR, palgorithm: ::core::option::Option<&IObjectId>, encryptionstrength: i32) -> ::windows::core::Result<()>;
8355 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8356 fn get_EncryptedKeyBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8357 fn EncryptionAlgorithm(&self) -> ::windows::core::Result<IObjectId>;
8358 fn EncryptionStrength(&self) -> ::windows::core::Result<i32>;
8359 }
8360 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8361 impl ::windows::core::RuntimeName for IX509AttributeArchiveKey {}
8362 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8363 impl IX509AttributeArchiveKey_Vtbl {
8364 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>() -> IX509AttributeArchiveKey_Vtbl {
8365 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkey: *mut ::core::ffi::c_void, encoding: EncodingType, strcaxcert: ::std::mem::MaybeUninit<::windows::core::BSTR>, palgorithm: *mut ::core::ffi::c_void, encryptionstrength: i32) -> ::windows::core::HRESULT {
8366 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8367 let this = (*this).get_impl();
8368 this.InitializeEncode(::windows::core::from_raw_borrowed(&pkey), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcaxcert), ::windows::core::from_raw_borrowed(&palgorithm), ::core::mem::transmute_copy(&encryptionstrength)).into()
8369 }
8370 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8371 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8372 let this = (*this).get_impl();
8373 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8374 }
8375 unsafe extern "system" fn get_EncryptedKeyBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8376 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8377 let this = (*this).get_impl();
8378 match this.get_EncryptedKeyBlob(::core::mem::transmute_copy(&encoding)) {
8379 ::core::result::Result::Ok(ok__) => {
8380 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8381 ::windows::core::HRESULT(0)
8382 }
8383 ::core::result::Result::Err(err) => err.into(),
8384 }
8385 }
8386 unsafe extern "system" fn EncryptionAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8387 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8388 let this = (*this).get_impl();
8389 match this.EncryptionAlgorithm() {
8390 ::core::result::Result::Ok(ok__) => {
8391 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
8392 ::windows::core::HRESULT(0)
8393 }
8394 ::core::result::Result::Err(err) => err.into(),
8395 }
8396 }
8397 unsafe extern "system" fn EncryptionStrength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
8398 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8399 let this = (*this).get_impl();
8400 match this.EncryptionStrength() {
8401 ::core::result::Result::Ok(ok__) => {
8402 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8403 ::windows::core::HRESULT(0)
8404 }
8405 ::core::result::Result::Err(err) => err.into(),
8406 }
8407 }
8408 Self {
8409 base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
8410 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
8411 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
8412 get_EncryptedKeyBlob: get_EncryptedKeyBlob::<Identity, Impl, OFFSET>,
8413 EncryptionAlgorithm: EncryptionAlgorithm::<Identity, Impl, OFFSET>,
8414 EncryptionStrength: EncryptionStrength::<Identity, Impl, OFFSET>,
8415 }
8416 }
8417 pub fn matches(iid: &windows::core::GUID) -> bool {
8418 iid == &<IX509AttributeArchiveKey as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Attribute as ::windows::core::ComInterface>::IID
8419 }
8420 }
8421 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8422 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8423 pub trait IX509AttributeArchiveKeyHash_Impl: Sized + IX509Attribute_Impl {
8424 fn InitializeEncodeFromEncryptedKeyBlob(&self, encoding: EncodingType, strencryptedkeyblob: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8425 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8426 fn get_EncryptedKeyHashBlob(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8427 }
8428 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8429 impl ::windows::core::RuntimeName for IX509AttributeArchiveKeyHash {}
8430 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8431 impl IX509AttributeArchiveKeyHash_Vtbl {
8432 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>() -> IX509AttributeArchiveKeyHash_Vtbl {
8433 unsafe extern "system" fn InitializeEncodeFromEncryptedKeyBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencryptedkeyblob: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8434 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8435 let this = (*this).get_impl();
8436 this.InitializeEncodeFromEncryptedKeyBlob(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencryptedkeyblob)).into()
8437 }
8438 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8439 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8440 let this = (*this).get_impl();
8441 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8442 }
8443 unsafe extern "system" fn get_EncryptedKeyHashBlob<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeArchiveKeyHash_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8444 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8445 let this = (*this).get_impl();
8446 match this.get_EncryptedKeyHashBlob(::core::mem::transmute_copy(&encoding)) {
8447 ::core::result::Result::Ok(ok__) => {
8448 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8449 ::windows::core::HRESULT(0)
8450 }
8451 ::core::result::Result::Err(err) => err.into(),
8452 }
8453 }
8454 Self {
8455 base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
8456 InitializeEncodeFromEncryptedKeyBlob: InitializeEncodeFromEncryptedKeyBlob::<Identity, Impl, OFFSET>,
8457 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
8458 get_EncryptedKeyHashBlob: get_EncryptedKeyHashBlob::<Identity, Impl, OFFSET>,
8459 }
8460 }
8461 pub fn matches(iid: &windows::core::GUID) -> bool {
8462 iid == &<IX509AttributeArchiveKeyHash as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Attribute as ::windows::core::ComInterface>::IID
8463 }
8464 }
8465 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8466 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8467 pub trait IX509AttributeClientId_Impl: Sized + IX509Attribute_Impl {
8468 fn InitializeEncode(&self, clientid: RequestClientInfoClientId, strmachinednsname: &::windows::core::BSTR, strusersamname: &::windows::core::BSTR, strprocessname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8469 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8470 fn ClientId(&self) -> ::windows::core::Result<RequestClientInfoClientId>;
8471 fn MachineDnsName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8472 fn UserSamName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8473 fn ProcessName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8474 }
8475 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8476 impl ::windows::core::RuntimeName for IX509AttributeClientId {}
8477 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8478 impl IX509AttributeClientId_Vtbl {
8479 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>() -> IX509AttributeClientId_Vtbl {
8480 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, clientid: RequestClientInfoClientId, strmachinednsname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strusersamname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strprocessname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8481 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8482 let this = (*this).get_impl();
8483 this.InitializeEncode(::core::mem::transmute_copy(&clientid), ::core::mem::transmute(&strmachinednsname), ::core::mem::transmute(&strusersamname), ::core::mem::transmute(&strprocessname)).into()
8484 }
8485 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8486 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8487 let this = (*this).get_impl();
8488 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8489 }
8490 unsafe extern "system" fn ClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut RequestClientInfoClientId) -> ::windows::core::HRESULT {
8491 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8492 let this = (*this).get_impl();
8493 match this.ClientId() {
8494 ::core::result::Result::Ok(ok__) => {
8495 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8496 ::windows::core::HRESULT(0)
8497 }
8498 ::core::result::Result::Err(err) => err.into(),
8499 }
8500 }
8501 unsafe extern "system" fn MachineDnsName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8502 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8503 let this = (*this).get_impl();
8504 match this.MachineDnsName() {
8505 ::core::result::Result::Ok(ok__) => {
8506 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8507 ::windows::core::HRESULT(0)
8508 }
8509 ::core::result::Result::Err(err) => err.into(),
8510 }
8511 }
8512 unsafe extern "system" fn UserSamName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8513 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8514 let this = (*this).get_impl();
8515 match this.UserSamName() {
8516 ::core::result::Result::Ok(ok__) => {
8517 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8518 ::windows::core::HRESULT(0)
8519 }
8520 ::core::result::Result::Err(err) => err.into(),
8521 }
8522 }
8523 unsafe extern "system" fn ProcessName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeClientId_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8524 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8525 let this = (*this).get_impl();
8526 match this.ProcessName() {
8527 ::core::result::Result::Ok(ok__) => {
8528 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8529 ::windows::core::HRESULT(0)
8530 }
8531 ::core::result::Result::Err(err) => err.into(),
8532 }
8533 }
8534 Self {
8535 base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
8536 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
8537 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
8538 ClientId: ClientId::<Identity, Impl, OFFSET>,
8539 MachineDnsName: MachineDnsName::<Identity, Impl, OFFSET>,
8540 UserSamName: UserSamName::<Identity, Impl, OFFSET>,
8541 ProcessName: ProcessName::<Identity, Impl, OFFSET>,
8542 }
8543 }
8544 pub fn matches(iid: &windows::core::GUID) -> bool {
8545 iid == &<IX509AttributeClientId as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Attribute as ::windows::core::ComInterface>::IID
8546 }
8547 }
8548 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8549 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8550 pub trait IX509AttributeCspProvider_Impl: Sized + IX509Attribute_Impl {
8551 fn InitializeEncode(&self, keyspec: X509KeySpec, strprovidername: &::windows::core::BSTR, encoding: EncodingType, strsignature: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8552 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8553 fn KeySpec(&self) -> ::windows::core::Result<X509KeySpec>;
8554 fn ProviderName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8555 fn get_Signature(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8556 }
8557 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8558 impl ::windows::core::RuntimeName for IX509AttributeCspProvider {}
8559 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8560 impl IX509AttributeCspProvider_Vtbl {
8561 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>() -> IX509AttributeCspProvider_Vtbl {
8562 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keyspec: X509KeySpec, strprovidername: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, strsignature: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8563 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8564 let this = (*this).get_impl();
8565 this.InitializeEncode(::core::mem::transmute_copy(&keyspec), ::core::mem::transmute(&strprovidername), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strsignature)).into()
8566 }
8567 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8568 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8569 let this = (*this).get_impl();
8570 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8571 }
8572 unsafe extern "system" fn KeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeySpec) -> ::windows::core::HRESULT {
8573 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8574 let this = (*this).get_impl();
8575 match this.KeySpec() {
8576 ::core::result::Result::Ok(ok__) => {
8577 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8578 ::windows::core::HRESULT(0)
8579 }
8580 ::core::result::Result::Err(err) => err.into(),
8581 }
8582 }
8583 unsafe extern "system" fn ProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8584 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8585 let this = (*this).get_impl();
8586 match this.ProviderName() {
8587 ::core::result::Result::Ok(ok__) => {
8588 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8589 ::windows::core::HRESULT(0)
8590 }
8591 ::core::result::Result::Err(err) => err.into(),
8592 }
8593 }
8594 unsafe extern "system" fn get_Signature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeCspProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8595 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8596 let this = (*this).get_impl();
8597 match this.get_Signature(::core::mem::transmute_copy(&encoding)) {
8598 ::core::result::Result::Ok(ok__) => {
8599 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8600 ::windows::core::HRESULT(0)
8601 }
8602 ::core::result::Result::Err(err) => err.into(),
8603 }
8604 }
8605 Self {
8606 base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
8607 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
8608 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
8609 KeySpec: KeySpec::<Identity, Impl, OFFSET>,
8610 ProviderName: ProviderName::<Identity, Impl, OFFSET>,
8611 get_Signature: get_Signature::<Identity, Impl, OFFSET>,
8612 }
8613 }
8614 pub fn matches(iid: &windows::core::GUID) -> bool {
8615 iid == &<IX509AttributeCspProvider as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Attribute as ::windows::core::ComInterface>::IID
8616 }
8617 }
8618 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8619 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8620 pub trait IX509AttributeExtensions_Impl: Sized + IX509Attribute_Impl {
8621 fn InitializeEncode(&self, pextensions: ::core::option::Option<&IX509Extensions>) -> ::windows::core::Result<()>;
8622 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8623 fn X509Extensions(&self) -> ::windows::core::Result<IX509Extensions>;
8624 }
8625 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8626 impl ::windows::core::RuntimeName for IX509AttributeExtensions {}
8627 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8628 impl IX509AttributeExtensions_Vtbl {
8629 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>() -> IX509AttributeExtensions_Vtbl {
8630 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextensions: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8631 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8632 let this = (*this).get_impl();
8633 this.InitializeEncode(::windows::core::from_raw_borrowed(&pextensions)).into()
8634 }
8635 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8636 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8637 let this = (*this).get_impl();
8638 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8639 }
8640 unsafe extern "system" fn X509Extensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8641 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8642 let this = (*this).get_impl();
8643 match this.X509Extensions() {
8644 ::core::result::Result::Ok(ok__) => {
8645 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
8646 ::windows::core::HRESULT(0)
8647 }
8648 ::core::result::Result::Err(err) => err.into(),
8649 }
8650 }
8651 Self {
8652 base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
8653 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
8654 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
8655 X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
8656 }
8657 }
8658 pub fn matches(iid: &windows::core::GUID) -> bool {
8659 iid == &<IX509AttributeExtensions as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Attribute as ::windows::core::ComInterface>::IID
8660 }
8661 }
8662 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8663 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8664 pub trait IX509AttributeOSVersion_Impl: Sized + IX509Attribute_Impl {
8665 fn InitializeEncode(&self, strosversion: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8666 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8667 fn OSVersion(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8668 }
8669 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8670 impl ::windows::core::RuntimeName for IX509AttributeOSVersion {}
8671 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8672 impl IX509AttributeOSVersion_Vtbl {
8673 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>() -> IX509AttributeOSVersion_Vtbl {
8674 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strosversion: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8675 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8676 let this = (*this).get_impl();
8677 this.InitializeEncode(::core::mem::transmute(&strosversion)).into()
8678 }
8679 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8680 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8681 let this = (*this).get_impl();
8682 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8683 }
8684 unsafe extern "system" fn OSVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeOSVersion_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8686 let this = (*this).get_impl();
8687 match this.OSVersion() {
8688 ::core::result::Result::Ok(ok__) => {
8689 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8690 ::windows::core::HRESULT(0)
8691 }
8692 ::core::result::Result::Err(err) => err.into(),
8693 }
8694 }
8695 Self {
8696 base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
8697 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
8698 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
8699 OSVersion: OSVersion::<Identity, Impl, OFFSET>,
8700 }
8701 }
8702 pub fn matches(iid: &windows::core::GUID) -> bool {
8703 iid == &<IX509AttributeOSVersion as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Attribute as ::windows::core::ComInterface>::IID
8704 }
8705 }
8706 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8707 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8708 pub trait IX509AttributeRenewalCertificate_Impl: Sized + IX509Attribute_Impl {
8709 fn InitializeEncode(&self, encoding: EncodingType, strcert: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8710 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8711 fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8712 }
8713 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8714 impl ::windows::core::RuntimeName for IX509AttributeRenewalCertificate {}
8715 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8716 impl IX509AttributeRenewalCertificate_Vtbl {
8717 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>() -> IX509AttributeRenewalCertificate_Vtbl {
8718 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strcert: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8719 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8720 let this = (*this).get_impl();
8721 this.InitializeEncode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcert)).into()
8722 }
8723 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8724 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8725 let this = (*this).get_impl();
8726 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
8727 }
8728 unsafe extern "system" fn get_RenewalCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509AttributeRenewalCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8729 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8730 let this = (*this).get_impl();
8731 match this.get_RenewalCertificate(::core::mem::transmute_copy(&encoding)) {
8732 ::core::result::Result::Ok(ok__) => {
8733 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8734 ::windows::core::HRESULT(0)
8735 }
8736 ::core::result::Result::Err(err) => err.into(),
8737 }
8738 }
8739 Self {
8740 base__: IX509Attribute_Vtbl::new::<Identity, Impl, OFFSET>(),
8741 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
8742 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
8743 get_RenewalCertificate: get_RenewalCertificate::<Identity, Impl, OFFSET>,
8744 }
8745 }
8746 pub fn matches(iid: &windows::core::GUID) -> bool {
8747 iid == &<IX509AttributeRenewalCertificate as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Attribute as ::windows::core::ComInterface>::IID
8748 }
8749 }
8750 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8751 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8752 pub trait IX509Attributes_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
8753 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IX509Attribute>;
8754 fn Count(&self) -> ::windows::core::Result<i32>;
8755 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
8756 fn Add(&self, pval: ::core::option::Option<&IX509Attribute>) -> ::windows::core::Result<()>;
8757 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
8758 fn Clear(&self) -> ::windows::core::Result<()>;
8759 }
8760 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8761 impl ::windows::core::RuntimeName for IX509Attributes {}
8762 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8763 impl IX509Attributes_Vtbl {
8764 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>() -> IX509Attributes_Vtbl {
8765 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8766 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8767 let this = (*this).get_impl();
8768 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
8769 ::core::result::Result::Ok(ok__) => {
8770 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8771 ::windows::core::HRESULT(0)
8772 }
8773 ::core::result::Result::Err(err) => err.into(),
8774 }
8775 }
8776 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
8777 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8778 let this = (*this).get_impl();
8779 match this.Count() {
8780 ::core::result::Result::Ok(ok__) => {
8781 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8782 ::windows::core::HRESULT(0)
8783 }
8784 ::core::result::Result::Err(err) => err.into(),
8785 }
8786 }
8787 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8788 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8789 let this = (*this).get_impl();
8790 match this._NewEnum() {
8791 ::core::result::Result::Ok(ok__) => {
8792 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
8793 ::windows::core::HRESULT(0)
8794 }
8795 ::core::result::Result::Err(err) => err.into(),
8796 }
8797 }
8798 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8799 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8800 let this = (*this).get_impl();
8801 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
8802 }
8803 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
8804 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8805 let this = (*this).get_impl();
8806 this.Remove(::core::mem::transmute_copy(&index)).into()
8807 }
8808 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Attributes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8809 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8810 let this = (*this).get_impl();
8811 this.Clear().into()
8812 }
8813 Self {
8814 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
8815 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
8816 Count: Count::<Identity, Impl, OFFSET>,
8817 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
8818 Add: Add::<Identity, Impl, OFFSET>,
8819 Remove: Remove::<Identity, Impl, OFFSET>,
8820 Clear: Clear::<Identity, Impl, OFFSET>,
8821 }
8822 }
8823 pub fn matches(iid: &windows::core::GUID) -> bool {
8824 iid == &<IX509Attributes as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
8825 }
8826 }
8827 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
8828 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8829 pub trait IX509CertificateRequest_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
8830 fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
8831 fn Encode(&self) -> ::windows::core::Result<()>;
8832 fn ResetForEncode(&self) -> ::windows::core::Result<()>;
8833 fn GetInnerRequest(&self, level: InnerRequestLevel) -> ::windows::core::Result<IX509CertificateRequest>;
8834 fn Type(&self) -> ::windows::core::Result<X509RequestType>;
8835 fn EnrollmentContext(&self) -> ::windows::core::Result<X509CertificateEnrollmentContext>;
8836 fn Silent(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
8837 fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
8838 fn ParentWindow(&self) -> ::windows::core::Result<i32>;
8839 fn SetParentWindow(&self, value: i32) -> ::windows::core::Result<()>;
8840 fn UIContextMessage(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8841 fn SetUIContextMessage(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8842 fn SuppressDefaults(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
8843 fn SetSuppressDefaults(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
8844 fn get_RenewalCertificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8845 fn put_RenewalCertificate(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
8846 fn ClientId(&self) -> ::windows::core::Result<RequestClientInfoClientId>;
8847 fn SetClientId(&self, value: RequestClientInfoClientId) -> ::windows::core::Result<()>;
8848 fn CspInformations(&self) -> ::windows::core::Result<ICspInformations>;
8849 fn SetCspInformations(&self, pvalue: ::core::option::Option<&ICspInformations>) -> ::windows::core::Result<()>;
8850 fn HashAlgorithm(&self) -> ::windows::core::Result<IObjectId>;
8851 fn SetHashAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
8852 fn AlternateSignatureAlgorithm(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
8853 fn SetAlternateSignatureAlgorithm(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
8854 fn get_RawData(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
8855 }
8856 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8857 impl ::windows::core::RuntimeName for IX509CertificateRequest {}
8858 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8859 impl IX509CertificateRequest_Vtbl {
8860 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>() -> IX509CertificateRequest_Vtbl {
8861 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
8862 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8863 let this = (*this).get_impl();
8864 this.Initialize(::core::mem::transmute_copy(&context)).into()
8865 }
8866 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8867 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8868 let this = (*this).get_impl();
8869 this.Encode().into()
8870 }
8871 unsafe extern "system" fn ResetForEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8872 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8873 let this = (*this).get_impl();
8874 this.ResetForEncode().into()
8875 }
8876 unsafe extern "system" fn GetInnerRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, level: InnerRequestLevel, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
8877 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8878 let this = (*this).get_impl();
8879 match this.GetInnerRequest(::core::mem::transmute_copy(&level)) {
8880 ::core::result::Result::Ok(ok__) => {
8881 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
8882 ::windows::core::HRESULT(0)
8883 }
8884 ::core::result::Result::Err(err) => err.into(),
8885 }
8886 }
8887 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509RequestType) -> ::windows::core::HRESULT {
8888 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8889 let this = (*this).get_impl();
8890 match this.Type() {
8891 ::core::result::Result::Ok(ok__) => {
8892 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8893 ::windows::core::HRESULT(0)
8894 }
8895 ::core::result::Result::Err(err) => err.into(),
8896 }
8897 }
8898 unsafe extern "system" fn EnrollmentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
8899 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8900 let this = (*this).get_impl();
8901 match this.EnrollmentContext() {
8902 ::core::result::Result::Ok(ok__) => {
8903 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8904 ::windows::core::HRESULT(0)
8905 }
8906 ::core::result::Result::Err(err) => err.into(),
8907 }
8908 }
8909 unsafe extern "system" fn Silent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
8910 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8911 let this = (*this).get_impl();
8912 match this.Silent() {
8913 ::core::result::Result::Ok(ok__) => {
8914 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8915 ::windows::core::HRESULT(0)
8916 }
8917 ::core::result::Result::Err(err) => err.into(),
8918 }
8919 }
8920 unsafe extern "system" fn SetSilent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
8921 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8922 let this = (*this).get_impl();
8923 this.SetSilent(::core::mem::transmute_copy(&value)).into()
8924 }
8925 unsafe extern "system" fn ParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
8926 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8927 let this = (*this).get_impl();
8928 match this.ParentWindow() {
8929 ::core::result::Result::Ok(ok__) => {
8930 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8931 ::windows::core::HRESULT(0)
8932 }
8933 ::core::result::Result::Err(err) => err.into(),
8934 }
8935 }
8936 unsafe extern "system" fn SetParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
8937 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8938 let this = (*this).get_impl();
8939 this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
8940 }
8941 unsafe extern "system" fn UIContextMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8943 let this = (*this).get_impl();
8944 match this.UIContextMessage() {
8945 ::core::result::Result::Ok(ok__) => {
8946 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8947 ::windows::core::HRESULT(0)
8948 }
8949 ::core::result::Result::Err(err) => err.into(),
8950 }
8951 }
8952 unsafe extern "system" fn SetUIContextMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8953 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8954 let this = (*this).get_impl();
8955 this.SetUIContextMessage(::core::mem::transmute(&value)).into()
8956 }
8957 unsafe extern "system" fn SuppressDefaults<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
8958 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8959 let this = (*this).get_impl();
8960 match this.SuppressDefaults() {
8961 ::core::result::Result::Ok(ok__) => {
8962 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8963 ::windows::core::HRESULT(0)
8964 }
8965 ::core::result::Result::Err(err) => err.into(),
8966 }
8967 }
8968 unsafe extern "system" fn SetSuppressDefaults<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
8969 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8970 let this = (*this).get_impl();
8971 this.SetSuppressDefaults(::core::mem::transmute_copy(&value)).into()
8972 }
8973 unsafe extern "system" fn get_RenewalCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8974 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8975 let this = (*this).get_impl();
8976 match this.get_RenewalCertificate(::core::mem::transmute_copy(&encoding)) {
8977 ::core::result::Result::Ok(ok__) => {
8978 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8979 ::windows::core::HRESULT(0)
8980 }
8981 ::core::result::Result::Err(err) => err.into(),
8982 }
8983 }
8984 unsafe extern "system" fn put_RenewalCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
8985 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8986 let this = (*this).get_impl();
8987 this.put_RenewalCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
8988 }
8989 unsafe extern "system" fn ClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut RequestClientInfoClientId) -> ::windows::core::HRESULT {
8990 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
8991 let this = (*this).get_impl();
8992 match this.ClientId() {
8993 ::core::result::Result::Ok(ok__) => {
8994 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
8995 ::windows::core::HRESULT(0)
8996 }
8997 ::core::result::Result::Err(err) => err.into(),
8998 }
8999 }
9000 unsafe extern "system" fn SetClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: RequestClientInfoClientId) -> ::windows::core::HRESULT {
9001 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9002 let this = (*this).get_impl();
9003 this.SetClientId(::core::mem::transmute_copy(&value)).into()
9004 }
9005 unsafe extern "system" fn CspInformations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9006 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9007 let this = (*this).get_impl();
9008 match this.CspInformations() {
9009 ::core::result::Result::Ok(ok__) => {
9010 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9011 ::windows::core::HRESULT(0)
9012 }
9013 ::core::result::Result::Err(err) => err.into(),
9014 }
9015 }
9016 unsafe extern "system" fn SetCspInformations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9017 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9018 let this = (*this).get_impl();
9019 this.SetCspInformations(::windows::core::from_raw_borrowed(&pvalue)).into()
9020 }
9021 unsafe extern "system" fn HashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9022 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9023 let this = (*this).get_impl();
9024 match this.HashAlgorithm() {
9025 ::core::result::Result::Ok(ok__) => {
9026 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9027 ::windows::core::HRESULT(0)
9028 }
9029 ::core::result::Result::Err(err) => err.into(),
9030 }
9031 }
9032 unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9033 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9034 let this = (*this).get_impl();
9035 this.SetHashAlgorithm(::windows::core::from_raw_borrowed(&pvalue)).into()
9036 }
9037 unsafe extern "system" fn AlternateSignatureAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9038 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9039 let this = (*this).get_impl();
9040 match this.AlternateSignatureAlgorithm() {
9041 ::core::result::Result::Ok(ok__) => {
9042 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9043 ::windows::core::HRESULT(0)
9044 }
9045 ::core::result::Result::Err(err) => err.into(),
9046 }
9047 }
9048 unsafe extern "system" fn SetAlternateSignatureAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9049 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9050 let this = (*this).get_impl();
9051 this.SetAlternateSignatureAlgorithm(::core::mem::transmute_copy(&value)).into()
9052 }
9053 unsafe extern "system" fn get_RawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequest_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9054 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9055 let this = (*this).get_impl();
9056 match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
9057 ::core::result::Result::Ok(ok__) => {
9058 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9059 ::windows::core::HRESULT(0)
9060 }
9061 ::core::result::Result::Err(err) => err.into(),
9062 }
9063 }
9064 Self {
9065 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
9066 Initialize: Initialize::<Identity, Impl, OFFSET>,
9067 Encode: Encode::<Identity, Impl, OFFSET>,
9068 ResetForEncode: ResetForEncode::<Identity, Impl, OFFSET>,
9069 GetInnerRequest: GetInnerRequest::<Identity, Impl, OFFSET>,
9070 Type: Type::<Identity, Impl, OFFSET>,
9071 EnrollmentContext: EnrollmentContext::<Identity, Impl, OFFSET>,
9072 Silent: Silent::<Identity, Impl, OFFSET>,
9073 SetSilent: SetSilent::<Identity, Impl, OFFSET>,
9074 ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
9075 SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
9076 UIContextMessage: UIContextMessage::<Identity, Impl, OFFSET>,
9077 SetUIContextMessage: SetUIContextMessage::<Identity, Impl, OFFSET>,
9078 SuppressDefaults: SuppressDefaults::<Identity, Impl, OFFSET>,
9079 SetSuppressDefaults: SetSuppressDefaults::<Identity, Impl, OFFSET>,
9080 get_RenewalCertificate: get_RenewalCertificate::<Identity, Impl, OFFSET>,
9081 put_RenewalCertificate: put_RenewalCertificate::<Identity, Impl, OFFSET>,
9082 ClientId: ClientId::<Identity, Impl, OFFSET>,
9083 SetClientId: SetClientId::<Identity, Impl, OFFSET>,
9084 CspInformations: CspInformations::<Identity, Impl, OFFSET>,
9085 SetCspInformations: SetCspInformations::<Identity, Impl, OFFSET>,
9086 HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
9087 SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
9088 AlternateSignatureAlgorithm: AlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
9089 SetAlternateSignatureAlgorithm: SetAlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
9090 get_RawData: get_RawData::<Identity, Impl, OFFSET>,
9091 }
9092 }
9093 pub fn matches(iid: &windows::core::GUID) -> bool {
9094 iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
9095 }
9096 }
9097 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
9098 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9099 pub trait IX509CertificateRequestCertificate_Impl: Sized + IX509CertificateRequestPkcs10_Impl {
9100 fn CheckPublicKeySignature(&self, ppublickey: ::core::option::Option<&IX509PublicKey>) -> ::windows::core::Result<()>;
9101 fn Issuer(&self) -> ::windows::core::Result<IX500DistinguishedName>;
9102 fn SetIssuer(&self, pvalue: ::core::option::Option<&IX500DistinguishedName>) -> ::windows::core::Result<()>;
9103 fn NotBefore(&self) -> ::windows::core::Result<f64>;
9104 fn SetNotBefore(&self, value: f64) -> ::windows::core::Result<()>;
9105 fn NotAfter(&self) -> ::windows::core::Result<f64>;
9106 fn SetNotAfter(&self, value: f64) -> ::windows::core::Result<()>;
9107 fn get_SerialNumber(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
9108 fn put_SerialNumber(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9109 fn SignerCertificate(&self) -> ::windows::core::Result<ISignerCertificate>;
9110 fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows::core::Result<()>;
9111 }
9112 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9113 impl ::windows::core::RuntimeName for IX509CertificateRequestCertificate {}
9114 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9115 impl IX509CertificateRequestCertificate_Vtbl {
9116 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>() -> IX509CertificateRequestCertificate_Vtbl {
9117 unsafe extern "system" fn CheckPublicKeySignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppublickey: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9118 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9119 let this = (*this).get_impl();
9120 this.CheckPublicKeySignature(::windows::core::from_raw_borrowed(&ppublickey)).into()
9121 }
9122 unsafe extern "system" fn Issuer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9123 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9124 let this = (*this).get_impl();
9125 match this.Issuer() {
9126 ::core::result::Result::Ok(ok__) => {
9127 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9128 ::windows::core::HRESULT(0)
9129 }
9130 ::core::result::Result::Err(err) => err.into(),
9131 }
9132 }
9133 unsafe extern "system" fn SetIssuer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9134 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9135 let this = (*this).get_impl();
9136 this.SetIssuer(::windows::core::from_raw_borrowed(&pvalue)).into()
9137 }
9138 unsafe extern "system" fn NotBefore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows::core::HRESULT {
9139 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9140 let this = (*this).get_impl();
9141 match this.NotBefore() {
9142 ::core::result::Result::Ok(ok__) => {
9143 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9144 ::windows::core::HRESULT(0)
9145 }
9146 ::core::result::Result::Err(err) => err.into(),
9147 }
9148 }
9149 unsafe extern "system" fn SetNotBefore<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT {
9150 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9151 let this = (*this).get_impl();
9152 this.SetNotBefore(::core::mem::transmute_copy(&value)).into()
9153 }
9154 unsafe extern "system" fn NotAfter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows::core::HRESULT {
9155 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9156 let this = (*this).get_impl();
9157 match this.NotAfter() {
9158 ::core::result::Result::Ok(ok__) => {
9159 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9160 ::windows::core::HRESULT(0)
9161 }
9162 ::core::result::Result::Err(err) => err.into(),
9163 }
9164 }
9165 unsafe extern "system" fn SetNotAfter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT {
9166 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9167 let this = (*this).get_impl();
9168 this.SetNotAfter(::core::mem::transmute_copy(&value)).into()
9169 }
9170 unsafe extern "system" fn get_SerialNumber<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9171 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9172 let this = (*this).get_impl();
9173 match this.get_SerialNumber(::core::mem::transmute_copy(&encoding)) {
9174 ::core::result::Result::Ok(ok__) => {
9175 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9176 ::windows::core::HRESULT(0)
9177 }
9178 ::core::result::Result::Err(err) => err.into(),
9179 }
9180 }
9181 unsafe extern "system" fn put_SerialNumber<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9182 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9183 let this = (*this).get_impl();
9184 this.put_SerialNumber(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
9185 }
9186 unsafe extern "system" fn SignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9187 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9188 let this = (*this).get_impl();
9189 match this.SignerCertificate() {
9190 ::core::result::Result::Ok(ok__) => {
9191 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9192 ::windows::core::HRESULT(0)
9193 }
9194 ::core::result::Result::Err(err) => err.into(),
9195 }
9196 }
9197 unsafe extern "system" fn SetSignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9198 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9199 let this = (*this).get_impl();
9200 this.SetSignerCertificate(::windows::core::from_raw_borrowed(&pvalue)).into()
9201 }
9202 Self {
9203 base__: IX509CertificateRequestPkcs10_Vtbl::new::<Identity, Impl, OFFSET>(),
9204 CheckPublicKeySignature: CheckPublicKeySignature::<Identity, Impl, OFFSET>,
9205 Issuer: Issuer::<Identity, Impl, OFFSET>,
9206 SetIssuer: SetIssuer::<Identity, Impl, OFFSET>,
9207 NotBefore: NotBefore::<Identity, Impl, OFFSET>,
9208 SetNotBefore: SetNotBefore::<Identity, Impl, OFFSET>,
9209 NotAfter: NotAfter::<Identity, Impl, OFFSET>,
9210 SetNotAfter: SetNotAfter::<Identity, Impl, OFFSET>,
9211 get_SerialNumber: get_SerialNumber::<Identity, Impl, OFFSET>,
9212 put_SerialNumber: put_SerialNumber::<Identity, Impl, OFFSET>,
9213 SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
9214 SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
9215 }
9216 }
9217 pub fn matches(iid: &windows::core::GUID) -> bool {
9218 iid == &<IX509CertificateRequestCertificate as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows::core::ComInterface>::IID
9219 }
9220 }
9221 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
9222 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9223 pub trait IX509CertificateRequestCertificate2_Impl: Sized + IX509CertificateRequestCertificate_Impl {
9224 fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
9225 fn InitializeFromPrivateKeyTemplate(&self, context: X509CertificateEnrollmentContext, pprivatekey: ::core::option::Option<&IX509PrivateKey>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
9226 fn PolicyServer(&self) -> ::windows::core::Result<IX509EnrollmentPolicyServer>;
9227 fn Template(&self) -> ::windows::core::Result<IX509CertificateTemplate>;
9228 }
9229 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9230 impl ::windows::core::RuntimeName for IX509CertificateRequestCertificate2 {}
9231 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9232 impl IX509CertificateRequestCertificate2_Vtbl {
9233 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>() -> IX509CertificateRequestCertificate2_Vtbl {
9234 unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9235 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9236 let this = (*this).get_impl();
9237 this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
9238 }
9239 unsafe extern "system" fn InitializeFromPrivateKeyTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, pprivatekey: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9240 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9241 let this = (*this).get_impl();
9242 this.InitializeFromPrivateKeyTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&pprivatekey), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
9243 }
9244 unsafe extern "system" fn PolicyServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9245 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9246 let this = (*this).get_impl();
9247 match this.PolicyServer() {
9248 ::core::result::Result::Ok(ok__) => {
9249 ::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
9250 ::windows::core::HRESULT(0)
9251 }
9252 ::core::result::Result::Err(err) => err.into(),
9253 }
9254 }
9255 unsafe extern "system" fn Template<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCertificate2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9256 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9257 let this = (*this).get_impl();
9258 match this.Template() {
9259 ::core::result::Result::Ok(ok__) => {
9260 ::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
9261 ::windows::core::HRESULT(0)
9262 }
9263 ::core::result::Result::Err(err) => err.into(),
9264 }
9265 }
9266 Self {
9267 base__: IX509CertificateRequestCertificate_Vtbl::new::<Identity, Impl, OFFSET>(),
9268 InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
9269 InitializeFromPrivateKeyTemplate: InitializeFromPrivateKeyTemplate::<Identity, Impl, OFFSET>,
9270 PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
9271 Template: Template::<Identity, Impl, OFFSET>,
9272 }
9273 }
9274 pub fn matches(iid: &windows::core::GUID) -> bool {
9275 iid == &<IX509CertificateRequestCertificate2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestCertificate as ::windows::core::ComInterface>::IID
9276 }
9277 }
9278 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
9279 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9280 pub trait IX509CertificateRequestCmc_Impl: Sized + IX509CertificateRequestPkcs7_Impl {
9281 fn InitializeFromInnerRequestTemplateName(&self, pinnerrequest: ::core::option::Option<&IX509CertificateRequest>, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9282 fn TemplateObjectId(&self) -> ::windows::core::Result<IObjectId>;
9283 fn NullSigned(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
9284 fn CryptAttributes(&self) -> ::windows::core::Result<ICryptAttributes>;
9285 fn NameValuePairs(&self) -> ::windows::core::Result<IX509NameValuePairs>;
9286 fn X509Extensions(&self) -> ::windows::core::Result<IX509Extensions>;
9287 fn CriticalExtensions(&self) -> ::windows::core::Result<IObjectIds>;
9288 fn SuppressOids(&self) -> ::windows::core::Result<IObjectIds>;
9289 fn TransactionId(&self) -> ::windows::core::Result<i32>;
9290 fn SetTransactionId(&self, value: i32) -> ::windows::core::Result<()>;
9291 fn get_SenderNonce(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
9292 fn put_SenderNonce(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9293 fn SignatureInformation(&self) -> ::windows::core::Result<IX509SignatureInformation>;
9294 fn ArchivePrivateKey(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
9295 fn SetArchivePrivateKey(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
9296 fn get_KeyArchivalCertificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
9297 fn put_KeyArchivalCertificate(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9298 fn EncryptionAlgorithm(&self) -> ::windows::core::Result<IObjectId>;
9299 fn SetEncryptionAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
9300 fn EncryptionStrength(&self) -> ::windows::core::Result<i32>;
9301 fn SetEncryptionStrength(&self, value: i32) -> ::windows::core::Result<()>;
9302 fn get_EncryptedKeyHash(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
9303 fn SignerCertificates(&self) -> ::windows::core::Result<ISignerCertificates>;
9304 }
9305 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9306 impl ::windows::core::RuntimeName for IX509CertificateRequestCmc {}
9307 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9308 impl IX509CertificateRequestCmc_Vtbl {
9309 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>() -> IX509CertificateRequestCmc_Vtbl {
9310 unsafe extern "system" fn InitializeFromInnerRequestTemplateName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinnerrequest: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9311 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9312 let this = (*this).get_impl();
9313 this.InitializeFromInnerRequestTemplateName(::windows::core::from_raw_borrowed(&pinnerrequest), ::core::mem::transmute(&strtemplatename)).into()
9314 }
9315 unsafe extern "system" fn TemplateObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9316 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9317 let this = (*this).get_impl();
9318 match this.TemplateObjectId() {
9319 ::core::result::Result::Ok(ok__) => {
9320 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9321 ::windows::core::HRESULT(0)
9322 }
9323 ::core::result::Result::Err(err) => err.into(),
9324 }
9325 }
9326 unsafe extern "system" fn NullSigned<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9327 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9328 let this = (*this).get_impl();
9329 match this.NullSigned() {
9330 ::core::result::Result::Ok(ok__) => {
9331 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9332 ::windows::core::HRESULT(0)
9333 }
9334 ::core::result::Result::Err(err) => err.into(),
9335 }
9336 }
9337 unsafe extern "system" fn CryptAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9338 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9339 let this = (*this).get_impl();
9340 match this.CryptAttributes() {
9341 ::core::result::Result::Ok(ok__) => {
9342 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9343 ::windows::core::HRESULT(0)
9344 }
9345 ::core::result::Result::Err(err) => err.into(),
9346 }
9347 }
9348 unsafe extern "system" fn NameValuePairs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9349 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9350 let this = (*this).get_impl();
9351 match this.NameValuePairs() {
9352 ::core::result::Result::Ok(ok__) => {
9353 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9354 ::windows::core::HRESULT(0)
9355 }
9356 ::core::result::Result::Err(err) => err.into(),
9357 }
9358 }
9359 unsafe extern "system" fn X509Extensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9360 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9361 let this = (*this).get_impl();
9362 match this.X509Extensions() {
9363 ::core::result::Result::Ok(ok__) => {
9364 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9365 ::windows::core::HRESULT(0)
9366 }
9367 ::core::result::Result::Err(err) => err.into(),
9368 }
9369 }
9370 unsafe extern "system" fn CriticalExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9371 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9372 let this = (*this).get_impl();
9373 match this.CriticalExtensions() {
9374 ::core::result::Result::Ok(ok__) => {
9375 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9376 ::windows::core::HRESULT(0)
9377 }
9378 ::core::result::Result::Err(err) => err.into(),
9379 }
9380 }
9381 unsafe extern "system" fn SuppressOids<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9382 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9383 let this = (*this).get_impl();
9384 match this.SuppressOids() {
9385 ::core::result::Result::Ok(ok__) => {
9386 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9387 ::windows::core::HRESULT(0)
9388 }
9389 ::core::result::Result::Err(err) => err.into(),
9390 }
9391 }
9392 unsafe extern "system" fn TransactionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
9393 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9394 let this = (*this).get_impl();
9395 match this.TransactionId() {
9396 ::core::result::Result::Ok(ok__) => {
9397 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9398 ::windows::core::HRESULT(0)
9399 }
9400 ::core::result::Result::Err(err) => err.into(),
9401 }
9402 }
9403 unsafe extern "system" fn SetTransactionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
9404 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9405 let this = (*this).get_impl();
9406 this.SetTransactionId(::core::mem::transmute_copy(&value)).into()
9407 }
9408 unsafe extern "system" fn get_SenderNonce<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9409 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9410 let this = (*this).get_impl();
9411 match this.get_SenderNonce(::core::mem::transmute_copy(&encoding)) {
9412 ::core::result::Result::Ok(ok__) => {
9413 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9414 ::windows::core::HRESULT(0)
9415 }
9416 ::core::result::Result::Err(err) => err.into(),
9417 }
9418 }
9419 unsafe extern "system" fn put_SenderNonce<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9420 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9421 let this = (*this).get_impl();
9422 this.put_SenderNonce(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
9423 }
9424 unsafe extern "system" fn SignatureInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9425 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9426 let this = (*this).get_impl();
9427 match this.SignatureInformation() {
9428 ::core::result::Result::Ok(ok__) => {
9429 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9430 ::windows::core::HRESULT(0)
9431 }
9432 ::core::result::Result::Err(err) => err.into(),
9433 }
9434 }
9435 unsafe extern "system" fn ArchivePrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9436 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9437 let this = (*this).get_impl();
9438 match this.ArchivePrivateKey() {
9439 ::core::result::Result::Ok(ok__) => {
9440 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9441 ::windows::core::HRESULT(0)
9442 }
9443 ::core::result::Result::Err(err) => err.into(),
9444 }
9445 }
9446 unsafe extern "system" fn SetArchivePrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9447 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9448 let this = (*this).get_impl();
9449 this.SetArchivePrivateKey(::core::mem::transmute_copy(&value)).into()
9450 }
9451 unsafe extern "system" fn get_KeyArchivalCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9452 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9453 let this = (*this).get_impl();
9454 match this.get_KeyArchivalCertificate(::core::mem::transmute_copy(&encoding)) {
9455 ::core::result::Result::Ok(ok__) => {
9456 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9457 ::windows::core::HRESULT(0)
9458 }
9459 ::core::result::Result::Err(err) => err.into(),
9460 }
9461 }
9462 unsafe extern "system" fn put_KeyArchivalCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9463 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9464 let this = (*this).get_impl();
9465 this.put_KeyArchivalCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
9466 }
9467 unsafe extern "system" fn EncryptionAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9468 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9469 let this = (*this).get_impl();
9470 match this.EncryptionAlgorithm() {
9471 ::core::result::Result::Ok(ok__) => {
9472 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9473 ::windows::core::HRESULT(0)
9474 }
9475 ::core::result::Result::Err(err) => err.into(),
9476 }
9477 }
9478 unsafe extern "system" fn SetEncryptionAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9479 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9480 let this = (*this).get_impl();
9481 this.SetEncryptionAlgorithm(::windows::core::from_raw_borrowed(&pvalue)).into()
9482 }
9483 unsafe extern "system" fn EncryptionStrength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
9484 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9485 let this = (*this).get_impl();
9486 match this.EncryptionStrength() {
9487 ::core::result::Result::Ok(ok__) => {
9488 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9489 ::windows::core::HRESULT(0)
9490 }
9491 ::core::result::Result::Err(err) => err.into(),
9492 }
9493 }
9494 unsafe extern "system" fn SetEncryptionStrength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
9495 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9496 let this = (*this).get_impl();
9497 this.SetEncryptionStrength(::core::mem::transmute_copy(&value)).into()
9498 }
9499 unsafe extern "system" fn get_EncryptedKeyHash<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9500 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9501 let this = (*this).get_impl();
9502 match this.get_EncryptedKeyHash(::core::mem::transmute_copy(&encoding)) {
9503 ::core::result::Result::Ok(ok__) => {
9504 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9505 ::windows::core::HRESULT(0)
9506 }
9507 ::core::result::Result::Err(err) => err.into(),
9508 }
9509 }
9510 unsafe extern "system" fn SignerCertificates<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9511 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9512 let this = (*this).get_impl();
9513 match this.SignerCertificates() {
9514 ::core::result::Result::Ok(ok__) => {
9515 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9516 ::windows::core::HRESULT(0)
9517 }
9518 ::core::result::Result::Err(err) => err.into(),
9519 }
9520 }
9521 Self {
9522 base__: IX509CertificateRequestPkcs7_Vtbl::new::<Identity, Impl, OFFSET>(),
9523 InitializeFromInnerRequestTemplateName: InitializeFromInnerRequestTemplateName::<Identity, Impl, OFFSET>,
9524 TemplateObjectId: TemplateObjectId::<Identity, Impl, OFFSET>,
9525 NullSigned: NullSigned::<Identity, Impl, OFFSET>,
9526 CryptAttributes: CryptAttributes::<Identity, Impl, OFFSET>,
9527 NameValuePairs: NameValuePairs::<Identity, Impl, OFFSET>,
9528 X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
9529 CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
9530 SuppressOids: SuppressOids::<Identity, Impl, OFFSET>,
9531 TransactionId: TransactionId::<Identity, Impl, OFFSET>,
9532 SetTransactionId: SetTransactionId::<Identity, Impl, OFFSET>,
9533 get_SenderNonce: get_SenderNonce::<Identity, Impl, OFFSET>,
9534 put_SenderNonce: put_SenderNonce::<Identity, Impl, OFFSET>,
9535 SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
9536 ArchivePrivateKey: ArchivePrivateKey::<Identity, Impl, OFFSET>,
9537 SetArchivePrivateKey: SetArchivePrivateKey::<Identity, Impl, OFFSET>,
9538 get_KeyArchivalCertificate: get_KeyArchivalCertificate::<Identity, Impl, OFFSET>,
9539 put_KeyArchivalCertificate: put_KeyArchivalCertificate::<Identity, Impl, OFFSET>,
9540 EncryptionAlgorithm: EncryptionAlgorithm::<Identity, Impl, OFFSET>,
9541 SetEncryptionAlgorithm: SetEncryptionAlgorithm::<Identity, Impl, OFFSET>,
9542 EncryptionStrength: EncryptionStrength::<Identity, Impl, OFFSET>,
9543 SetEncryptionStrength: SetEncryptionStrength::<Identity, Impl, OFFSET>,
9544 get_EncryptedKeyHash: get_EncryptedKeyHash::<Identity, Impl, OFFSET>,
9545 SignerCertificates: SignerCertificates::<Identity, Impl, OFFSET>,
9546 }
9547 }
9548 pub fn matches(iid: &windows::core::GUID) -> bool {
9549 iid == &<IX509CertificateRequestCmc as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs7 as ::windows::core::ComInterface>::IID
9550 }
9551 }
9552 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
9553 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9554 pub trait IX509CertificateRequestCmc2_Impl: Sized + IX509CertificateRequestCmc_Impl {
9555 fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
9556 fn InitializeFromInnerRequestTemplate(&self, pinnerrequest: ::core::option::Option<&IX509CertificateRequest>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
9557 fn PolicyServer(&self) -> ::windows::core::Result<IX509EnrollmentPolicyServer>;
9558 fn Template(&self) -> ::windows::core::Result<IX509CertificateTemplate>;
9559 fn CheckSignature(&self, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows::core::Result<()>;
9560 fn CheckCertificateSignature(&self, psignercertificate: ::core::option::Option<&ISignerCertificate>, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
9561 }
9562 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9563 impl ::windows::core::RuntimeName for IX509CertificateRequestCmc2 {}
9564 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9565 impl IX509CertificateRequestCmc2_Vtbl {
9566 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>() -> IX509CertificateRequestCmc2_Vtbl {
9567 unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9568 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9569 let this = (*this).get_impl();
9570 this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
9571 }
9572 unsafe extern "system" fn InitializeFromInnerRequestTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinnerrequest: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9573 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9574 let this = (*this).get_impl();
9575 this.InitializeFromInnerRequestTemplate(::windows::core::from_raw_borrowed(&pinnerrequest), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
9576 }
9577 unsafe extern "system" fn PolicyServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9578 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9579 let this = (*this).get_impl();
9580 match this.PolicyServer() {
9581 ::core::result::Result::Ok(ok__) => {
9582 ::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
9583 ::windows::core::HRESULT(0)
9584 }
9585 ::core::result::Result::Err(err) => err.into(),
9586 }
9587 }
9588 unsafe extern "system" fn Template<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9589 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9590 let this = (*this).get_impl();
9591 match this.Template() {
9592 ::core::result::Result::Ok(ok__) => {
9593 ::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
9594 ::windows::core::HRESULT(0)
9595 }
9596 ::core::result::Result::Err(err) => err.into(),
9597 }
9598 }
9599 unsafe extern "system" fn CheckSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows::core::HRESULT {
9600 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9601 let this = (*this).get_impl();
9602 this.CheckSignature(::core::mem::transmute_copy(&allowedsignaturetypes)).into()
9603 }
9604 unsafe extern "system" fn CheckCertificateSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestCmc2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psignercertificate: *mut ::core::ffi::c_void, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9605 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9606 let this = (*this).get_impl();
9607 this.CheckCertificateSignature(::windows::core::from_raw_borrowed(&psignercertificate), ::core::mem::transmute_copy(&validatecertificatechain)).into()
9608 }
9609 Self {
9610 base__: IX509CertificateRequestCmc_Vtbl::new::<Identity, Impl, OFFSET>(),
9611 InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
9612 InitializeFromInnerRequestTemplate: InitializeFromInnerRequestTemplate::<Identity, Impl, OFFSET>,
9613 PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
9614 Template: Template::<Identity, Impl, OFFSET>,
9615 CheckSignature: CheckSignature::<Identity, Impl, OFFSET>,
9616 CheckCertificateSignature: CheckCertificateSignature::<Identity, Impl, OFFSET>,
9617 }
9618 }
9619 pub fn matches(iid: &windows::core::GUID) -> bool {
9620 iid == &<IX509CertificateRequestCmc2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs7 as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestCmc as ::windows::core::ComInterface>::IID
9621 }
9622 }
9623 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
9624 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9625 pub trait IX509CertificateRequestPkcs10_Impl: Sized + IX509CertificateRequest_Impl {
9626 fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9627 fn InitializeFromPrivateKey(&self, context: X509CertificateEnrollmentContext, pprivatekey: ::core::option::Option<&IX509PrivateKey>, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9628 fn InitializeFromPublicKey(&self, context: X509CertificateEnrollmentContext, ppublickey: ::core::option::Option<&IX509PublicKey>, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9629 fn InitializeFromCertificate(&self, context: X509CertificateEnrollmentContext, strcertificate: &::windows::core::BSTR, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows::core::Result<()>;
9630 fn InitializeDecode(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
9631 fn CheckSignature(&self, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows::core::Result<()>;
9632 fn IsSmartCard(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
9633 fn TemplateObjectId(&self) -> ::windows::core::Result<IObjectId>;
9634 fn PublicKey(&self) -> ::windows::core::Result<IX509PublicKey>;
9635 fn PrivateKey(&self) -> ::windows::core::Result<IX509PrivateKey>;
9636 fn NullSigned(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
9637 fn ReuseKey(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
9638 fn get_OldCertificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
9639 fn Subject(&self) -> ::windows::core::Result<IX500DistinguishedName>;
9640 fn SetSubject(&self, pvalue: ::core::option::Option<&IX500DistinguishedName>) -> ::windows::core::Result<()>;
9641 fn CspStatuses(&self) -> ::windows::core::Result<ICspStatuses>;
9642 fn SmimeCapabilities(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
9643 fn SetSmimeCapabilities(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
9644 fn SignatureInformation(&self) -> ::windows::core::Result<IX509SignatureInformation>;
9645 fn KeyContainerNamePrefix(&self) -> ::windows::core::Result<::windows::core::BSTR>;
9646 fn SetKeyContainerNamePrefix(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
9647 fn CryptAttributes(&self) -> ::windows::core::Result<ICryptAttributes>;
9648 fn X509Extensions(&self) -> ::windows::core::Result<IX509Extensions>;
9649 fn CriticalExtensions(&self) -> ::windows::core::Result<IObjectIds>;
9650 fn SuppressOids(&self) -> ::windows::core::Result<IObjectIds>;
9651 fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
9652 fn get_Signature(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
9653 fn GetCspStatuses(&self, keyspec: X509KeySpec) -> ::windows::core::Result<ICspStatuses>;
9654 }
9655 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9656 impl ::windows::core::RuntimeName for IX509CertificateRequestPkcs10 {}
9657 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9658 impl IX509CertificateRequestPkcs10_Vtbl {
9659 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10_Vtbl {
9660 unsafe extern "system" fn InitializeFromTemplateName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9661 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9662 let this = (*this).get_impl();
9663 this.InitializeFromTemplateName(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtemplatename)).into()
9664 }
9665 unsafe extern "system" fn InitializeFromPrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, pprivatekey: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9666 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9667 let this = (*this).get_impl();
9668 this.InitializeFromPrivateKey(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&pprivatekey), ::core::mem::transmute(&strtemplatename)).into()
9669 }
9670 unsafe extern "system" fn InitializeFromPublicKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppublickey: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9671 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9672 let this = (*this).get_impl();
9673 this.InitializeFromPublicKey(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&ppublickey), ::core::mem::transmute(&strtemplatename)).into()
9674 }
9675 unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows::core::HRESULT {
9676 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9677 let this = (*this).get_impl();
9678 this.InitializeFromCertificate(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strcertificate), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&inheritoptions)).into()
9679 }
9680 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
9681 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9682 let this = (*this).get_impl();
9683 this.InitializeDecode(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
9684 }
9685 unsafe extern "system" fn CheckSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, allowedsignaturetypes: Pkcs10AllowedSignatureTypes) -> ::windows::core::HRESULT {
9686 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9687 let this = (*this).get_impl();
9688 this.CheckSignature(::core::mem::transmute_copy(&allowedsignaturetypes)).into()
9689 }
9690 unsafe extern "system" fn IsSmartCard<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9691 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9692 let this = (*this).get_impl();
9693 match this.IsSmartCard() {
9694 ::core::result::Result::Ok(ok__) => {
9695 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9696 ::windows::core::HRESULT(0)
9697 }
9698 ::core::result::Result::Err(err) => err.into(),
9699 }
9700 }
9701 unsafe extern "system" fn TemplateObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9702 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9703 let this = (*this).get_impl();
9704 match this.TemplateObjectId() {
9705 ::core::result::Result::Ok(ok__) => {
9706 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9707 ::windows::core::HRESULT(0)
9708 }
9709 ::core::result::Result::Err(err) => err.into(),
9710 }
9711 }
9712 unsafe extern "system" fn PublicKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9713 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9714 let this = (*this).get_impl();
9715 match this.PublicKey() {
9716 ::core::result::Result::Ok(ok__) => {
9717 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9718 ::windows::core::HRESULT(0)
9719 }
9720 ::core::result::Result::Err(err) => err.into(),
9721 }
9722 }
9723 unsafe extern "system" fn PrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9724 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9725 let this = (*this).get_impl();
9726 match this.PrivateKey() {
9727 ::core::result::Result::Ok(ok__) => {
9728 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9729 ::windows::core::HRESULT(0)
9730 }
9731 ::core::result::Result::Err(err) => err.into(),
9732 }
9733 }
9734 unsafe extern "system" fn NullSigned<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9735 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9736 let this = (*this).get_impl();
9737 match this.NullSigned() {
9738 ::core::result::Result::Ok(ok__) => {
9739 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9740 ::windows::core::HRESULT(0)
9741 }
9742 ::core::result::Result::Err(err) => err.into(),
9743 }
9744 }
9745 unsafe extern "system" fn ReuseKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9746 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9747 let this = (*this).get_impl();
9748 match this.ReuseKey() {
9749 ::core::result::Result::Ok(ok__) => {
9750 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9751 ::windows::core::HRESULT(0)
9752 }
9753 ::core::result::Result::Err(err) => err.into(),
9754 }
9755 }
9756 unsafe extern "system" fn get_OldCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9757 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9758 let this = (*this).get_impl();
9759 match this.get_OldCertificate(::core::mem::transmute_copy(&encoding)) {
9760 ::core::result::Result::Ok(ok__) => {
9761 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9762 ::windows::core::HRESULT(0)
9763 }
9764 ::core::result::Result::Err(err) => err.into(),
9765 }
9766 }
9767 unsafe extern "system" fn Subject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9768 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9769 let this = (*this).get_impl();
9770 match this.Subject() {
9771 ::core::result::Result::Ok(ok__) => {
9772 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9773 ::windows::core::HRESULT(0)
9774 }
9775 ::core::result::Result::Err(err) => err.into(),
9776 }
9777 }
9778 unsafe extern "system" fn SetSubject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9779 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9780 let this = (*this).get_impl();
9781 this.SetSubject(::windows::core::from_raw_borrowed(&pvalue)).into()
9782 }
9783 unsafe extern "system" fn CspStatuses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9784 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9785 let this = (*this).get_impl();
9786 match this.CspStatuses() {
9787 ::core::result::Result::Ok(ok__) => {
9788 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9789 ::windows::core::HRESULT(0)
9790 }
9791 ::core::result::Result::Err(err) => err.into(),
9792 }
9793 }
9794 unsafe extern "system" fn SmimeCapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9795 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9796 let this = (*this).get_impl();
9797 match this.SmimeCapabilities() {
9798 ::core::result::Result::Ok(ok__) => {
9799 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9800 ::windows::core::HRESULT(0)
9801 }
9802 ::core::result::Result::Err(err) => err.into(),
9803 }
9804 }
9805 unsafe extern "system" fn SetSmimeCapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
9806 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9807 let this = (*this).get_impl();
9808 this.SetSmimeCapabilities(::core::mem::transmute_copy(&value)).into()
9809 }
9810 unsafe extern "system" fn SignatureInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9811 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9812 let this = (*this).get_impl();
9813 match this.SignatureInformation() {
9814 ::core::result::Result::Ok(ok__) => {
9815 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9816 ::windows::core::HRESULT(0)
9817 }
9818 ::core::result::Result::Err(err) => err.into(),
9819 }
9820 }
9821 unsafe extern "system" fn KeyContainerNamePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9822 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9823 let this = (*this).get_impl();
9824 match this.KeyContainerNamePrefix() {
9825 ::core::result::Result::Ok(ok__) => {
9826 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9827 ::windows::core::HRESULT(0)
9828 }
9829 ::core::result::Result::Err(err) => err.into(),
9830 }
9831 }
9832 unsafe extern "system" fn SetKeyContainerNamePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9833 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9834 let this = (*this).get_impl();
9835 this.SetKeyContainerNamePrefix(::core::mem::transmute(&value)).into()
9836 }
9837 unsafe extern "system" fn CryptAttributes<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9838 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9839 let this = (*this).get_impl();
9840 match this.CryptAttributes() {
9841 ::core::result::Result::Ok(ok__) => {
9842 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9843 ::windows::core::HRESULT(0)
9844 }
9845 ::core::result::Result::Err(err) => err.into(),
9846 }
9847 }
9848 unsafe extern "system" fn X509Extensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9849 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9850 let this = (*this).get_impl();
9851 match this.X509Extensions() {
9852 ::core::result::Result::Ok(ok__) => {
9853 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9854 ::windows::core::HRESULT(0)
9855 }
9856 ::core::result::Result::Err(err) => err.into(),
9857 }
9858 }
9859 unsafe extern "system" fn CriticalExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9860 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9861 let this = (*this).get_impl();
9862 match this.CriticalExtensions() {
9863 ::core::result::Result::Ok(ok__) => {
9864 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9865 ::windows::core::HRESULT(0)
9866 }
9867 ::core::result::Result::Err(err) => err.into(),
9868 }
9869 }
9870 unsafe extern "system" fn SuppressOids<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9871 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9872 let this = (*this).get_impl();
9873 match this.SuppressOids() {
9874 ::core::result::Result::Ok(ok__) => {
9875 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
9876 ::windows::core::HRESULT(0)
9877 }
9878 ::core::result::Result::Err(err) => err.into(),
9879 }
9880 }
9881 unsafe extern "system" fn get_RawDataToBeSigned<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9882 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9883 let this = (*this).get_impl();
9884 match this.get_RawDataToBeSigned(::core::mem::transmute_copy(&encoding)) {
9885 ::core::result::Result::Ok(ok__) => {
9886 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9887 ::windows::core::HRESULT(0)
9888 }
9889 ::core::result::Result::Err(err) => err.into(),
9890 }
9891 }
9892 unsafe extern "system" fn get_Signature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
9893 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9894 let this = (*this).get_impl();
9895 match this.get_Signature(::core::mem::transmute_copy(&encoding)) {
9896 ::core::result::Result::Ok(ok__) => {
9897 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
9898 ::windows::core::HRESULT(0)
9899 }
9900 ::core::result::Result::Err(err) => err.into(),
9901 }
9902 }
9903 unsafe extern "system" fn GetCspStatuses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, keyspec: X509KeySpec, ppcspstatuses: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9904 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9905 let this = (*this).get_impl();
9906 match this.GetCspStatuses(::core::mem::transmute_copy(&keyspec)) {
9907 ::core::result::Result::Ok(ok__) => {
9908 ::core::ptr::write(ppcspstatuses, ::core::mem::transmute(ok__));
9909 ::windows::core::HRESULT(0)
9910 }
9911 ::core::result::Result::Err(err) => err.into(),
9912 }
9913 }
9914 Self {
9915 base__: IX509CertificateRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
9916 InitializeFromTemplateName: InitializeFromTemplateName::<Identity, Impl, OFFSET>,
9917 InitializeFromPrivateKey: InitializeFromPrivateKey::<Identity, Impl, OFFSET>,
9918 InitializeFromPublicKey: InitializeFromPublicKey::<Identity, Impl, OFFSET>,
9919 InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
9920 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
9921 CheckSignature: CheckSignature::<Identity, Impl, OFFSET>,
9922 IsSmartCard: IsSmartCard::<Identity, Impl, OFFSET>,
9923 TemplateObjectId: TemplateObjectId::<Identity, Impl, OFFSET>,
9924 PublicKey: PublicKey::<Identity, Impl, OFFSET>,
9925 PrivateKey: PrivateKey::<Identity, Impl, OFFSET>,
9926 NullSigned: NullSigned::<Identity, Impl, OFFSET>,
9927 ReuseKey: ReuseKey::<Identity, Impl, OFFSET>,
9928 get_OldCertificate: get_OldCertificate::<Identity, Impl, OFFSET>,
9929 Subject: Subject::<Identity, Impl, OFFSET>,
9930 SetSubject: SetSubject::<Identity, Impl, OFFSET>,
9931 CspStatuses: CspStatuses::<Identity, Impl, OFFSET>,
9932 SmimeCapabilities: SmimeCapabilities::<Identity, Impl, OFFSET>,
9933 SetSmimeCapabilities: SetSmimeCapabilities::<Identity, Impl, OFFSET>,
9934 SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
9935 KeyContainerNamePrefix: KeyContainerNamePrefix::<Identity, Impl, OFFSET>,
9936 SetKeyContainerNamePrefix: SetKeyContainerNamePrefix::<Identity, Impl, OFFSET>,
9937 CryptAttributes: CryptAttributes::<Identity, Impl, OFFSET>,
9938 X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
9939 CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
9940 SuppressOids: SuppressOids::<Identity, Impl, OFFSET>,
9941 get_RawDataToBeSigned: get_RawDataToBeSigned::<Identity, Impl, OFFSET>,
9942 get_Signature: get_Signature::<Identity, Impl, OFFSET>,
9943 GetCspStatuses: GetCspStatuses::<Identity, Impl, OFFSET>,
9944 }
9945 }
9946 pub fn matches(iid: &windows::core::GUID) -> bool {
9947 iid == &<IX509CertificateRequestPkcs10 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID
9948 }
9949 }
9950 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
9951 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9952 pub trait IX509CertificateRequestPkcs10V2_Impl: Sized + IX509CertificateRequestPkcs10_Impl {
9953 fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
9954 fn InitializeFromPrivateKeyTemplate(&self, context: X509CertificateEnrollmentContext, pprivatekey: ::core::option::Option<&IX509PrivateKey>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
9955 fn InitializeFromPublicKeyTemplate(&self, context: X509CertificateEnrollmentContext, ppublickey: ::core::option::Option<&IX509PublicKey>, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
9956 fn PolicyServer(&self) -> ::windows::core::Result<IX509EnrollmentPolicyServer>;
9957 fn Template(&self) -> ::windows::core::Result<IX509CertificateTemplate>;
9958 }
9959 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9960 impl ::windows::core::RuntimeName for IX509CertificateRequestPkcs10V2 {}
9961 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9962 impl IX509CertificateRequestPkcs10V2_Vtbl {
9963 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10V2_Vtbl {
9964 unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9965 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9966 let this = (*this).get_impl();
9967 this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
9968 }
9969 unsafe extern "system" fn InitializeFromPrivateKeyTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, pprivatekey: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9970 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9971 let this = (*this).get_impl();
9972 this.InitializeFromPrivateKeyTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&pprivatekey), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
9973 }
9974 unsafe extern "system" fn InitializeFromPublicKeyTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppublickey: *mut ::core::ffi::c_void, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9975 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9976 let this = (*this).get_impl();
9977 this.InitializeFromPublicKeyTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&ppublickey), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
9978 }
9979 unsafe extern "system" fn PolicyServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9980 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9981 let this = (*this).get_impl();
9982 match this.PolicyServer() {
9983 ::core::result::Result::Ok(ok__) => {
9984 ::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
9985 ::windows::core::HRESULT(0)
9986 }
9987 ::core::result::Result::Err(err) => err.into(),
9988 }
9989 }
9990 unsafe extern "system" fn Template<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
9991 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
9992 let this = (*this).get_impl();
9993 match this.Template() {
9994 ::core::result::Result::Ok(ok__) => {
9995 ::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
9996 ::windows::core::HRESULT(0)
9997 }
9998 ::core::result::Result::Err(err) => err.into(),
9999 }
10000 }
10001 Self {
10002 base__: IX509CertificateRequestPkcs10_Vtbl::new::<Identity, Impl, OFFSET>(),
10003 InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
10004 InitializeFromPrivateKeyTemplate: InitializeFromPrivateKeyTemplate::<Identity, Impl, OFFSET>,
10005 InitializeFromPublicKeyTemplate: InitializeFromPublicKeyTemplate::<Identity, Impl, OFFSET>,
10006 PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
10007 Template: Template::<Identity, Impl, OFFSET>,
10008 }
10009 }
10010 pub fn matches(iid: &windows::core::GUID) -> bool {
10011 iid == &<IX509CertificateRequestPkcs10V2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows::core::ComInterface>::IID
10012 }
10013 }
10014 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10015 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10016 pub trait IX509CertificateRequestPkcs10V3_Impl: Sized + IX509CertificateRequestPkcs10V2_Impl {
10017 fn AttestPrivateKey(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
10018 fn SetAttestPrivateKey(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
10019 fn get_AttestationEncryptionCertificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
10020 fn put_AttestationEncryptionCertificate(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
10021 fn EncryptionAlgorithm(&self) -> ::windows::core::Result<IObjectId>;
10022 fn SetEncryptionAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
10023 fn EncryptionStrength(&self) -> ::windows::core::Result<i32>;
10024 fn SetEncryptionStrength(&self, value: i32) -> ::windows::core::Result<()>;
10025 fn ChallengePassword(&self) -> ::windows::core::Result<::windows::core::BSTR>;
10026 fn SetChallengePassword(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
10027 fn NameValuePairs(&self) -> ::windows::core::Result<IX509NameValuePairs>;
10028 }
10029 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10030 impl ::windows::core::RuntimeName for IX509CertificateRequestPkcs10V3 {}
10031 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10032 impl IX509CertificateRequestPkcs10V3_Vtbl {
10033 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10V3_Vtbl {
10034 unsafe extern "system" fn AttestPrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10035 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10036 let this = (*this).get_impl();
10037 match this.AttestPrivateKey() {
10038 ::core::result::Result::Ok(ok__) => {
10039 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10040 ::windows::core::HRESULT(0)
10041 }
10042 ::core::result::Result::Err(err) => err.into(),
10043 }
10044 }
10045 unsafe extern "system" fn SetAttestPrivateKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10046 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10047 let this = (*this).get_impl();
10048 this.SetAttestPrivateKey(::core::mem::transmute_copy(&value)).into()
10049 }
10050 unsafe extern "system" fn get_AttestationEncryptionCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10051 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10052 let this = (*this).get_impl();
10053 match this.get_AttestationEncryptionCertificate(::core::mem::transmute_copy(&encoding)) {
10054 ::core::result::Result::Ok(ok__) => {
10055 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10056 ::windows::core::HRESULT(0)
10057 }
10058 ::core::result::Result::Err(err) => err.into(),
10059 }
10060 }
10061 unsafe extern "system" fn put_AttestationEncryptionCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10062 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10063 let this = (*this).get_impl();
10064 this.put_AttestationEncryptionCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
10065 }
10066 unsafe extern "system" fn EncryptionAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10067 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10068 let this = (*this).get_impl();
10069 match this.EncryptionAlgorithm() {
10070 ::core::result::Result::Ok(ok__) => {
10071 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10072 ::windows::core::HRESULT(0)
10073 }
10074 ::core::result::Result::Err(err) => err.into(),
10075 }
10076 }
10077 unsafe extern "system" fn SetEncryptionAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10078 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10079 let this = (*this).get_impl();
10080 this.SetEncryptionAlgorithm(::windows::core::from_raw_borrowed(&pvalue)).into()
10081 }
10082 unsafe extern "system" fn EncryptionStrength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
10083 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10084 let this = (*this).get_impl();
10085 match this.EncryptionStrength() {
10086 ::core::result::Result::Ok(ok__) => {
10087 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10088 ::windows::core::HRESULT(0)
10089 }
10090 ::core::result::Result::Err(err) => err.into(),
10091 }
10092 }
10093 unsafe extern "system" fn SetEncryptionStrength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
10094 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10095 let this = (*this).get_impl();
10096 this.SetEncryptionStrength(::core::mem::transmute_copy(&value)).into()
10097 }
10098 unsafe extern "system" fn ChallengePassword<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10099 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10100 let this = (*this).get_impl();
10101 match this.ChallengePassword() {
10102 ::core::result::Result::Ok(ok__) => {
10103 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10104 ::windows::core::HRESULT(0)
10105 }
10106 ::core::result::Result::Err(err) => err.into(),
10107 }
10108 }
10109 unsafe extern "system" fn SetChallengePassword<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10110 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10111 let this = (*this).get_impl();
10112 this.SetChallengePassword(::core::mem::transmute(&value)).into()
10113 }
10114 unsafe extern "system" fn NameValuePairs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10115 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10116 let this = (*this).get_impl();
10117 match this.NameValuePairs() {
10118 ::core::result::Result::Ok(ok__) => {
10119 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10120 ::windows::core::HRESULT(0)
10121 }
10122 ::core::result::Result::Err(err) => err.into(),
10123 }
10124 }
10125 Self {
10126 base__: IX509CertificateRequestPkcs10V2_Vtbl::new::<Identity, Impl, OFFSET>(),
10127 AttestPrivateKey: AttestPrivateKey::<Identity, Impl, OFFSET>,
10128 SetAttestPrivateKey: SetAttestPrivateKey::<Identity, Impl, OFFSET>,
10129 get_AttestationEncryptionCertificate: get_AttestationEncryptionCertificate::<Identity, Impl, OFFSET>,
10130 put_AttestationEncryptionCertificate: put_AttestationEncryptionCertificate::<Identity, Impl, OFFSET>,
10131 EncryptionAlgorithm: EncryptionAlgorithm::<Identity, Impl, OFFSET>,
10132 SetEncryptionAlgorithm: SetEncryptionAlgorithm::<Identity, Impl, OFFSET>,
10133 EncryptionStrength: EncryptionStrength::<Identity, Impl, OFFSET>,
10134 SetEncryptionStrength: SetEncryptionStrength::<Identity, Impl, OFFSET>,
10135 ChallengePassword: ChallengePassword::<Identity, Impl, OFFSET>,
10136 SetChallengePassword: SetChallengePassword::<Identity, Impl, OFFSET>,
10137 NameValuePairs: NameValuePairs::<Identity, Impl, OFFSET>,
10138 }
10139 }
10140 pub fn matches(iid: &windows::core::GUID) -> bool {
10141 iid == &<IX509CertificateRequestPkcs10V3 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10V2 as ::windows::core::ComInterface>::IID
10142 }
10143 }
10144 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10145 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10146 pub trait IX509CertificateRequestPkcs10V4_Impl: Sized + IX509CertificateRequestPkcs10V3_Impl {
10147 fn ClaimType(&self) -> ::windows::core::Result<KeyAttestationClaimType>;
10148 fn SetClaimType(&self, value: KeyAttestationClaimType) -> ::windows::core::Result<()>;
10149 fn AttestPrivateKeyPreferred(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
10150 fn SetAttestPrivateKeyPreferred(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
10151 }
10152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10153 impl ::windows::core::RuntimeName for IX509CertificateRequestPkcs10V4 {}
10154 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10155 impl IX509CertificateRequestPkcs10V4_Vtbl {
10156 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs10V4_Vtbl {
10157 unsafe extern "system" fn ClaimType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut KeyAttestationClaimType) -> ::windows::core::HRESULT {
10158 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10159 let this = (*this).get_impl();
10160 match this.ClaimType() {
10161 ::core::result::Result::Ok(ok__) => {
10162 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10163 ::windows::core::HRESULT(0)
10164 }
10165 ::core::result::Result::Err(err) => err.into(),
10166 }
10167 }
10168 unsafe extern "system" fn SetClaimType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: KeyAttestationClaimType) -> ::windows::core::HRESULT {
10169 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10170 let this = (*this).get_impl();
10171 this.SetClaimType(::core::mem::transmute_copy(&value)).into()
10172 }
10173 unsafe extern "system" fn AttestPrivateKeyPreferred<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10174 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10175 let this = (*this).get_impl();
10176 match this.AttestPrivateKeyPreferred() {
10177 ::core::result::Result::Ok(ok__) => {
10178 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10179 ::windows::core::HRESULT(0)
10180 }
10181 ::core::result::Result::Err(err) => err.into(),
10182 }
10183 }
10184 unsafe extern "system" fn SetAttestPrivateKeyPreferred<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs10V4_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10185 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10186 let this = (*this).get_impl();
10187 this.SetAttestPrivateKeyPreferred(::core::mem::transmute_copy(&value)).into()
10188 }
10189 Self {
10190 base__: IX509CertificateRequestPkcs10V3_Vtbl::new::<Identity, Impl, OFFSET>(),
10191 ClaimType: ClaimType::<Identity, Impl, OFFSET>,
10192 SetClaimType: SetClaimType::<Identity, Impl, OFFSET>,
10193 AttestPrivateKeyPreferred: AttestPrivateKeyPreferred::<Identity, Impl, OFFSET>,
10194 SetAttestPrivateKeyPreferred: SetAttestPrivateKeyPreferred::<Identity, Impl, OFFSET>,
10195 }
10196 }
10197 pub fn matches(iid: &windows::core::GUID) -> bool {
10198 iid == &<IX509CertificateRequestPkcs10V4 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10 as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10V2 as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs10V3 as ::windows::core::ComInterface>::IID
10199 }
10200 }
10201 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10202 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10203 pub trait IX509CertificateRequestPkcs7_Impl: Sized + IX509CertificateRequest_Impl {
10204 fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
10205 fn InitializeFromCertificate(&self, context: X509CertificateEnrollmentContext, renewalrequest: super::super::super::Foundation::VARIANT_BOOL, strcertificate: &::windows::core::BSTR, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows::core::Result<()>;
10206 fn InitializeFromInnerRequest(&self, pinnerrequest: ::core::option::Option<&IX509CertificateRequest>) -> ::windows::core::Result<()>;
10207 fn InitializeDecode(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
10208 fn RequesterName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
10209 fn SetRequesterName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
10210 fn SignerCertificate(&self) -> ::windows::core::Result<ISignerCertificate>;
10211 fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows::core::Result<()>;
10212 }
10213 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10214 impl ::windows::core::RuntimeName for IX509CertificateRequestPkcs7 {}
10215 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10216 impl IX509CertificateRequestPkcs7_Vtbl {
10217 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs7_Vtbl {
10218 unsafe extern "system" fn InitializeFromTemplateName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10220 let this = (*this).get_impl();
10221 this.InitializeFromTemplateName(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtemplatename)).into()
10222 }
10223 unsafe extern "system" fn InitializeFromCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, renewalrequest: super::super::super::Foundation::VARIANT_BOOL, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, inheritoptions: X509RequestInheritOptions) -> ::windows::core::HRESULT {
10224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10225 let this = (*this).get_impl();
10226 this.InitializeFromCertificate(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&renewalrequest), ::core::mem::transmute(&strcertificate), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&inheritoptions)).into()
10227 }
10228 unsafe extern "system" fn InitializeFromInnerRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinnerrequest: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10230 let this = (*this).get_impl();
10231 this.InitializeFromInnerRequest(::windows::core::from_raw_borrowed(&pinnerrequest)).into()
10232 }
10233 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
10234 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10235 let this = (*this).get_impl();
10236 this.InitializeDecode(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
10237 }
10238 unsafe extern "system" fn RequesterName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10239 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10240 let this = (*this).get_impl();
10241 match this.RequesterName() {
10242 ::core::result::Result::Ok(ok__) => {
10243 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10244 ::windows::core::HRESULT(0)
10245 }
10246 ::core::result::Result::Err(err) => err.into(),
10247 }
10248 }
10249 unsafe extern "system" fn SetRequesterName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10250 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10251 let this = (*this).get_impl();
10252 this.SetRequesterName(::core::mem::transmute(&value)).into()
10253 }
10254 unsafe extern "system" fn SignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10255 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10256 let this = (*this).get_impl();
10257 match this.SignerCertificate() {
10258 ::core::result::Result::Ok(ok__) => {
10259 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10260 ::windows::core::HRESULT(0)
10261 }
10262 ::core::result::Result::Err(err) => err.into(),
10263 }
10264 }
10265 unsafe extern "system" fn SetSignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10266 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10267 let this = (*this).get_impl();
10268 this.SetSignerCertificate(::windows::core::from_raw_borrowed(&pvalue)).into()
10269 }
10270 Self {
10271 base__: IX509CertificateRequest_Vtbl::new::<Identity, Impl, OFFSET>(),
10272 InitializeFromTemplateName: InitializeFromTemplateName::<Identity, Impl, OFFSET>,
10273 InitializeFromCertificate: InitializeFromCertificate::<Identity, Impl, OFFSET>,
10274 InitializeFromInnerRequest: InitializeFromInnerRequest::<Identity, Impl, OFFSET>,
10275 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
10276 RequesterName: RequesterName::<Identity, Impl, OFFSET>,
10277 SetRequesterName: SetRequesterName::<Identity, Impl, OFFSET>,
10278 SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
10279 SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
10280 }
10281 }
10282 pub fn matches(iid: &windows::core::GUID) -> bool {
10283 iid == &<IX509CertificateRequestPkcs7 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID
10284 }
10285 }
10286 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10287 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10288 pub trait IX509CertificateRequestPkcs7V2_Impl: Sized + IX509CertificateRequestPkcs7_Impl {
10289 fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
10290 fn PolicyServer(&self) -> ::windows::core::Result<IX509EnrollmentPolicyServer>;
10291 fn Template(&self) -> ::windows::core::Result<IX509CertificateTemplate>;
10292 fn CheckCertificateSignature(&self, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
10293 }
10294 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10295 impl ::windows::core::RuntimeName for IX509CertificateRequestPkcs7V2 {}
10296 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10297 impl IX509CertificateRequestPkcs7V2_Vtbl {
10298 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>() -> IX509CertificateRequestPkcs7V2_Vtbl {
10299 unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10300 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10301 let this = (*this).get_impl();
10302 this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
10303 }
10304 unsafe extern "system" fn PolicyServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10305 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10306 let this = (*this).get_impl();
10307 match this.PolicyServer() {
10308 ::core::result::Result::Ok(ok__) => {
10309 ::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
10310 ::windows::core::HRESULT(0)
10311 }
10312 ::core::result::Result::Err(err) => err.into(),
10313 }
10314 }
10315 unsafe extern "system" fn Template<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10316 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10317 let this = (*this).get_impl();
10318 match this.Template() {
10319 ::core::result::Result::Ok(ok__) => {
10320 ::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
10321 ::windows::core::HRESULT(0)
10322 }
10323 ::core::result::Result::Err(err) => err.into(),
10324 }
10325 }
10326 unsafe extern "system" fn CheckCertificateSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRequestPkcs7V2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, validatecertificatechain: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10327 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10328 let this = (*this).get_impl();
10329 this.CheckCertificateSignature(::core::mem::transmute_copy(&validatecertificatechain)).into()
10330 }
10331 Self {
10332 base__: IX509CertificateRequestPkcs7_Vtbl::new::<Identity, Impl, OFFSET>(),
10333 InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
10334 PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
10335 Template: Template::<Identity, Impl, OFFSET>,
10336 CheckCertificateSignature: CheckCertificateSignature::<Identity, Impl, OFFSET>,
10337 }
10338 }
10339 pub fn matches(iid: &windows::core::GUID) -> bool {
10340 iid == &<IX509CertificateRequestPkcs7V2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequest as ::windows::core::ComInterface>::IID || iid == &<IX509CertificateRequestPkcs7 as ::windows::core::ComInterface>::IID
10341 }
10342 }
10343 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10344 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10345 pub trait IX509CertificateRevocationList_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
10346 fn Initialize(&self) -> ::windows::core::Result<()>;
10347 fn InitializeDecode(&self, strencodeddata: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
10348 fn Encode(&self) -> ::windows::core::Result<()>;
10349 fn ResetForEncode(&self) -> ::windows::core::Result<()>;
10350 fn CheckPublicKeySignature(&self, ppublickey: ::core::option::Option<&IX509PublicKey>) -> ::windows::core::Result<()>;
10351 fn CheckSignature(&self) -> ::windows::core::Result<()>;
10352 fn Issuer(&self) -> ::windows::core::Result<IX500DistinguishedName>;
10353 fn SetIssuer(&self, pvalue: ::core::option::Option<&IX500DistinguishedName>) -> ::windows::core::Result<()>;
10354 fn ThisUpdate(&self) -> ::windows::core::Result<f64>;
10355 fn SetThisUpdate(&self, value: f64) -> ::windows::core::Result<()>;
10356 fn NextUpdate(&self) -> ::windows::core::Result<f64>;
10357 fn SetNextUpdate(&self, value: f64) -> ::windows::core::Result<()>;
10358 fn X509CRLEntries(&self) -> ::windows::core::Result<IX509CertificateRevocationListEntries>;
10359 fn X509Extensions(&self) -> ::windows::core::Result<IX509Extensions>;
10360 fn CriticalExtensions(&self) -> ::windows::core::Result<IObjectIds>;
10361 fn SignerCertificate(&self) -> ::windows::core::Result<ISignerCertificate>;
10362 fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows::core::Result<()>;
10363 fn get_CRLNumber(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
10364 fn put_CRLNumber(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
10365 fn CAVersion(&self) -> ::windows::core::Result<i32>;
10366 fn SetCAVersion(&self, pvalue: i32) -> ::windows::core::Result<()>;
10367 fn BaseCRL(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
10368 fn NullSigned(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
10369 fn HashAlgorithm(&self) -> ::windows::core::Result<IObjectId>;
10370 fn SetHashAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
10371 fn AlternateSignatureAlgorithm(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
10372 fn SetAlternateSignatureAlgorithm(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
10373 fn SignatureInformation(&self) -> ::windows::core::Result<IX509SignatureInformation>;
10374 fn get_RawData(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
10375 fn get_RawDataToBeSigned(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
10376 fn get_Signature(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
10377 }
10378 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10379 impl ::windows::core::RuntimeName for IX509CertificateRevocationList {}
10380 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10381 impl IX509CertificateRevocationList_Vtbl {
10382 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>() -> IX509CertificateRevocationList_Vtbl {
10383 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10384 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10385 let this = (*this).get_impl();
10386 this.Initialize().into()
10387 }
10388 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
10389 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10390 let this = (*this).get_impl();
10391 this.InitializeDecode(::core::mem::transmute(&strencodeddata), ::core::mem::transmute_copy(&encoding)).into()
10392 }
10393 unsafe extern "system" fn Encode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10394 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10395 let this = (*this).get_impl();
10396 this.Encode().into()
10397 }
10398 unsafe extern "system" fn ResetForEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10399 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10400 let this = (*this).get_impl();
10401 this.ResetForEncode().into()
10402 }
10403 unsafe extern "system" fn CheckPublicKeySignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppublickey: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10404 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10405 let this = (*this).get_impl();
10406 this.CheckPublicKeySignature(::windows::core::from_raw_borrowed(&ppublickey)).into()
10407 }
10408 unsafe extern "system" fn CheckSignature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10409 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10410 let this = (*this).get_impl();
10411 this.CheckSignature().into()
10412 }
10413 unsafe extern "system" fn Issuer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10414 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10415 let this = (*this).get_impl();
10416 match this.Issuer() {
10417 ::core::result::Result::Ok(ok__) => {
10418 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10419 ::windows::core::HRESULT(0)
10420 }
10421 ::core::result::Result::Err(err) => err.into(),
10422 }
10423 }
10424 unsafe extern "system" fn SetIssuer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10425 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10426 let this = (*this).get_impl();
10427 this.SetIssuer(::windows::core::from_raw_borrowed(&pvalue)).into()
10428 }
10429 unsafe extern "system" fn ThisUpdate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows::core::HRESULT {
10430 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10431 let this = (*this).get_impl();
10432 match this.ThisUpdate() {
10433 ::core::result::Result::Ok(ok__) => {
10434 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10435 ::windows::core::HRESULT(0)
10436 }
10437 ::core::result::Result::Err(err) => err.into(),
10438 }
10439 }
10440 unsafe extern "system" fn SetThisUpdate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT {
10441 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10442 let this = (*this).get_impl();
10443 this.SetThisUpdate(::core::mem::transmute_copy(&value)).into()
10444 }
10445 unsafe extern "system" fn NextUpdate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows::core::HRESULT {
10446 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10447 let this = (*this).get_impl();
10448 match this.NextUpdate() {
10449 ::core::result::Result::Ok(ok__) => {
10450 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10451 ::windows::core::HRESULT(0)
10452 }
10453 ::core::result::Result::Err(err) => err.into(),
10454 }
10455 }
10456 unsafe extern "system" fn SetNextUpdate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT {
10457 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10458 let this = (*this).get_impl();
10459 this.SetNextUpdate(::core::mem::transmute_copy(&value)).into()
10460 }
10461 unsafe extern "system" fn X509CRLEntries<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10462 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10463 let this = (*this).get_impl();
10464 match this.X509CRLEntries() {
10465 ::core::result::Result::Ok(ok__) => {
10466 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10467 ::windows::core::HRESULT(0)
10468 }
10469 ::core::result::Result::Err(err) => err.into(),
10470 }
10471 }
10472 unsafe extern "system" fn X509Extensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10473 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10474 let this = (*this).get_impl();
10475 match this.X509Extensions() {
10476 ::core::result::Result::Ok(ok__) => {
10477 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10478 ::windows::core::HRESULT(0)
10479 }
10480 ::core::result::Result::Err(err) => err.into(),
10481 }
10482 }
10483 unsafe extern "system" fn CriticalExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10484 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10485 let this = (*this).get_impl();
10486 match this.CriticalExtensions() {
10487 ::core::result::Result::Ok(ok__) => {
10488 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10489 ::windows::core::HRESULT(0)
10490 }
10491 ::core::result::Result::Err(err) => err.into(),
10492 }
10493 }
10494 unsafe extern "system" fn SignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10495 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10496 let this = (*this).get_impl();
10497 match this.SignerCertificate() {
10498 ::core::result::Result::Ok(ok__) => {
10499 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10500 ::windows::core::HRESULT(0)
10501 }
10502 ::core::result::Result::Err(err) => err.into(),
10503 }
10504 }
10505 unsafe extern "system" fn SetSignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10506 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10507 let this = (*this).get_impl();
10508 this.SetSignerCertificate(::windows::core::from_raw_borrowed(&pvalue)).into()
10509 }
10510 unsafe extern "system" fn get_CRLNumber<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10511 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10512 let this = (*this).get_impl();
10513 match this.get_CRLNumber(::core::mem::transmute_copy(&encoding)) {
10514 ::core::result::Result::Ok(ok__) => {
10515 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10516 ::windows::core::HRESULT(0)
10517 }
10518 ::core::result::Result::Err(err) => err.into(),
10519 }
10520 }
10521 unsafe extern "system" fn put_CRLNumber<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10522 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10523 let this = (*this).get_impl();
10524 this.put_CRLNumber(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
10525 }
10526 unsafe extern "system" fn CAVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
10527 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10528 let this = (*this).get_impl();
10529 match this.CAVersion() {
10530 ::core::result::Result::Ok(ok__) => {
10531 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10532 ::windows::core::HRESULT(0)
10533 }
10534 ::core::result::Result::Err(err) => err.into(),
10535 }
10536 }
10537 unsafe extern "system" fn SetCAVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: i32) -> ::windows::core::HRESULT {
10538 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10539 let this = (*this).get_impl();
10540 this.SetCAVersion(::core::mem::transmute_copy(&pvalue)).into()
10541 }
10542 unsafe extern "system" fn BaseCRL<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10543 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10544 let this = (*this).get_impl();
10545 match this.BaseCRL() {
10546 ::core::result::Result::Ok(ok__) => {
10547 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10548 ::windows::core::HRESULT(0)
10549 }
10550 ::core::result::Result::Err(err) => err.into(),
10551 }
10552 }
10553 unsafe extern "system" fn NullSigned<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10554 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10555 let this = (*this).get_impl();
10556 match this.NullSigned() {
10557 ::core::result::Result::Ok(ok__) => {
10558 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10559 ::windows::core::HRESULT(0)
10560 }
10561 ::core::result::Result::Err(err) => err.into(),
10562 }
10563 }
10564 unsafe extern "system" fn HashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10565 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10566 let this = (*this).get_impl();
10567 match this.HashAlgorithm() {
10568 ::core::result::Result::Ok(ok__) => {
10569 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10570 ::windows::core::HRESULT(0)
10571 }
10572 ::core::result::Result::Err(err) => err.into(),
10573 }
10574 }
10575 unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10576 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10577 let this = (*this).get_impl();
10578 this.SetHashAlgorithm(::windows::core::from_raw_borrowed(&pvalue)).into()
10579 }
10580 unsafe extern "system" fn AlternateSignatureAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10581 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10582 let this = (*this).get_impl();
10583 match this.AlternateSignatureAlgorithm() {
10584 ::core::result::Result::Ok(ok__) => {
10585 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10586 ::windows::core::HRESULT(0)
10587 }
10588 ::core::result::Result::Err(err) => err.into(),
10589 }
10590 }
10591 unsafe extern "system" fn SetAlternateSignatureAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
10592 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10593 let this = (*this).get_impl();
10594 this.SetAlternateSignatureAlgorithm(::core::mem::transmute_copy(&value)).into()
10595 }
10596 unsafe extern "system" fn SignatureInformation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10597 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10598 let this = (*this).get_impl();
10599 match this.SignatureInformation() {
10600 ::core::result::Result::Ok(ok__) => {
10601 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10602 ::windows::core::HRESULT(0)
10603 }
10604 ::core::result::Result::Err(err) => err.into(),
10605 }
10606 }
10607 unsafe extern "system" fn get_RawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10608 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10609 let this = (*this).get_impl();
10610 match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
10611 ::core::result::Result::Ok(ok__) => {
10612 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10613 ::windows::core::HRESULT(0)
10614 }
10615 ::core::result::Result::Err(err) => err.into(),
10616 }
10617 }
10618 unsafe extern "system" fn get_RawDataToBeSigned<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10619 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10620 let this = (*this).get_impl();
10621 match this.get_RawDataToBeSigned(::core::mem::transmute_copy(&encoding)) {
10622 ::core::result::Result::Ok(ok__) => {
10623 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10624 ::windows::core::HRESULT(0)
10625 }
10626 ::core::result::Result::Err(err) => err.into(),
10627 }
10628 }
10629 unsafe extern "system" fn get_Signature<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10630 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10631 let this = (*this).get_impl();
10632 match this.get_Signature(::core::mem::transmute_copy(&encoding)) {
10633 ::core::result::Result::Ok(ok__) => {
10634 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10635 ::windows::core::HRESULT(0)
10636 }
10637 ::core::result::Result::Err(err) => err.into(),
10638 }
10639 }
10640 Self {
10641 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
10642 Initialize: Initialize::<Identity, Impl, OFFSET>,
10643 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
10644 Encode: Encode::<Identity, Impl, OFFSET>,
10645 ResetForEncode: ResetForEncode::<Identity, Impl, OFFSET>,
10646 CheckPublicKeySignature: CheckPublicKeySignature::<Identity, Impl, OFFSET>,
10647 CheckSignature: CheckSignature::<Identity, Impl, OFFSET>,
10648 Issuer: Issuer::<Identity, Impl, OFFSET>,
10649 SetIssuer: SetIssuer::<Identity, Impl, OFFSET>,
10650 ThisUpdate: ThisUpdate::<Identity, Impl, OFFSET>,
10651 SetThisUpdate: SetThisUpdate::<Identity, Impl, OFFSET>,
10652 NextUpdate: NextUpdate::<Identity, Impl, OFFSET>,
10653 SetNextUpdate: SetNextUpdate::<Identity, Impl, OFFSET>,
10654 X509CRLEntries: X509CRLEntries::<Identity, Impl, OFFSET>,
10655 X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
10656 CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
10657 SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
10658 SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
10659 get_CRLNumber: get_CRLNumber::<Identity, Impl, OFFSET>,
10660 put_CRLNumber: put_CRLNumber::<Identity, Impl, OFFSET>,
10661 CAVersion: CAVersion::<Identity, Impl, OFFSET>,
10662 SetCAVersion: SetCAVersion::<Identity, Impl, OFFSET>,
10663 BaseCRL: BaseCRL::<Identity, Impl, OFFSET>,
10664 NullSigned: NullSigned::<Identity, Impl, OFFSET>,
10665 HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
10666 SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
10667 AlternateSignatureAlgorithm: AlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
10668 SetAlternateSignatureAlgorithm: SetAlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
10669 SignatureInformation: SignatureInformation::<Identity, Impl, OFFSET>,
10670 get_RawData: get_RawData::<Identity, Impl, OFFSET>,
10671 get_RawDataToBeSigned: get_RawDataToBeSigned::<Identity, Impl, OFFSET>,
10672 get_Signature: get_Signature::<Identity, Impl, OFFSET>,
10673 }
10674 }
10675 pub fn matches(iid: &windows::core::GUID) -> bool {
10676 iid == &<IX509CertificateRevocationList as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
10677 }
10678 }
10679 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10680 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10681 pub trait IX509CertificateRevocationListEntries_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
10682 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IX509CertificateRevocationListEntry>;
10683 fn Count(&self) -> ::windows::core::Result<i32>;
10684 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
10685 fn Add(&self, pval: ::core::option::Option<&IX509CertificateRevocationListEntry>) -> ::windows::core::Result<()>;
10686 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
10687 fn Clear(&self) -> ::windows::core::Result<()>;
10688 fn get_IndexBySerialNumber(&self, encoding: EncodingType, serialnumber: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
10689 fn AddRange(&self, pvalue: ::core::option::Option<&IX509CertificateRevocationListEntries>) -> ::windows::core::Result<()>;
10690 }
10691 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10692 impl ::windows::core::RuntimeName for IX509CertificateRevocationListEntries {}
10693 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10694 impl IX509CertificateRevocationListEntries_Vtbl {
10695 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>() -> IX509CertificateRevocationListEntries_Vtbl {
10696 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10697 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10698 let this = (*this).get_impl();
10699 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
10700 ::core::result::Result::Ok(ok__) => {
10701 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
10702 ::windows::core::HRESULT(0)
10703 }
10704 ::core::result::Result::Err(err) => err.into(),
10705 }
10706 }
10707 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
10708 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10709 let this = (*this).get_impl();
10710 match this.Count() {
10711 ::core::result::Result::Ok(ok__) => {
10712 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
10713 ::windows::core::HRESULT(0)
10714 }
10715 ::core::result::Result::Err(err) => err.into(),
10716 }
10717 }
10718 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10719 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10720 let this = (*this).get_impl();
10721 match this._NewEnum() {
10722 ::core::result::Result::Ok(ok__) => {
10723 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
10724 ::windows::core::HRESULT(0)
10725 }
10726 ::core::result::Result::Err(err) => err.into(),
10727 }
10728 }
10729 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10730 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10731 let this = (*this).get_impl();
10732 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
10733 }
10734 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
10735 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10736 let this = (*this).get_impl();
10737 this.Remove(::core::mem::transmute_copy(&index)).into()
10738 }
10739 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10740 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10741 let this = (*this).get_impl();
10742 this.Clear().into()
10743 }
10744 unsafe extern "system" fn get_IndexBySerialNumber<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, serialnumber: ::std::mem::MaybeUninit<::windows::core::BSTR>, pindex: *mut i32) -> ::windows::core::HRESULT {
10745 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10746 let this = (*this).get_impl();
10747 match this.get_IndexBySerialNumber(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&serialnumber)) {
10748 ::core::result::Result::Ok(ok__) => {
10749 ::core::ptr::write(pindex, ::core::mem::transmute(ok__));
10750 ::windows::core::HRESULT(0)
10751 }
10752 ::core::result::Result::Err(err) => err.into(),
10753 }
10754 }
10755 unsafe extern "system" fn AddRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntries_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10756 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10757 let this = (*this).get_impl();
10758 this.AddRange(::windows::core::from_raw_borrowed(&pvalue)).into()
10759 }
10760 Self {
10761 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
10762 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
10763 Count: Count::<Identity, Impl, OFFSET>,
10764 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
10765 Add: Add::<Identity, Impl, OFFSET>,
10766 Remove: Remove::<Identity, Impl, OFFSET>,
10767 Clear: Clear::<Identity, Impl, OFFSET>,
10768 get_IndexBySerialNumber: get_IndexBySerialNumber::<Identity, Impl, OFFSET>,
10769 AddRange: AddRange::<Identity, Impl, OFFSET>,
10770 }
10771 }
10772 pub fn matches(iid: &windows::core::GUID) -> bool {
10773 iid == &<IX509CertificateRevocationListEntries as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
10774 }
10775 }
10776 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10777 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10778 pub trait IX509CertificateRevocationListEntry_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
10779 fn Initialize(&self, encoding: EncodingType, serialnumber: &::windows::core::BSTR, revocationdate: f64) -> ::windows::core::Result<()>;
10780 fn get_SerialNumber(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
10781 fn RevocationDate(&self) -> ::windows::core::Result<f64>;
10782 fn RevocationReason(&self) -> ::windows::core::Result<CRLRevocationReason>;
10783 fn SetRevocationReason(&self, value: CRLRevocationReason) -> ::windows::core::Result<()>;
10784 fn X509Extensions(&self) -> ::windows::core::Result<IX509Extensions>;
10785 fn CriticalExtensions(&self) -> ::windows::core::Result<IObjectIds>;
10786 }
10787 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10788 impl ::windows::core::RuntimeName for IX509CertificateRevocationListEntry {}
10789 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10790 impl IX509CertificateRevocationListEntry_Vtbl {
10791 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>() -> IX509CertificateRevocationListEntry_Vtbl {
10792 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, serialnumber: ::std::mem::MaybeUninit<::windows::core::BSTR>, revocationdate: f64) -> ::windows::core::HRESULT {
10793 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10794 let this = (*this).get_impl();
10795 this.Initialize(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&serialnumber), ::core::mem::transmute_copy(&revocationdate)).into()
10796 }
10797 unsafe extern "system" fn get_SerialNumber<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10798 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10799 let this = (*this).get_impl();
10800 match this.get_SerialNumber(::core::mem::transmute_copy(&encoding)) {
10801 ::core::result::Result::Ok(ok__) => {
10802 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10803 ::windows::core::HRESULT(0)
10804 }
10805 ::core::result::Result::Err(err) => err.into(),
10806 }
10807 }
10808 unsafe extern "system" fn RevocationDate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut f64) -> ::windows::core::HRESULT {
10809 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10810 let this = (*this).get_impl();
10811 match this.RevocationDate() {
10812 ::core::result::Result::Ok(ok__) => {
10813 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10814 ::windows::core::HRESULT(0)
10815 }
10816 ::core::result::Result::Err(err) => err.into(),
10817 }
10818 }
10819 unsafe extern "system" fn RevocationReason<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut CRLRevocationReason) -> ::windows::core::HRESULT {
10820 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10821 let this = (*this).get_impl();
10822 match this.RevocationReason() {
10823 ::core::result::Result::Ok(ok__) => {
10824 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10825 ::windows::core::HRESULT(0)
10826 }
10827 ::core::result::Result::Err(err) => err.into(),
10828 }
10829 }
10830 unsafe extern "system" fn SetRevocationReason<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: CRLRevocationReason) -> ::windows::core::HRESULT {
10831 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10832 let this = (*this).get_impl();
10833 this.SetRevocationReason(::core::mem::transmute_copy(&value)).into()
10834 }
10835 unsafe extern "system" fn X509Extensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10836 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10837 let this = (*this).get_impl();
10838 match this.X509Extensions() {
10839 ::core::result::Result::Ok(ok__) => {
10840 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10841 ::windows::core::HRESULT(0)
10842 }
10843 ::core::result::Result::Err(err) => err.into(),
10844 }
10845 }
10846 unsafe extern "system" fn CriticalExtensions<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateRevocationListEntry_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10847 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10848 let this = (*this).get_impl();
10849 match this.CriticalExtensions() {
10850 ::core::result::Result::Ok(ok__) => {
10851 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10852 ::windows::core::HRESULT(0)
10853 }
10854 ::core::result::Result::Err(err) => err.into(),
10855 }
10856 }
10857 Self {
10858 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
10859 Initialize: Initialize::<Identity, Impl, OFFSET>,
10860 get_SerialNumber: get_SerialNumber::<Identity, Impl, OFFSET>,
10861 RevocationDate: RevocationDate::<Identity, Impl, OFFSET>,
10862 RevocationReason: RevocationReason::<Identity, Impl, OFFSET>,
10863 SetRevocationReason: SetRevocationReason::<Identity, Impl, OFFSET>,
10864 X509Extensions: X509Extensions::<Identity, Impl, OFFSET>,
10865 CriticalExtensions: CriticalExtensions::<Identity, Impl, OFFSET>,
10866 }
10867 }
10868 pub fn matches(iid: &windows::core::GUID) -> bool {
10869 iid == &<IX509CertificateRevocationListEntry as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
10870 }
10871 }
10872 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10873 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10874 pub trait IX509CertificateTemplate_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
10875 fn get_Property(&self, property: EnrollmentTemplateProperty) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
10876 }
10877 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10878 impl ::windows::core::RuntimeName for IX509CertificateTemplate {}
10879 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10880 impl IX509CertificateTemplate_Vtbl {
10881 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplate_Impl, const OFFSET: isize>() -> IX509CertificateTemplate_Vtbl {
10882 unsafe extern "system" fn get_Property<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentTemplateProperty, pvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
10883 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10884 let this = (*this).get_impl();
10885 match this.get_Property(::core::mem::transmute_copy(&property)) {
10886 ::core::result::Result::Ok(ok__) => {
10887 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10888 ::windows::core::HRESULT(0)
10889 }
10890 ::core::result::Result::Err(err) => err.into(),
10891 }
10892 }
10893 Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), get_Property: get_Property::<Identity, Impl, OFFSET> }
10894 }
10895 pub fn matches(iid: &windows::core::GUID) -> bool {
10896 iid == &<IX509CertificateTemplate as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
10897 }
10898 }
10899 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10900 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10901 pub trait IX509CertificateTemplateWritable_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
10902 fn Initialize(&self, pvalue: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
10903 fn Commit(&self, commitflags: CommitTemplateFlags, strservercontext: &::windows::core::BSTR) -> ::windows::core::Result<()>;
10904 fn get_Property(&self, property: EnrollmentTemplateProperty) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
10905 fn put_Property(&self, property: EnrollmentTemplateProperty, value: &super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
10906 fn Template(&self) -> ::windows::core::Result<IX509CertificateTemplate>;
10907 }
10908 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10909 impl ::windows::core::RuntimeName for IX509CertificateTemplateWritable {}
10910 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10911 impl IX509CertificateTemplateWritable_Vtbl {
10912 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>() -> IX509CertificateTemplateWritable_Vtbl {
10913 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10914 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10915 let this = (*this).get_impl();
10916 this.Initialize(::windows::core::from_raw_borrowed(&pvalue)).into()
10917 }
10918 unsafe extern "system" fn Commit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, commitflags: CommitTemplateFlags, strservercontext: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
10919 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10920 let this = (*this).get_impl();
10921 this.Commit(::core::mem::transmute_copy(&commitflags), ::core::mem::transmute(&strservercontext)).into()
10922 }
10923 unsafe extern "system" fn get_Property<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentTemplateProperty, pvalue: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
10924 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10925 let this = (*this).get_impl();
10926 match this.get_Property(::core::mem::transmute_copy(&property)) {
10927 ::core::result::Result::Ok(ok__) => {
10928 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
10929 ::windows::core::HRESULT(0)
10930 }
10931 ::core::result::Result::Err(err) => err.into(),
10932 }
10933 }
10934 unsafe extern "system" fn put_Property<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, property: EnrollmentTemplateProperty, value: super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
10935 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10936 let this = (*this).get_impl();
10937 this.put_Property(::core::mem::transmute_copy(&property), ::core::mem::transmute(&value)).into()
10938 }
10939 unsafe extern "system" fn Template<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplateWritable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10940 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10941 let this = (*this).get_impl();
10942 match this.Template() {
10943 ::core::result::Result::Ok(ok__) => {
10944 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
10945 ::windows::core::HRESULT(0)
10946 }
10947 ::core::result::Result::Err(err) => err.into(),
10948 }
10949 }
10950 Self {
10951 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
10952 Initialize: Initialize::<Identity, Impl, OFFSET>,
10953 Commit: Commit::<Identity, Impl, OFFSET>,
10954 get_Property: get_Property::<Identity, Impl, OFFSET>,
10955 put_Property: put_Property::<Identity, Impl, OFFSET>,
10956 Template: Template::<Identity, Impl, OFFSET>,
10957 }
10958 }
10959 pub fn matches(iid: &windows::core::GUID) -> bool {
10960 iid == &<IX509CertificateTemplateWritable as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
10961 }
10962 }
10963 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
10964 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10965 pub trait IX509CertificateTemplates_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
10966 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IX509CertificateTemplate>;
10967 fn Count(&self) -> ::windows::core::Result<i32>;
10968 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
10969 fn Add(&self, pval: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
10970 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
10971 fn Clear(&self) -> ::windows::core::Result<()>;
10972 fn get_ItemByName(&self, bstrname: &::windows::core::BSTR) -> ::windows::core::Result<IX509CertificateTemplate>;
10973 fn get_ItemByOid(&self, poid: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<IX509CertificateTemplate>;
10974 }
10975 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10976 impl ::windows::core::RuntimeName for IX509CertificateTemplates {}
10977 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
10978 impl IX509CertificateTemplates_Vtbl {
10979 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>() -> IX509CertificateTemplates_Vtbl {
10980 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
10981 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10982 let this = (*this).get_impl();
10983 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
10984 ::core::result::Result::Ok(ok__) => {
10985 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
10986 ::windows::core::HRESULT(0)
10987 }
10988 ::core::result::Result::Err(err) => err.into(),
10989 }
10990 }
10991 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
10992 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
10993 let this = (*this).get_impl();
10994 match this.Count() {
10995 ::core::result::Result::Ok(ok__) => {
10996 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
10997 ::windows::core::HRESULT(0)
10998 }
10999 ::core::result::Result::Err(err) => err.into(),
11000 }
11001 }
11002 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11003 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11004 let this = (*this).get_impl();
11005 match this._NewEnum() {
11006 ::core::result::Result::Ok(ok__) => {
11007 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
11008 ::windows::core::HRESULT(0)
11009 }
11010 ::core::result::Result::Err(err) => err.into(),
11011 }
11012 }
11013 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11014 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11015 let this = (*this).get_impl();
11016 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
11017 }
11018 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
11019 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11020 let this = (*this).get_impl();
11021 this.Remove(::core::mem::transmute_copy(&index)).into()
11022 }
11023 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11024 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11025 let this = (*this).get_impl();
11026 this.Clear().into()
11027 }
11028 unsafe extern "system" fn get_ItemByName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11029 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11030 let this = (*this).get_impl();
11031 match this.get_ItemByName(::core::mem::transmute(&bstrname)) {
11032 ::core::result::Result::Ok(ok__) => {
11033 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
11034 ::windows::core::HRESULT(0)
11035 }
11036 ::core::result::Result::Err(err) => err.into(),
11037 }
11038 }
11039 unsafe extern "system" fn get_ItemByOid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509CertificateTemplates_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, poid: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11040 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11041 let this = (*this).get_impl();
11042 match this.get_ItemByOid(::windows::core::from_raw_borrowed(&poid)) {
11043 ::core::result::Result::Ok(ok__) => {
11044 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
11045 ::windows::core::HRESULT(0)
11046 }
11047 ::core::result::Result::Err(err) => err.into(),
11048 }
11049 }
11050 Self {
11051 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
11052 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
11053 Count: Count::<Identity, Impl, OFFSET>,
11054 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
11055 Add: Add::<Identity, Impl, OFFSET>,
11056 Remove: Remove::<Identity, Impl, OFFSET>,
11057 Clear: Clear::<Identity, Impl, OFFSET>,
11058 get_ItemByName: get_ItemByName::<Identity, Impl, OFFSET>,
11059 get_ItemByOid: get_ItemByOid::<Identity, Impl, OFFSET>,
11060 }
11061 }
11062 pub fn matches(iid: &windows::core::GUID) -> bool {
11063 iid == &<IX509CertificateTemplates as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
11064 }
11065 }
11066 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
11067 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11068 pub trait IX509EndorsementKey_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
11069 fn ProviderName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11070 fn SetProviderName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11071 fn Length(&self) -> ::windows::core::Result<i32>;
11072 fn Opened(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
11073 fn AddCertificate(&self, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11074 fn RemoveCertificate(&self, encoding: EncodingType, strcertificate: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11075 fn GetCertificateByIndex(&self, manufactureronly: super::super::super::Foundation::VARIANT_BOOL, dwindex: i32, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
11076 fn GetCertificateCount(&self, manufactureronly: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<i32>;
11077 fn ExportPublicKey(&self) -> ::windows::core::Result<IX509PublicKey>;
11078 fn Open(&self) -> ::windows::core::Result<()>;
11079 fn Close(&self) -> ::windows::core::Result<()>;
11080 }
11081 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11082 impl ::windows::core::RuntimeName for IX509EndorsementKey {}
11083 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11084 impl IX509EndorsementKey_Vtbl {
11085 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>() -> IX509EndorsementKey_Vtbl {
11086 unsafe extern "system" fn ProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11087 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11088 let this = (*this).get_impl();
11089 match this.ProviderName() {
11090 ::core::result::Result::Ok(ok__) => {
11091 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11092 ::windows::core::HRESULT(0)
11093 }
11094 ::core::result::Result::Err(err) => err.into(),
11095 }
11096 }
11097 unsafe extern "system" fn SetProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11098 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11099 let this = (*this).get_impl();
11100 this.SetProviderName(::core::mem::transmute(&value)).into()
11101 }
11102 unsafe extern "system" fn Length<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
11103 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11104 let this = (*this).get_impl();
11105 match this.Length() {
11106 ::core::result::Result::Ok(ok__) => {
11107 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11108 ::windows::core::HRESULT(0)
11109 }
11110 ::core::result::Result::Err(err) => err.into(),
11111 }
11112 }
11113 unsafe extern "system" fn Opened<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
11114 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11115 let this = (*this).get_impl();
11116 match this.Opened() {
11117 ::core::result::Result::Ok(ok__) => {
11118 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11119 ::windows::core::HRESULT(0)
11120 }
11121 ::core::result::Result::Err(err) => err.into(),
11122 }
11123 }
11124 unsafe extern "system" fn AddCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11125 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11126 let this = (*this).get_impl();
11127 this.AddCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
11128 }
11129 unsafe extern "system" fn RemoveCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strcertificate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11130 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11131 let this = (*this).get_impl();
11132 this.RemoveCertificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strcertificate)).into()
11133 }
11134 unsafe extern "system" fn GetCertificateByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, manufactureronly: super::super::super::Foundation::VARIANT_BOOL, dwindex: i32, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11135 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11136 let this = (*this).get_impl();
11137 match this.GetCertificateByIndex(::core::mem::transmute_copy(&manufactureronly), ::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&encoding)) {
11138 ::core::result::Result::Ok(ok__) => {
11139 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11140 ::windows::core::HRESULT(0)
11141 }
11142 ::core::result::Result::Err(err) => err.into(),
11143 }
11144 }
11145 unsafe extern "system" fn GetCertificateCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, manufactureronly: super::super::super::Foundation::VARIANT_BOOL, pcount: *mut i32) -> ::windows::core::HRESULT {
11146 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11147 let this = (*this).get_impl();
11148 match this.GetCertificateCount(::core::mem::transmute_copy(&manufactureronly)) {
11149 ::core::result::Result::Ok(ok__) => {
11150 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
11151 ::windows::core::HRESULT(0)
11152 }
11153 ::core::result::Result::Err(err) => err.into(),
11154 }
11155 }
11156 unsafe extern "system" fn ExportPublicKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppublickey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11157 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11158 let this = (*this).get_impl();
11159 match this.ExportPublicKey() {
11160 ::core::result::Result::Ok(ok__) => {
11161 ::core::ptr::write(pppublickey, ::core::mem::transmute(ok__));
11162 ::windows::core::HRESULT(0)
11163 }
11164 ::core::result::Result::Err(err) => err.into(),
11165 }
11166 }
11167 unsafe extern "system" fn Open<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11168 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11169 let this = (*this).get_impl();
11170 this.Open().into()
11171 }
11172 unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EndorsementKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11173 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11174 let this = (*this).get_impl();
11175 this.Close().into()
11176 }
11177 Self {
11178 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
11179 ProviderName: ProviderName::<Identity, Impl, OFFSET>,
11180 SetProviderName: SetProviderName::<Identity, Impl, OFFSET>,
11181 Length: Length::<Identity, Impl, OFFSET>,
11182 Opened: Opened::<Identity, Impl, OFFSET>,
11183 AddCertificate: AddCertificate::<Identity, Impl, OFFSET>,
11184 RemoveCertificate: RemoveCertificate::<Identity, Impl, OFFSET>,
11185 GetCertificateByIndex: GetCertificateByIndex::<Identity, Impl, OFFSET>,
11186 GetCertificateCount: GetCertificateCount::<Identity, Impl, OFFSET>,
11187 ExportPublicKey: ExportPublicKey::<Identity, Impl, OFFSET>,
11188 Open: Open::<Identity, Impl, OFFSET>,
11189 Close: Close::<Identity, Impl, OFFSET>,
11190 }
11191 }
11192 pub fn matches(iid: &windows::core::GUID) -> bool {
11193 iid == &<IX509EndorsementKey as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
11194 }
11195 }
11196 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
11197 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11198 pub trait IX509Enrollment_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
11199 fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
11200 fn InitializeFromTemplateName(&self, context: X509CertificateEnrollmentContext, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11201 fn InitializeFromRequest(&self, prequest: ::core::option::Option<&IX509CertificateRequest>) -> ::windows::core::Result<()>;
11202 fn CreateRequest(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
11203 fn Enroll(&self) -> ::windows::core::Result<()>;
11204 fn InstallResponse(&self, restrictions: InstallResponseRestrictionFlags, strresponse: &::windows::core::BSTR, encoding: EncodingType, strpassword: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11205 fn CreatePFX(&self, strpassword: &::windows::core::BSTR, exportoptions: PFXExportOptions, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
11206 fn Request(&self) -> ::windows::core::Result<IX509CertificateRequest>;
11207 fn Silent(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
11208 fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
11209 fn ParentWindow(&self) -> ::windows::core::Result<i32>;
11210 fn SetParentWindow(&self, value: i32) -> ::windows::core::Result<()>;
11211 fn NameValuePairs(&self) -> ::windows::core::Result<IX509NameValuePairs>;
11212 fn EnrollmentContext(&self) -> ::windows::core::Result<X509CertificateEnrollmentContext>;
11213 fn Status(&self) -> ::windows::core::Result<IX509EnrollmentStatus>;
11214 fn get_Certificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
11215 fn get_Response(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
11216 fn CertificateFriendlyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11217 fn SetCertificateFriendlyName(&self, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11218 fn CertificateDescription(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11219 fn SetCertificateDescription(&self, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11220 fn RequestId(&self) -> ::windows::core::Result<i32>;
11221 fn CAConfigString(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11222 }
11223 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11224 impl ::windows::core::RuntimeName for IX509Enrollment {}
11225 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11226 impl IX509Enrollment_Vtbl {
11227 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>() -> IX509Enrollment_Vtbl {
11228 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
11229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11230 let this = (*this).get_impl();
11231 this.Initialize(::core::mem::transmute_copy(&context)).into()
11232 }
11233 unsafe extern "system" fn InitializeFromTemplateName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11234 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11235 let this = (*this).get_impl();
11236 this.InitializeFromTemplateName(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtemplatename)).into()
11237 }
11238 unsafe extern "system" fn InitializeFromRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequest: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11239 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11240 let this = (*this).get_impl();
11241 this.InitializeFromRequest(::windows::core::from_raw_borrowed(&prequest)).into()
11242 }
11243 unsafe extern "system" fn CreateRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11244 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11245 let this = (*this).get_impl();
11246 match this.CreateRequest(::core::mem::transmute_copy(&encoding)) {
11247 ::core::result::Result::Ok(ok__) => {
11248 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11249 ::windows::core::HRESULT(0)
11250 }
11251 ::core::result::Result::Err(err) => err.into(),
11252 }
11253 }
11254 unsafe extern "system" fn Enroll<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11255 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11256 let this = (*this).get_impl();
11257 this.Enroll().into()
11258 }
11259 unsafe extern "system" fn InstallResponse<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, restrictions: InstallResponseRestrictionFlags, strresponse: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11260 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11261 let this = (*this).get_impl();
11262 this.InstallResponse(::core::mem::transmute_copy(&restrictions), ::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strpassword)).into()
11263 }
11264 unsafe extern "system" fn CreatePFX<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, exportoptions: PFXExportOptions, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11265 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11266 let this = (*this).get_impl();
11267 match this.CreatePFX(::core::mem::transmute(&strpassword), ::core::mem::transmute_copy(&exportoptions), ::core::mem::transmute_copy(&encoding)) {
11268 ::core::result::Result::Ok(ok__) => {
11269 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11270 ::windows::core::HRESULT(0)
11271 }
11272 ::core::result::Result::Err(err) => err.into(),
11273 }
11274 }
11275 unsafe extern "system" fn Request<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11276 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11277 let this = (*this).get_impl();
11278 match this.Request() {
11279 ::core::result::Result::Ok(ok__) => {
11280 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11281 ::windows::core::HRESULT(0)
11282 }
11283 ::core::result::Result::Err(err) => err.into(),
11284 }
11285 }
11286 unsafe extern "system" fn Silent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
11287 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11288 let this = (*this).get_impl();
11289 match this.Silent() {
11290 ::core::result::Result::Ok(ok__) => {
11291 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11292 ::windows::core::HRESULT(0)
11293 }
11294 ::core::result::Result::Err(err) => err.into(),
11295 }
11296 }
11297 unsafe extern "system" fn SetSilent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
11298 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11299 let this = (*this).get_impl();
11300 this.SetSilent(::core::mem::transmute_copy(&value)).into()
11301 }
11302 unsafe extern "system" fn ParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
11303 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11304 let this = (*this).get_impl();
11305 match this.ParentWindow() {
11306 ::core::result::Result::Ok(ok__) => {
11307 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11308 ::windows::core::HRESULT(0)
11309 }
11310 ::core::result::Result::Err(err) => err.into(),
11311 }
11312 }
11313 unsafe extern "system" fn SetParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
11314 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11315 let this = (*this).get_impl();
11316 this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
11317 }
11318 unsafe extern "system" fn NameValuePairs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11319 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11320 let this = (*this).get_impl();
11321 match this.NameValuePairs() {
11322 ::core::result::Result::Ok(ok__) => {
11323 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
11324 ::windows::core::HRESULT(0)
11325 }
11326 ::core::result::Result::Err(err) => err.into(),
11327 }
11328 }
11329 unsafe extern "system" fn EnrollmentContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
11330 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11331 let this = (*this).get_impl();
11332 match this.EnrollmentContext() {
11333 ::core::result::Result::Ok(ok__) => {
11334 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11335 ::windows::core::HRESULT(0)
11336 }
11337 ::core::result::Result::Err(err) => err.into(),
11338 }
11339 }
11340 unsafe extern "system" fn Status<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11341 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11342 let this = (*this).get_impl();
11343 match this.Status() {
11344 ::core::result::Result::Ok(ok__) => {
11345 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
11346 ::windows::core::HRESULT(0)
11347 }
11348 ::core::result::Result::Err(err) => err.into(),
11349 }
11350 }
11351 unsafe extern "system" fn get_Certificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11352 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11353 let this = (*this).get_impl();
11354 match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
11355 ::core::result::Result::Ok(ok__) => {
11356 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11357 ::windows::core::HRESULT(0)
11358 }
11359 ::core::result::Result::Err(err) => err.into(),
11360 }
11361 }
11362 unsafe extern "system" fn get_Response<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11363 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11364 let this = (*this).get_impl();
11365 match this.get_Response(::core::mem::transmute_copy(&encoding)) {
11366 ::core::result::Result::Ok(ok__) => {
11367 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11368 ::windows::core::HRESULT(0)
11369 }
11370 ::core::result::Result::Err(err) => err.into(),
11371 }
11372 }
11373 unsafe extern "system" fn CertificateFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11374 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11375 let this = (*this).get_impl();
11376 match this.CertificateFriendlyName() {
11377 ::core::result::Result::Ok(ok__) => {
11378 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11379 ::windows::core::HRESULT(0)
11380 }
11381 ::core::result::Result::Err(err) => err.into(),
11382 }
11383 }
11384 unsafe extern "system" fn SetCertificateFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11385 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11386 let this = (*this).get_impl();
11387 this.SetCertificateFriendlyName(::core::mem::transmute(&strvalue)).into()
11388 }
11389 unsafe extern "system" fn CertificateDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11390 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11391 let this = (*this).get_impl();
11392 match this.CertificateDescription() {
11393 ::core::result::Result::Ok(ok__) => {
11394 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11395 ::windows::core::HRESULT(0)
11396 }
11397 ::core::result::Result::Err(err) => err.into(),
11398 }
11399 }
11400 unsafe extern "system" fn SetCertificateDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11401 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11402 let this = (*this).get_impl();
11403 this.SetCertificateDescription(::core::mem::transmute(&strvalue)).into()
11404 }
11405 unsafe extern "system" fn RequestId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
11406 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11407 let this = (*this).get_impl();
11408 match this.RequestId() {
11409 ::core::result::Result::Ok(ok__) => {
11410 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11411 ::windows::core::HRESULT(0)
11412 }
11413 ::core::result::Result::Err(err) => err.into(),
11414 }
11415 }
11416 unsafe extern "system" fn CAConfigString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11417 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11418 let this = (*this).get_impl();
11419 match this.CAConfigString() {
11420 ::core::result::Result::Ok(ok__) => {
11421 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11422 ::windows::core::HRESULT(0)
11423 }
11424 ::core::result::Result::Err(err) => err.into(),
11425 }
11426 }
11427 Self {
11428 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
11429 Initialize: Initialize::<Identity, Impl, OFFSET>,
11430 InitializeFromTemplateName: InitializeFromTemplateName::<Identity, Impl, OFFSET>,
11431 InitializeFromRequest: InitializeFromRequest::<Identity, Impl, OFFSET>,
11432 CreateRequest: CreateRequest::<Identity, Impl, OFFSET>,
11433 Enroll: Enroll::<Identity, Impl, OFFSET>,
11434 InstallResponse: InstallResponse::<Identity, Impl, OFFSET>,
11435 CreatePFX: CreatePFX::<Identity, Impl, OFFSET>,
11436 Request: Request::<Identity, Impl, OFFSET>,
11437 Silent: Silent::<Identity, Impl, OFFSET>,
11438 SetSilent: SetSilent::<Identity, Impl, OFFSET>,
11439 ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
11440 SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
11441 NameValuePairs: NameValuePairs::<Identity, Impl, OFFSET>,
11442 EnrollmentContext: EnrollmentContext::<Identity, Impl, OFFSET>,
11443 Status: Status::<Identity, Impl, OFFSET>,
11444 get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
11445 get_Response: get_Response::<Identity, Impl, OFFSET>,
11446 CertificateFriendlyName: CertificateFriendlyName::<Identity, Impl, OFFSET>,
11447 SetCertificateFriendlyName: SetCertificateFriendlyName::<Identity, Impl, OFFSET>,
11448 CertificateDescription: CertificateDescription::<Identity, Impl, OFFSET>,
11449 SetCertificateDescription: SetCertificateDescription::<Identity, Impl, OFFSET>,
11450 RequestId: RequestId::<Identity, Impl, OFFSET>,
11451 CAConfigString: CAConfigString::<Identity, Impl, OFFSET>,
11452 }
11453 }
11454 pub fn matches(iid: &windows::core::GUID) -> bool {
11455 iid == &<IX509Enrollment as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
11456 }
11457 }
11458 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
11459 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11460 pub trait IX509Enrollment2_Impl: Sized + IX509Enrollment_Impl {
11461 fn InitializeFromTemplate(&self, context: X509CertificateEnrollmentContext, ppolicyserver: ::core::option::Option<&IX509EnrollmentPolicyServer>, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<()>;
11462 fn InstallResponse2(&self, restrictions: InstallResponseRestrictionFlags, strresponse: &::windows::core::BSTR, encoding: EncodingType, strpassword: &::windows::core::BSTR, strenrollmentpolicyserverurl: &::windows::core::BSTR, strenrollmentpolicyserverid: &::windows::core::BSTR, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags) -> ::windows::core::Result<()>;
11463 fn PolicyServer(&self) -> ::windows::core::Result<IX509EnrollmentPolicyServer>;
11464 fn Template(&self) -> ::windows::core::Result<IX509CertificateTemplate>;
11465 fn RequestIdString(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11466 }
11467 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11468 impl ::windows::core::RuntimeName for IX509Enrollment2 {}
11469 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11470 impl IX509Enrollment2_Vtbl {
11471 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>() -> IX509Enrollment2_Vtbl {
11472 unsafe extern "system" fn InitializeFromTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, ppolicyserver: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11473 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11474 let this = (*this).get_impl();
11475 this.InitializeFromTemplate(::core::mem::transmute_copy(&context), ::windows::core::from_raw_borrowed(&ppolicyserver), ::windows::core::from_raw_borrowed(&ptemplate)).into()
11476 }
11477 unsafe extern "system" fn InstallResponse2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, restrictions: InstallResponseRestrictionFlags, strresponse: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, strenrollmentpolicyserverurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, strenrollmentpolicyserverid: ::std::mem::MaybeUninit<::windows::core::BSTR>, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags) -> ::windows::core::HRESULT {
11478 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11479 let this = (*this).get_impl();
11480 this.InstallResponse2(::core::mem::transmute_copy(&restrictions), ::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strpassword), ::core::mem::transmute(&strenrollmentpolicyserverurl), ::core::mem::transmute(&strenrollmentpolicyserverid), ::core::mem::transmute_copy(&enrollmentpolicyserverflags), ::core::mem::transmute_copy(&authflags)).into()
11481 }
11482 unsafe extern "system" fn PolicyServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppolicyserver: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11483 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11484 let this = (*this).get_impl();
11485 match this.PolicyServer() {
11486 ::core::result::Result::Ok(ok__) => {
11487 ::core::ptr::write(pppolicyserver, ::core::mem::transmute(ok__));
11488 ::windows::core::HRESULT(0)
11489 }
11490 ::core::result::Result::Err(err) => err.into(),
11491 }
11492 }
11493 unsafe extern "system" fn Template<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptemplate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11494 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11495 let this = (*this).get_impl();
11496 match this.Template() {
11497 ::core::result::Result::Ok(ok__) => {
11498 ::core::ptr::write(pptemplate, ::core::mem::transmute(ok__));
11499 ::windows::core::HRESULT(0)
11500 }
11501 ::core::result::Result::Err(err) => err.into(),
11502 }
11503 }
11504 unsafe extern "system" fn RequestIdString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Enrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11505 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11506 let this = (*this).get_impl();
11507 match this.RequestIdString() {
11508 ::core::result::Result::Ok(ok__) => {
11509 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11510 ::windows::core::HRESULT(0)
11511 }
11512 ::core::result::Result::Err(err) => err.into(),
11513 }
11514 }
11515 Self {
11516 base__: IX509Enrollment_Vtbl::new::<Identity, Impl, OFFSET>(),
11517 InitializeFromTemplate: InitializeFromTemplate::<Identity, Impl, OFFSET>,
11518 InstallResponse2: InstallResponse2::<Identity, Impl, OFFSET>,
11519 PolicyServer: PolicyServer::<Identity, Impl, OFFSET>,
11520 Template: Template::<Identity, Impl, OFFSET>,
11521 RequestIdString: RequestIdString::<Identity, Impl, OFFSET>,
11522 }
11523 }
11524 pub fn matches(iid: &windows::core::GUID) -> bool {
11525 iid == &<IX509Enrollment2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Enrollment as ::windows::core::ComInterface>::IID
11526 }
11527 }
11528 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
11529 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11530 pub trait IX509EnrollmentHelper_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
11531 fn AddPolicyServer(&self, strenrollmentpolicyserveruri: &::windows::core::BSTR, strenrollmentpolicyid: &::windows::core::BSTR, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags, strcredential: &::windows::core::BSTR, strpassword: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11532 fn AddEnrollmentServer(&self, strenrollmentserveruri: &::windows::core::BSTR, authflags: X509EnrollmentAuthFlags, strcredential: &::windows::core::BSTR, strpassword: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11533 fn Enroll(&self, strenrollmentpolicyserveruri: &::windows::core::BSTR, strtemplatename: &::windows::core::BSTR, encoding: EncodingType, enrollflags: WebEnrollmentFlags) -> ::windows::core::Result<::windows::core::BSTR>;
11534 fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
11535 }
11536 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11537 impl ::windows::core::RuntimeName for IX509EnrollmentHelper {}
11538 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11539 impl IX509EnrollmentHelper_Vtbl {
11540 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>() -> IX509EnrollmentHelper_Vtbl {
11541 unsafe extern "system" fn AddPolicyServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strenrollmentpolicyserveruri: ::std::mem::MaybeUninit<::windows::core::BSTR>, strenrollmentpolicyid: ::std::mem::MaybeUninit<::windows::core::BSTR>, enrollmentpolicyserverflags: PolicyServerUrlFlags, authflags: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows::core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11542 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11543 let this = (*this).get_impl();
11544 this.AddPolicyServer(::core::mem::transmute(&strenrollmentpolicyserveruri), ::core::mem::transmute(&strenrollmentpolicyid), ::core::mem::transmute_copy(&enrollmentpolicyserverflags), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
11545 }
11546 unsafe extern "system" fn AddEnrollmentServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strenrollmentserveruri: ::std::mem::MaybeUninit<::windows::core::BSTR>, authflags: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows::core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11547 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11548 let this = (*this).get_impl();
11549 this.AddEnrollmentServer(::core::mem::transmute(&strenrollmentserveruri), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
11550 }
11551 unsafe extern "system" fn Enroll<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strenrollmentpolicyserveruri: ::std::mem::MaybeUninit<::windows::core::BSTR>, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, enrollflags: WebEnrollmentFlags, pstrcertificate: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11552 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11553 let this = (*this).get_impl();
11554 match this.Enroll(::core::mem::transmute(&strenrollmentpolicyserveruri), ::core::mem::transmute(&strtemplatename), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute_copy(&enrollflags)) {
11555 ::core::result::Result::Ok(ok__) => {
11556 ::core::ptr::write(pstrcertificate, ::core::mem::transmute(ok__));
11557 ::windows::core::HRESULT(0)
11558 }
11559 ::core::result::Result::Err(err) => err.into(),
11560 }
11561 }
11562 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
11563 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11564 let this = (*this).get_impl();
11565 this.Initialize(::core::mem::transmute_copy(&context)).into()
11566 }
11567 Self {
11568 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
11569 AddPolicyServer: AddPolicyServer::<Identity, Impl, OFFSET>,
11570 AddEnrollmentServer: AddEnrollmentServer::<Identity, Impl, OFFSET>,
11571 Enroll: Enroll::<Identity, Impl, OFFSET>,
11572 Initialize: Initialize::<Identity, Impl, OFFSET>,
11573 }
11574 }
11575 pub fn matches(iid: &windows::core::GUID) -> bool {
11576 iid == &<IX509EnrollmentHelper as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
11577 }
11578 }
11579 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
11580 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11581 pub trait IX509EnrollmentPolicyServer_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
11582 fn Initialize(&self, bstrpolicyserverurl: &::windows::core::BSTR, bstrpolicyserverid: &::windows::core::BSTR, authflags: X509EnrollmentAuthFlags, fisuntrusted: super::super::super::Foundation::VARIANT_BOOL, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
11583 fn LoadPolicy(&self, option: X509EnrollmentPolicyLoadOption) -> ::windows::core::Result<()>;
11584 fn GetTemplates(&self) -> ::windows::core::Result<IX509CertificateTemplates>;
11585 fn GetCAsForTemplate(&self, ptemplate: ::core::option::Option<&IX509CertificateTemplate>) -> ::windows::core::Result<ICertificationAuthorities>;
11586 fn GetCAs(&self) -> ::windows::core::Result<ICertificationAuthorities>;
11587 fn Validate(&self) -> ::windows::core::Result<()>;
11588 fn GetCustomOids(&self) -> ::windows::core::Result<IObjectIds>;
11589 fn GetNextUpdateTime(&self) -> ::windows::core::Result<f64>;
11590 fn GetLastUpdateTime(&self) -> ::windows::core::Result<f64>;
11591 fn GetPolicyServerUrl(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11592 fn GetPolicyServerId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11593 fn GetFriendlyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11594 fn GetIsDefaultCEP(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
11595 fn GetUseClientId(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
11596 fn GetAllowUnTrustedCA(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
11597 fn GetCachePath(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11598 fn GetCacheDir(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11599 fn GetAuthFlags(&self) -> ::windows::core::Result<X509EnrollmentAuthFlags>;
11600 fn SetCredential(&self, hwndparent: i32, flag: X509EnrollmentAuthFlags, strcredential: &::windows::core::BSTR, strpassword: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11601 fn QueryChanges(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
11602 fn InitializeImport(&self, val: &super::super::super::System::Com::VARIANT) -> ::windows::core::Result<()>;
11603 fn Export(&self, exportflags: X509EnrollmentPolicyExportFlags) -> ::windows::core::Result<super::super::super::System::Com::VARIANT>;
11604 fn Cost(&self) -> ::windows::core::Result<u32>;
11605 fn SetCost(&self, value: u32) -> ::windows::core::Result<()>;
11606 }
11607 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11608 impl ::windows::core::RuntimeName for IX509EnrollmentPolicyServer {}
11609 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11610 impl IX509EnrollmentPolicyServer_Vtbl {
11611 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>() -> IX509EnrollmentPolicyServer_Vtbl {
11612 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpolicyserverurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpolicyserverid: ::std::mem::MaybeUninit<::windows::core::BSTR>, authflags: X509EnrollmentAuthFlags, fisuntrusted: super::super::super::Foundation::VARIANT_BOOL, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
11613 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11614 let this = (*this).get_impl();
11615 this.Initialize(::core::mem::transmute(&bstrpolicyserverurl), ::core::mem::transmute(&bstrpolicyserverid), ::core::mem::transmute_copy(&authflags), ::core::mem::transmute_copy(&fisuntrusted), ::core::mem::transmute_copy(&context)).into()
11616 }
11617 unsafe extern "system" fn LoadPolicy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, option: X509EnrollmentPolicyLoadOption) -> ::windows::core::HRESULT {
11618 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11619 let this = (*this).get_impl();
11620 this.LoadPolicy(::core::mem::transmute_copy(&option)).into()
11621 }
11622 unsafe extern "system" fn GetTemplates<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptemplates: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11623 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11624 let this = (*this).get_impl();
11625 match this.GetTemplates() {
11626 ::core::result::Result::Ok(ok__) => {
11627 ::core::ptr::write(ptemplates, ::core::mem::transmute(ok__));
11628 ::windows::core::HRESULT(0)
11629 }
11630 ::core::result::Result::Err(err) => err.into(),
11631 }
11632 }
11633 unsafe extern "system" fn GetCAsForTemplate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptemplate: *mut ::core::ffi::c_void, ppcas: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11634 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11635 let this = (*this).get_impl();
11636 match this.GetCAsForTemplate(::windows::core::from_raw_borrowed(&ptemplate)) {
11637 ::core::result::Result::Ok(ok__) => {
11638 ::core::ptr::write(ppcas, ::core::mem::transmute(ok__));
11639 ::windows::core::HRESULT(0)
11640 }
11641 ::core::result::Result::Err(err) => err.into(),
11642 }
11643 }
11644 unsafe extern "system" fn GetCAs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcas: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11645 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11646 let this = (*this).get_impl();
11647 match this.GetCAs() {
11648 ::core::result::Result::Ok(ok__) => {
11649 ::core::ptr::write(ppcas, ::core::mem::transmute(ok__));
11650 ::windows::core::HRESULT(0)
11651 }
11652 ::core::result::Result::Err(err) => err.into(),
11653 }
11654 }
11655 unsafe extern "system" fn Validate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11656 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11657 let this = (*this).get_impl();
11658 this.Validate().into()
11659 }
11660 unsafe extern "system" fn GetCustomOids<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppobjectids: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
11661 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11662 let this = (*this).get_impl();
11663 match this.GetCustomOids() {
11664 ::core::result::Result::Ok(ok__) => {
11665 ::core::ptr::write(ppobjectids, ::core::mem::transmute(ok__));
11666 ::windows::core::HRESULT(0)
11667 }
11668 ::core::result::Result::Err(err) => err.into(),
11669 }
11670 }
11671 unsafe extern "system" fn GetNextUpdateTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdate: *mut f64) -> ::windows::core::HRESULT {
11672 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11673 let this = (*this).get_impl();
11674 match this.GetNextUpdateTime() {
11675 ::core::result::Result::Ok(ok__) => {
11676 ::core::ptr::write(pdate, ::core::mem::transmute(ok__));
11677 ::windows::core::HRESULT(0)
11678 }
11679 ::core::result::Result::Err(err) => err.into(),
11680 }
11681 }
11682 unsafe extern "system" fn GetLastUpdateTime<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdate: *mut f64) -> ::windows::core::HRESULT {
11683 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11684 let this = (*this).get_impl();
11685 match this.GetLastUpdateTime() {
11686 ::core::result::Result::Ok(ok__) => {
11687 ::core::ptr::write(pdate, ::core::mem::transmute(ok__));
11688 ::windows::core::HRESULT(0)
11689 }
11690 ::core::result::Result::Err(err) => err.into(),
11691 }
11692 }
11693 unsafe extern "system" fn GetPolicyServerUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11694 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11695 let this = (*this).get_impl();
11696 match this.GetPolicyServerUrl() {
11697 ::core::result::Result::Ok(ok__) => {
11698 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11699 ::windows::core::HRESULT(0)
11700 }
11701 ::core::result::Result::Err(err) => err.into(),
11702 }
11703 }
11704 unsafe extern "system" fn GetPolicyServerId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11705 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11706 let this = (*this).get_impl();
11707 match this.GetPolicyServerId() {
11708 ::core::result::Result::Ok(ok__) => {
11709 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11710 ::windows::core::HRESULT(0)
11711 }
11712 ::core::result::Result::Err(err) => err.into(),
11713 }
11714 }
11715 unsafe extern "system" fn GetFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11716 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11717 let this = (*this).get_impl();
11718 match this.GetFriendlyName() {
11719 ::core::result::Result::Ok(ok__) => {
11720 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11721 ::windows::core::HRESULT(0)
11722 }
11723 ::core::result::Result::Err(err) => err.into(),
11724 }
11725 }
11726 unsafe extern "system" fn GetIsDefaultCEP<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
11727 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11728 let this = (*this).get_impl();
11729 match this.GetIsDefaultCEP() {
11730 ::core::result::Result::Ok(ok__) => {
11731 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11732 ::windows::core::HRESULT(0)
11733 }
11734 ::core::result::Result::Err(err) => err.into(),
11735 }
11736 }
11737 unsafe extern "system" fn GetUseClientId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
11738 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11739 let this = (*this).get_impl();
11740 match this.GetUseClientId() {
11741 ::core::result::Result::Ok(ok__) => {
11742 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11743 ::windows::core::HRESULT(0)
11744 }
11745 ::core::result::Result::Err(err) => err.into(),
11746 }
11747 }
11748 unsafe extern "system" fn GetAllowUnTrustedCA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
11749 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11750 let this = (*this).get_impl();
11751 match this.GetAllowUnTrustedCA() {
11752 ::core::result::Result::Ok(ok__) => {
11753 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11754 ::windows::core::HRESULT(0)
11755 }
11756 ::core::result::Result::Err(err) => err.into(),
11757 }
11758 }
11759 unsafe extern "system" fn GetCachePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11760 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11761 let this = (*this).get_impl();
11762 match this.GetCachePath() {
11763 ::core::result::Result::Ok(ok__) => {
11764 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11765 ::windows::core::HRESULT(0)
11766 }
11767 ::core::result::Result::Err(err) => err.into(),
11768 }
11769 }
11770 unsafe extern "system" fn GetCacheDir<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11771 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11772 let this = (*this).get_impl();
11773 match this.GetCacheDir() {
11774 ::core::result::Result::Ok(ok__) => {
11775 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11776 ::windows::core::HRESULT(0)
11777 }
11778 ::core::result::Result::Err(err) => err.into(),
11779 }
11780 }
11781 unsafe extern "system" fn GetAuthFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows::core::HRESULT {
11782 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11783 let this = (*this).get_impl();
11784 match this.GetAuthFlags() {
11785 ::core::result::Result::Ok(ok__) => {
11786 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11787 ::windows::core::HRESULT(0)
11788 }
11789 ::core::result::Result::Err(err) => err.into(),
11790 }
11791 }
11792 unsafe extern "system" fn SetCredential<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndparent: i32, flag: X509EnrollmentAuthFlags, strcredential: ::std::mem::MaybeUninit<::windows::core::BSTR>, strpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11793 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11794 let this = (*this).get_impl();
11795 this.SetCredential(::core::mem::transmute_copy(&hwndparent), ::core::mem::transmute_copy(&flag), ::core::mem::transmute(&strcredential), ::core::mem::transmute(&strpassword)).into()
11796 }
11797 unsafe extern "system" fn QueryChanges<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
11798 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11799 let this = (*this).get_impl();
11800 match this.QueryChanges() {
11801 ::core::result::Result::Ok(ok__) => {
11802 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11803 ::windows::core::HRESULT(0)
11804 }
11805 ::core::result::Result::Err(err) => err.into(),
11806 }
11807 }
11808 unsafe extern "system" fn InitializeImport<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, val: super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
11809 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11810 let this = (*this).get_impl();
11811 this.InitializeImport(::core::mem::transmute(&val)).into()
11812 }
11813 unsafe extern "system" fn Export<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, exportflags: X509EnrollmentPolicyExportFlags, pval: *mut super::super::super::System::Com::VARIANT) -> ::windows::core::HRESULT {
11814 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11815 let this = (*this).get_impl();
11816 match this.Export(::core::mem::transmute_copy(&exportflags)) {
11817 ::core::result::Result::Ok(ok__) => {
11818 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
11819 ::windows::core::HRESULT(0)
11820 }
11821 ::core::result::Result::Err(err) => err.into(),
11822 }
11823 }
11824 unsafe extern "system" fn Cost<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut u32) -> ::windows::core::HRESULT {
11825 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11826 let this = (*this).get_impl();
11827 match this.Cost() {
11828 ::core::result::Result::Ok(ok__) => {
11829 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11830 ::windows::core::HRESULT(0)
11831 }
11832 ::core::result::Result::Err(err) => err.into(),
11833 }
11834 }
11835 unsafe extern "system" fn SetCost<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentPolicyServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT {
11836 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11837 let this = (*this).get_impl();
11838 this.SetCost(::core::mem::transmute_copy(&value)).into()
11839 }
11840 Self {
11841 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
11842 Initialize: Initialize::<Identity, Impl, OFFSET>,
11843 LoadPolicy: LoadPolicy::<Identity, Impl, OFFSET>,
11844 GetTemplates: GetTemplates::<Identity, Impl, OFFSET>,
11845 GetCAsForTemplate: GetCAsForTemplate::<Identity, Impl, OFFSET>,
11846 GetCAs: GetCAs::<Identity, Impl, OFFSET>,
11847 Validate: Validate::<Identity, Impl, OFFSET>,
11848 GetCustomOids: GetCustomOids::<Identity, Impl, OFFSET>,
11849 GetNextUpdateTime: GetNextUpdateTime::<Identity, Impl, OFFSET>,
11850 GetLastUpdateTime: GetLastUpdateTime::<Identity, Impl, OFFSET>,
11851 GetPolicyServerUrl: GetPolicyServerUrl::<Identity, Impl, OFFSET>,
11852 GetPolicyServerId: GetPolicyServerId::<Identity, Impl, OFFSET>,
11853 GetFriendlyName: GetFriendlyName::<Identity, Impl, OFFSET>,
11854 GetIsDefaultCEP: GetIsDefaultCEP::<Identity, Impl, OFFSET>,
11855 GetUseClientId: GetUseClientId::<Identity, Impl, OFFSET>,
11856 GetAllowUnTrustedCA: GetAllowUnTrustedCA::<Identity, Impl, OFFSET>,
11857 GetCachePath: GetCachePath::<Identity, Impl, OFFSET>,
11858 GetCacheDir: GetCacheDir::<Identity, Impl, OFFSET>,
11859 GetAuthFlags: GetAuthFlags::<Identity, Impl, OFFSET>,
11860 SetCredential: SetCredential::<Identity, Impl, OFFSET>,
11861 QueryChanges: QueryChanges::<Identity, Impl, OFFSET>,
11862 InitializeImport: InitializeImport::<Identity, Impl, OFFSET>,
11863 Export: Export::<Identity, Impl, OFFSET>,
11864 Cost: Cost::<Identity, Impl, OFFSET>,
11865 SetCost: SetCost::<Identity, Impl, OFFSET>,
11866 }
11867 }
11868 pub fn matches(iid: &windows::core::GUID) -> bool {
11869 iid == &<IX509EnrollmentPolicyServer as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
11870 }
11871 }
11872 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
11873 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11874 pub trait IX509EnrollmentStatus_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
11875 fn AppendText(&self, strtext: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11876 fn Text(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11877 fn SetText(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
11878 fn Selected(&self) -> ::windows::core::Result<EnrollmentSelectionStatus>;
11879 fn SetSelected(&self, value: EnrollmentSelectionStatus) -> ::windows::core::Result<()>;
11880 fn Display(&self) -> ::windows::core::Result<EnrollmentDisplayStatus>;
11881 fn SetDisplay(&self, value: EnrollmentDisplayStatus) -> ::windows::core::Result<()>;
11882 fn Status(&self) -> ::windows::core::Result<EnrollmentEnrollStatus>;
11883 fn SetStatus(&self, value: EnrollmentEnrollStatus) -> ::windows::core::Result<()>;
11884 fn Error(&self) -> ::windows::core::Result<::windows::core::HRESULT>;
11885 fn SetError(&self, value: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
11886 fn ErrorText(&self) -> ::windows::core::Result<::windows::core::BSTR>;
11887 }
11888 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11889 impl ::windows::core::RuntimeName for IX509EnrollmentStatus {}
11890 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11891 impl IX509EnrollmentStatus_Vtbl {
11892 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>() -> IX509EnrollmentStatus_Vtbl {
11893 unsafe extern "system" fn AppendText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strtext: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11894 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11895 let this = (*this).get_impl();
11896 this.AppendText(::core::mem::transmute(&strtext)).into()
11897 }
11898 unsafe extern "system" fn Text<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11899 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11900 let this = (*this).get_impl();
11901 match this.Text() {
11902 ::core::result::Result::Ok(ok__) => {
11903 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11904 ::windows::core::HRESULT(0)
11905 }
11906 ::core::result::Result::Err(err) => err.into(),
11907 }
11908 }
11909 unsafe extern "system" fn SetText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11910 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11911 let this = (*this).get_impl();
11912 this.SetText(::core::mem::transmute(&value)).into()
11913 }
11914 unsafe extern "system" fn Selected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentSelectionStatus) -> ::windows::core::HRESULT {
11915 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11916 let this = (*this).get_impl();
11917 match this.Selected() {
11918 ::core::result::Result::Ok(ok__) => {
11919 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11920 ::windows::core::HRESULT(0)
11921 }
11922 ::core::result::Result::Err(err) => err.into(),
11923 }
11924 }
11925 unsafe extern "system" fn SetSelected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: EnrollmentSelectionStatus) -> ::windows::core::HRESULT {
11926 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11927 let this = (*this).get_impl();
11928 this.SetSelected(::core::mem::transmute_copy(&value)).into()
11929 }
11930 unsafe extern "system" fn Display<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentDisplayStatus) -> ::windows::core::HRESULT {
11931 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11932 let this = (*this).get_impl();
11933 match this.Display() {
11934 ::core::result::Result::Ok(ok__) => {
11935 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11936 ::windows::core::HRESULT(0)
11937 }
11938 ::core::result::Result::Err(err) => err.into(),
11939 }
11940 }
11941 unsafe extern "system" fn SetDisplay<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: EnrollmentDisplayStatus) -> ::windows::core::HRESULT {
11942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11943 let this = (*this).get_impl();
11944 this.SetDisplay(::core::mem::transmute_copy(&value)).into()
11945 }
11946 unsafe extern "system" fn Status<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut EnrollmentEnrollStatus) -> ::windows::core::HRESULT {
11947 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11948 let this = (*this).get_impl();
11949 match this.Status() {
11950 ::core::result::Result::Ok(ok__) => {
11951 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11952 ::windows::core::HRESULT(0)
11953 }
11954 ::core::result::Result::Err(err) => err.into(),
11955 }
11956 }
11957 unsafe extern "system" fn SetStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: EnrollmentEnrollStatus) -> ::windows::core::HRESULT {
11958 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11959 let this = (*this).get_impl();
11960 this.SetStatus(::core::mem::transmute_copy(&value)).into()
11961 }
11962 unsafe extern "system" fn Error<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::windows::core::HRESULT) -> ::windows::core::HRESULT {
11963 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11964 let this = (*this).get_impl();
11965 match this.Error() {
11966 ::core::result::Result::Ok(ok__) => {
11967 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11968 ::windows::core::HRESULT(0)
11969 }
11970 ::core::result::Result::Err(err) => err.into(),
11971 }
11972 }
11973 unsafe extern "system" fn SetError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
11974 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11975 let this = (*this).get_impl();
11976 this.SetError(::core::mem::transmute_copy(&value)).into()
11977 }
11978 unsafe extern "system" fn ErrorText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
11979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
11980 let this = (*this).get_impl();
11981 match this.ErrorText() {
11982 ::core::result::Result::Ok(ok__) => {
11983 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
11984 ::windows::core::HRESULT(0)
11985 }
11986 ::core::result::Result::Err(err) => err.into(),
11987 }
11988 }
11989 Self {
11990 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
11991 AppendText: AppendText::<Identity, Impl, OFFSET>,
11992 Text: Text::<Identity, Impl, OFFSET>,
11993 SetText: SetText::<Identity, Impl, OFFSET>,
11994 Selected: Selected::<Identity, Impl, OFFSET>,
11995 SetSelected: SetSelected::<Identity, Impl, OFFSET>,
11996 Display: Display::<Identity, Impl, OFFSET>,
11997 SetDisplay: SetDisplay::<Identity, Impl, OFFSET>,
11998 Status: Status::<Identity, Impl, OFFSET>,
11999 SetStatus: SetStatus::<Identity, Impl, OFFSET>,
12000 Error: Error::<Identity, Impl, OFFSET>,
12001 SetError: SetError::<Identity, Impl, OFFSET>,
12002 ErrorText: ErrorText::<Identity, Impl, OFFSET>,
12003 }
12004 }
12005 pub fn matches(iid: &windows::core::GUID) -> bool {
12006 iid == &<IX509EnrollmentStatus as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12007 }
12008 }
12009 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12010 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12011 pub trait IX509EnrollmentWebClassFactory_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12012 fn CreateObject(&self, strprogid: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::IUnknown>;
12013 }
12014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12015 impl ::windows::core::RuntimeName for IX509EnrollmentWebClassFactory {}
12016 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12017 impl IX509EnrollmentWebClassFactory_Vtbl {
12018 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentWebClassFactory_Impl, const OFFSET: isize>() -> IX509EnrollmentWebClassFactory_Vtbl {
12019 unsafe extern "system" fn CreateObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509EnrollmentWebClassFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppiunknown: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12020 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12021 let this = (*this).get_impl();
12022 match this.CreateObject(::core::mem::transmute(&strprogid)) {
12023 ::core::result::Result::Ok(ok__) => {
12024 ::core::ptr::write(ppiunknown, ::core::mem::transmute(ok__));
12025 ::windows::core::HRESULT(0)
12026 }
12027 ::core::result::Result::Err(err) => err.into(),
12028 }
12029 }
12030 Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), CreateObject: CreateObject::<Identity, Impl, OFFSET> }
12031 }
12032 pub fn matches(iid: &windows::core::GUID) -> bool {
12033 iid == &<IX509EnrollmentWebClassFactory as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12034 }
12035 }
12036 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12037 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12038 pub trait IX509Extension_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12039 fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12040 fn ObjectId(&self) -> ::windows::core::Result<IObjectId>;
12041 fn get_RawData(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
12042 fn Critical(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
12043 fn SetCritical(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
12044 }
12045 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12046 impl ::windows::core::RuntimeName for IX509Extension {}
12047 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12048 impl IX509Extension_Vtbl {
12049 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>() -> IX509Extension_Vtbl {
12050 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12051 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12052 let this = (*this).get_impl();
12053 this.Initialize(::windows::core::from_raw_borrowed(&pobjectid), ::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12054 }
12055 unsafe extern "system" fn ObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12056 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12057 let this = (*this).get_impl();
12058 match this.ObjectId() {
12059 ::core::result::Result::Ok(ok__) => {
12060 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12061 ::windows::core::HRESULT(0)
12062 }
12063 ::core::result::Result::Err(err) => err.into(),
12064 }
12065 }
12066 unsafe extern "system" fn get_RawData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12067 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12068 let this = (*this).get_impl();
12069 match this.get_RawData(::core::mem::transmute_copy(&encoding)) {
12070 ::core::result::Result::Ok(ok__) => {
12071 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12072 ::windows::core::HRESULT(0)
12073 }
12074 ::core::result::Result::Err(err) => err.into(),
12075 }
12076 }
12077 unsafe extern "system" fn Critical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
12078 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12079 let this = (*this).get_impl();
12080 match this.Critical() {
12081 ::core::result::Result::Ok(ok__) => {
12082 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12083 ::windows::core::HRESULT(0)
12084 }
12085 ::core::result::Result::Err(err) => err.into(),
12086 }
12087 }
12088 unsafe extern "system" fn SetCritical<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
12089 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12090 let this = (*this).get_impl();
12091 this.SetCritical(::core::mem::transmute_copy(&value)).into()
12092 }
12093 Self {
12094 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
12095 Initialize: Initialize::<Identity, Impl, OFFSET>,
12096 ObjectId: ObjectId::<Identity, Impl, OFFSET>,
12097 get_RawData: get_RawData::<Identity, Impl, OFFSET>,
12098 Critical: Critical::<Identity, Impl, OFFSET>,
12099 SetCritical: SetCritical::<Identity, Impl, OFFSET>,
12100 }
12101 }
12102 pub fn matches(iid: &windows::core::GUID) -> bool {
12103 iid == &<IX509Extension as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12104 }
12105 }
12106 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12107 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12108 pub trait IX509ExtensionAlternativeNames_Impl: Sized + IX509Extension_Impl {
12109 fn InitializeEncode(&self, pvalue: ::core::option::Option<&IAlternativeNames>) -> ::windows::core::Result<()>;
12110 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12111 fn AlternativeNames(&self) -> ::windows::core::Result<IAlternativeNames>;
12112 }
12113 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12114 impl ::windows::core::RuntimeName for IX509ExtensionAlternativeNames {}
12115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12116 impl IX509ExtensionAlternativeNames_Vtbl {
12117 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>() -> IX509ExtensionAlternativeNames_Vtbl {
12118 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12119 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12120 let this = (*this).get_impl();
12121 this.InitializeEncode(::windows::core::from_raw_borrowed(&pvalue)).into()
12122 }
12123 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12124 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12125 let this = (*this).get_impl();
12126 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12127 }
12128 unsafe extern "system" fn AlternativeNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAlternativeNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12129 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12130 let this = (*this).get_impl();
12131 match this.AlternativeNames() {
12132 ::core::result::Result::Ok(ok__) => {
12133 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12134 ::windows::core::HRESULT(0)
12135 }
12136 ::core::result::Result::Err(err) => err.into(),
12137 }
12138 }
12139 Self {
12140 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12141 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12142 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12143 AlternativeNames: AlternativeNames::<Identity, Impl, OFFSET>,
12144 }
12145 }
12146 pub fn matches(iid: &windows::core::GUID) -> bool {
12147 iid == &<IX509ExtensionAlternativeNames as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12148 }
12149 }
12150 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12151 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12152 pub trait IX509ExtensionAuthorityKeyIdentifier_Impl: Sized + IX509Extension_Impl {
12153 fn InitializeEncode(&self, encoding: EncodingType, strkeyidentifier: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12154 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12155 fn get_AuthorityKeyIdentifier(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
12156 }
12157 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12158 impl ::windows::core::RuntimeName for IX509ExtensionAuthorityKeyIdentifier {}
12159 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12160 impl IX509ExtensionAuthorityKeyIdentifier_Vtbl {
12161 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>() -> IX509ExtensionAuthorityKeyIdentifier_Vtbl {
12162 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strkeyidentifier: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12163 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12164 let this = (*this).get_impl();
12165 this.InitializeEncode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strkeyidentifier)).into()
12166 }
12167 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12168 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12169 let this = (*this).get_impl();
12170 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12171 }
12172 unsafe extern "system" fn get_AuthorityKeyIdentifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionAuthorityKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12173 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12174 let this = (*this).get_impl();
12175 match this.get_AuthorityKeyIdentifier(::core::mem::transmute_copy(&encoding)) {
12176 ::core::result::Result::Ok(ok__) => {
12177 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12178 ::windows::core::HRESULT(0)
12179 }
12180 ::core::result::Result::Err(err) => err.into(),
12181 }
12182 }
12183 Self {
12184 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12185 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12186 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12187 get_AuthorityKeyIdentifier: get_AuthorityKeyIdentifier::<Identity, Impl, OFFSET>,
12188 }
12189 }
12190 pub fn matches(iid: &windows::core::GUID) -> bool {
12191 iid == &<IX509ExtensionAuthorityKeyIdentifier as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12192 }
12193 }
12194 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12195 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12196 pub trait IX509ExtensionBasicConstraints_Impl: Sized + IX509Extension_Impl {
12197 fn InitializeEncode(&self, isca: super::super::super::Foundation::VARIANT_BOOL, pathlenconstraint: i32) -> ::windows::core::Result<()>;
12198 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12199 fn IsCA(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
12200 fn PathLenConstraint(&self) -> ::windows::core::Result<i32>;
12201 }
12202 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12203 impl ::windows::core::RuntimeName for IX509ExtensionBasicConstraints {}
12204 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12205 impl IX509ExtensionBasicConstraints_Vtbl {
12206 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>() -> IX509ExtensionBasicConstraints_Vtbl {
12207 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isca: super::super::super::Foundation::VARIANT_BOOL, pathlenconstraint: i32) -> ::windows::core::HRESULT {
12208 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12209 let this = (*this).get_impl();
12210 this.InitializeEncode(::core::mem::transmute_copy(&isca), ::core::mem::transmute_copy(&pathlenconstraint)).into()
12211 }
12212 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12213 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12214 let this = (*this).get_impl();
12215 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12216 }
12217 unsafe extern "system" fn IsCA<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
12218 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12219 let this = (*this).get_impl();
12220 match this.IsCA() {
12221 ::core::result::Result::Ok(ok__) => {
12222 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12223 ::windows::core::HRESULT(0)
12224 }
12225 ::core::result::Result::Err(err) => err.into(),
12226 }
12227 }
12228 unsafe extern "system" fn PathLenConstraint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionBasicConstraints_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
12229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12230 let this = (*this).get_impl();
12231 match this.PathLenConstraint() {
12232 ::core::result::Result::Ok(ok__) => {
12233 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12234 ::windows::core::HRESULT(0)
12235 }
12236 ::core::result::Result::Err(err) => err.into(),
12237 }
12238 }
12239 Self {
12240 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12241 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12242 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12243 IsCA: IsCA::<Identity, Impl, OFFSET>,
12244 PathLenConstraint: PathLenConstraint::<Identity, Impl, OFFSET>,
12245 }
12246 }
12247 pub fn matches(iid: &windows::core::GUID) -> bool {
12248 iid == &<IX509ExtensionBasicConstraints as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12249 }
12250 }
12251 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12252 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12253 pub trait IX509ExtensionCertificatePolicies_Impl: Sized + IX509Extension_Impl {
12254 fn InitializeEncode(&self, pvalue: ::core::option::Option<&ICertificatePolicies>) -> ::windows::core::Result<()>;
12255 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12256 fn Policies(&self) -> ::windows::core::Result<ICertificatePolicies>;
12257 }
12258 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12259 impl ::windows::core::RuntimeName for IX509ExtensionCertificatePolicies {}
12260 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12261 impl IX509ExtensionCertificatePolicies_Vtbl {
12262 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>() -> IX509ExtensionCertificatePolicies_Vtbl {
12263 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12264 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12265 let this = (*this).get_impl();
12266 this.InitializeEncode(::windows::core::from_raw_borrowed(&pvalue)).into()
12267 }
12268 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12269 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12270 let this = (*this).get_impl();
12271 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12272 }
12273 unsafe extern "system" fn Policies<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionCertificatePolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12274 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12275 let this = (*this).get_impl();
12276 match this.Policies() {
12277 ::core::result::Result::Ok(ok__) => {
12278 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12279 ::windows::core::HRESULT(0)
12280 }
12281 ::core::result::Result::Err(err) => err.into(),
12282 }
12283 }
12284 Self {
12285 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12286 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12287 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12288 Policies: Policies::<Identity, Impl, OFFSET>,
12289 }
12290 }
12291 pub fn matches(iid: &windows::core::GUID) -> bool {
12292 iid == &<IX509ExtensionCertificatePolicies as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12293 }
12294 }
12295 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12296 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12297 pub trait IX509ExtensionEnhancedKeyUsage_Impl: Sized + IX509Extension_Impl {
12298 fn InitializeEncode(&self, pvalue: ::core::option::Option<&IObjectIds>) -> ::windows::core::Result<()>;
12299 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12300 fn EnhancedKeyUsage(&self) -> ::windows::core::Result<IObjectIds>;
12301 }
12302 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12303 impl ::windows::core::RuntimeName for IX509ExtensionEnhancedKeyUsage {}
12304 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12305 impl IX509ExtensionEnhancedKeyUsage_Vtbl {
12306 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>() -> IX509ExtensionEnhancedKeyUsage_Vtbl {
12307 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12308 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12309 let this = (*this).get_impl();
12310 this.InitializeEncode(::windows::core::from_raw_borrowed(&pvalue)).into()
12311 }
12312 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12313 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12314 let this = (*this).get_impl();
12315 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12316 }
12317 unsafe extern "system" fn EnhancedKeyUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionEnhancedKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12318 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12319 let this = (*this).get_impl();
12320 match this.EnhancedKeyUsage() {
12321 ::core::result::Result::Ok(ok__) => {
12322 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12323 ::windows::core::HRESULT(0)
12324 }
12325 ::core::result::Result::Err(err) => err.into(),
12326 }
12327 }
12328 Self {
12329 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12330 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12331 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12332 EnhancedKeyUsage: EnhancedKeyUsage::<Identity, Impl, OFFSET>,
12333 }
12334 }
12335 pub fn matches(iid: &windows::core::GUID) -> bool {
12336 iid == &<IX509ExtensionEnhancedKeyUsage as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12337 }
12338 }
12339 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12340 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12341 pub trait IX509ExtensionKeyUsage_Impl: Sized + IX509Extension_Impl {
12342 fn InitializeEncode(&self, usageflags: X509KeyUsageFlags) -> ::windows::core::Result<()>;
12343 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12344 fn KeyUsage(&self) -> ::windows::core::Result<X509KeyUsageFlags>;
12345 }
12346 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12347 impl ::windows::core::RuntimeName for IX509ExtensionKeyUsage {}
12348 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12349 impl IX509ExtensionKeyUsage_Vtbl {
12350 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>() -> IX509ExtensionKeyUsage_Vtbl {
12351 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usageflags: X509KeyUsageFlags) -> ::windows::core::HRESULT {
12352 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12353 let this = (*this).get_impl();
12354 this.InitializeEncode(::core::mem::transmute_copy(&usageflags)).into()
12355 }
12356 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12357 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12358 let this = (*this).get_impl();
12359 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12360 }
12361 unsafe extern "system" fn KeyUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionKeyUsage_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeyUsageFlags) -> ::windows::core::HRESULT {
12362 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12363 let this = (*this).get_impl();
12364 match this.KeyUsage() {
12365 ::core::result::Result::Ok(ok__) => {
12366 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12367 ::windows::core::HRESULT(0)
12368 }
12369 ::core::result::Result::Err(err) => err.into(),
12370 }
12371 }
12372 Self {
12373 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12374 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12375 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12376 KeyUsage: KeyUsage::<Identity, Impl, OFFSET>,
12377 }
12378 }
12379 pub fn matches(iid: &windows::core::GUID) -> bool {
12380 iid == &<IX509ExtensionKeyUsage as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12381 }
12382 }
12383 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12384 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12385 pub trait IX509ExtensionMSApplicationPolicies_Impl: Sized + IX509Extension_Impl {
12386 fn InitializeEncode(&self, pvalue: ::core::option::Option<&ICertificatePolicies>) -> ::windows::core::Result<()>;
12387 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12388 fn Policies(&self) -> ::windows::core::Result<ICertificatePolicies>;
12389 }
12390 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12391 impl ::windows::core::RuntimeName for IX509ExtensionMSApplicationPolicies {}
12392 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12393 impl IX509ExtensionMSApplicationPolicies_Vtbl {
12394 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>() -> IX509ExtensionMSApplicationPolicies_Vtbl {
12395 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12396 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12397 let this = (*this).get_impl();
12398 this.InitializeEncode(::windows::core::from_raw_borrowed(&pvalue)).into()
12399 }
12400 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12401 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12402 let this = (*this).get_impl();
12403 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12404 }
12405 unsafe extern "system" fn Policies<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionMSApplicationPolicies_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12406 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12407 let this = (*this).get_impl();
12408 match this.Policies() {
12409 ::core::result::Result::Ok(ok__) => {
12410 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12411 ::windows::core::HRESULT(0)
12412 }
12413 ::core::result::Result::Err(err) => err.into(),
12414 }
12415 }
12416 Self {
12417 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12418 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12419 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12420 Policies: Policies::<Identity, Impl, OFFSET>,
12421 }
12422 }
12423 pub fn matches(iid: &windows::core::GUID) -> bool {
12424 iid == &<IX509ExtensionMSApplicationPolicies as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12425 }
12426 }
12427 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12428 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12429 pub trait IX509ExtensionSmimeCapabilities_Impl: Sized + IX509Extension_Impl {
12430 fn InitializeEncode(&self, pvalue: ::core::option::Option<&ISmimeCapabilities>) -> ::windows::core::Result<()>;
12431 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12432 fn SmimeCapabilities(&self) -> ::windows::core::Result<ISmimeCapabilities>;
12433 }
12434 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12435 impl ::windows::core::RuntimeName for IX509ExtensionSmimeCapabilities {}
12436 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12437 impl IX509ExtensionSmimeCapabilities_Vtbl {
12438 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>() -> IX509ExtensionSmimeCapabilities_Vtbl {
12439 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12440 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12441 let this = (*this).get_impl();
12442 this.InitializeEncode(::windows::core::from_raw_borrowed(&pvalue)).into()
12443 }
12444 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12445 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12446 let this = (*this).get_impl();
12447 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12448 }
12449 unsafe extern "system" fn SmimeCapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSmimeCapabilities_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12450 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12451 let this = (*this).get_impl();
12452 match this.SmimeCapabilities() {
12453 ::core::result::Result::Ok(ok__) => {
12454 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12455 ::windows::core::HRESULT(0)
12456 }
12457 ::core::result::Result::Err(err) => err.into(),
12458 }
12459 }
12460 Self {
12461 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12462 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12463 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12464 SmimeCapabilities: SmimeCapabilities::<Identity, Impl, OFFSET>,
12465 }
12466 }
12467 pub fn matches(iid: &windows::core::GUID) -> bool {
12468 iid == &<IX509ExtensionSmimeCapabilities as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12469 }
12470 }
12471 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12472 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12473 pub trait IX509ExtensionSubjectKeyIdentifier_Impl: Sized + IX509Extension_Impl {
12474 fn InitializeEncode(&self, encoding: EncodingType, strkeyidentifier: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12475 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12476 fn get_SubjectKeyIdentifier(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
12477 }
12478 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12479 impl ::windows::core::RuntimeName for IX509ExtensionSubjectKeyIdentifier {}
12480 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12481 impl IX509ExtensionSubjectKeyIdentifier_Vtbl {
12482 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>() -> IX509ExtensionSubjectKeyIdentifier_Vtbl {
12483 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strkeyidentifier: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12484 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12485 let this = (*this).get_impl();
12486 this.InitializeEncode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strkeyidentifier)).into()
12487 }
12488 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12489 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12490 let this = (*this).get_impl();
12491 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12492 }
12493 unsafe extern "system" fn get_SubjectKeyIdentifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionSubjectKeyIdentifier_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12494 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12495 let this = (*this).get_impl();
12496 match this.get_SubjectKeyIdentifier(::core::mem::transmute_copy(&encoding)) {
12497 ::core::result::Result::Ok(ok__) => {
12498 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12499 ::windows::core::HRESULT(0)
12500 }
12501 ::core::result::Result::Err(err) => err.into(),
12502 }
12503 }
12504 Self {
12505 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12506 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12507 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12508 get_SubjectKeyIdentifier: get_SubjectKeyIdentifier::<Identity, Impl, OFFSET>,
12509 }
12510 }
12511 pub fn matches(iid: &windows::core::GUID) -> bool {
12512 iid == &<IX509ExtensionSubjectKeyIdentifier as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12513 }
12514 }
12515 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12516 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12517 pub trait IX509ExtensionTemplate_Impl: Sized + IX509Extension_Impl {
12518 fn InitializeEncode(&self, ptemplateoid: ::core::option::Option<&IObjectId>, majorversion: i32, minorversion: i32) -> ::windows::core::Result<()>;
12519 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12520 fn TemplateOid(&self) -> ::windows::core::Result<IObjectId>;
12521 fn MajorVersion(&self) -> ::windows::core::Result<i32>;
12522 fn MinorVersion(&self) -> ::windows::core::Result<i32>;
12523 }
12524 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12525 impl ::windows::core::RuntimeName for IX509ExtensionTemplate {}
12526 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12527 impl IX509ExtensionTemplate_Vtbl {
12528 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>() -> IX509ExtensionTemplate_Vtbl {
12529 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptemplateoid: *mut ::core::ffi::c_void, majorversion: i32, minorversion: i32) -> ::windows::core::HRESULT {
12530 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12531 let this = (*this).get_impl();
12532 this.InitializeEncode(::windows::core::from_raw_borrowed(&ptemplateoid), ::core::mem::transmute_copy(&majorversion), ::core::mem::transmute_copy(&minorversion)).into()
12533 }
12534 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12535 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12536 let this = (*this).get_impl();
12537 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12538 }
12539 unsafe extern "system" fn TemplateOid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12540 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12541 let this = (*this).get_impl();
12542 match this.TemplateOid() {
12543 ::core::result::Result::Ok(ok__) => {
12544 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12545 ::windows::core::HRESULT(0)
12546 }
12547 ::core::result::Result::Err(err) => err.into(),
12548 }
12549 }
12550 unsafe extern "system" fn MajorVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
12551 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12552 let this = (*this).get_impl();
12553 match this.MajorVersion() {
12554 ::core::result::Result::Ok(ok__) => {
12555 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12556 ::windows::core::HRESULT(0)
12557 }
12558 ::core::result::Result::Err(err) => err.into(),
12559 }
12560 }
12561 unsafe extern "system" fn MinorVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplate_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
12562 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12563 let this = (*this).get_impl();
12564 match this.MinorVersion() {
12565 ::core::result::Result::Ok(ok__) => {
12566 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12567 ::windows::core::HRESULT(0)
12568 }
12569 ::core::result::Result::Err(err) => err.into(),
12570 }
12571 }
12572 Self {
12573 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12574 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12575 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12576 TemplateOid: TemplateOid::<Identity, Impl, OFFSET>,
12577 MajorVersion: MajorVersion::<Identity, Impl, OFFSET>,
12578 MinorVersion: MinorVersion::<Identity, Impl, OFFSET>,
12579 }
12580 }
12581 pub fn matches(iid: &windows::core::GUID) -> bool {
12582 iid == &<IX509ExtensionTemplate as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12583 }
12584 }
12585 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12586 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12587 pub trait IX509ExtensionTemplateName_Impl: Sized + IX509Extension_Impl {
12588 fn InitializeEncode(&self, strtemplatename: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12589 fn InitializeDecode(&self, encoding: EncodingType, strencodeddata: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12590 fn TemplateName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
12591 }
12592 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12593 impl ::windows::core::RuntimeName for IX509ExtensionTemplateName {}
12594 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12595 impl IX509ExtensionTemplateName_Vtbl {
12596 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>() -> IX509ExtensionTemplateName_Vtbl {
12597 unsafe extern "system" fn InitializeEncode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strtemplatename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12598 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12599 let this = (*this).get_impl();
12600 this.InitializeEncode(::core::mem::transmute(&strtemplatename)).into()
12601 }
12602 unsafe extern "system" fn InitializeDecode<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, strencodeddata: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12603 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12604 let this = (*this).get_impl();
12605 this.InitializeDecode(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&strencodeddata)).into()
12606 }
12607 unsafe extern "system" fn TemplateName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509ExtensionTemplateName_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12608 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12609 let this = (*this).get_impl();
12610 match this.TemplateName() {
12611 ::core::result::Result::Ok(ok__) => {
12612 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12613 ::windows::core::HRESULT(0)
12614 }
12615 ::core::result::Result::Err(err) => err.into(),
12616 }
12617 }
12618 Self {
12619 base__: IX509Extension_Vtbl::new::<Identity, Impl, OFFSET>(),
12620 InitializeEncode: InitializeEncode::<Identity, Impl, OFFSET>,
12621 InitializeDecode: InitializeDecode::<Identity, Impl, OFFSET>,
12622 TemplateName: TemplateName::<Identity, Impl, OFFSET>,
12623 }
12624 }
12625 pub fn matches(iid: &windows::core::GUID) -> bool {
12626 iid == &<IX509ExtensionTemplateName as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509Extension as ::windows::core::ComInterface>::IID
12627 }
12628 }
12629 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12630 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12631 pub trait IX509Extensions_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12632 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IX509Extension>;
12633 fn Count(&self) -> ::windows::core::Result<i32>;
12634 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
12635 fn Add(&self, pval: ::core::option::Option<&IX509Extension>) -> ::windows::core::Result<()>;
12636 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
12637 fn Clear(&self) -> ::windows::core::Result<()>;
12638 fn get_IndexByObjectId(&self, pobjectid: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<i32>;
12639 fn AddRange(&self, pvalue: ::core::option::Option<&IX509Extensions>) -> ::windows::core::Result<()>;
12640 }
12641 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12642 impl ::windows::core::RuntimeName for IX509Extensions {}
12643 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12644 impl IX509Extensions_Vtbl {
12645 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>() -> IX509Extensions_Vtbl {
12646 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12647 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12648 let this = (*this).get_impl();
12649 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
12650 ::core::result::Result::Ok(ok__) => {
12651 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12652 ::windows::core::HRESULT(0)
12653 }
12654 ::core::result::Result::Err(err) => err.into(),
12655 }
12656 }
12657 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
12658 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12659 let this = (*this).get_impl();
12660 match this.Count() {
12661 ::core::result::Result::Ok(ok__) => {
12662 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12663 ::windows::core::HRESULT(0)
12664 }
12665 ::core::result::Result::Err(err) => err.into(),
12666 }
12667 }
12668 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12669 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12670 let this = (*this).get_impl();
12671 match this._NewEnum() {
12672 ::core::result::Result::Ok(ok__) => {
12673 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12674 ::windows::core::HRESULT(0)
12675 }
12676 ::core::result::Result::Err(err) => err.into(),
12677 }
12678 }
12679 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12680 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12681 let this = (*this).get_impl();
12682 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
12683 }
12684 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
12685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12686 let this = (*this).get_impl();
12687 this.Remove(::core::mem::transmute_copy(&index)).into()
12688 }
12689 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12690 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12691 let this = (*this).get_impl();
12692 this.Clear().into()
12693 }
12694 unsafe extern "system" fn get_IndexByObjectId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, pindex: *mut i32) -> ::windows::core::HRESULT {
12695 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12696 let this = (*this).get_impl();
12697 match this.get_IndexByObjectId(::windows::core::from_raw_borrowed(&pobjectid)) {
12698 ::core::result::Result::Ok(ok__) => {
12699 ::core::ptr::write(pindex, ::core::mem::transmute(ok__));
12700 ::windows::core::HRESULT(0)
12701 }
12702 ::core::result::Result::Err(err) => err.into(),
12703 }
12704 }
12705 unsafe extern "system" fn AddRange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12706 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12707 let this = (*this).get_impl();
12708 this.AddRange(::windows::core::from_raw_borrowed(&pvalue)).into()
12709 }
12710 Self {
12711 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
12712 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
12713 Count: Count::<Identity, Impl, OFFSET>,
12714 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
12715 Add: Add::<Identity, Impl, OFFSET>,
12716 Remove: Remove::<Identity, Impl, OFFSET>,
12717 Clear: Clear::<Identity, Impl, OFFSET>,
12718 get_IndexByObjectId: get_IndexByObjectId::<Identity, Impl, OFFSET>,
12719 AddRange: AddRange::<Identity, Impl, OFFSET>,
12720 }
12721 }
12722 pub fn matches(iid: &windows::core::GUID) -> bool {
12723 iid == &<IX509Extensions as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12724 }
12725 }
12726 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12727 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12728 pub trait IX509MachineEnrollmentFactory_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12729 fn CreateObject(&self, strprogid: &::windows::core::BSTR) -> ::windows::core::Result<IX509EnrollmentHelper>;
12730 }
12731 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12732 impl ::windows::core::RuntimeName for IX509MachineEnrollmentFactory {}
12733 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12734 impl IX509MachineEnrollmentFactory_Vtbl {
12735 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509MachineEnrollmentFactory_Impl, const OFFSET: isize>() -> IX509MachineEnrollmentFactory_Vtbl {
12736 unsafe extern "system" fn CreateObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509MachineEnrollmentFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppihelper: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12737 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12738 let this = (*this).get_impl();
12739 match this.CreateObject(::core::mem::transmute(&strprogid)) {
12740 ::core::result::Result::Ok(ok__) => {
12741 ::core::ptr::write(ppihelper, ::core::mem::transmute(ok__));
12742 ::windows::core::HRESULT(0)
12743 }
12744 ::core::result::Result::Err(err) => err.into(),
12745 }
12746 }
12747 Self { base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), CreateObject: CreateObject::<Identity, Impl, OFFSET> }
12748 }
12749 pub fn matches(iid: &windows::core::GUID) -> bool {
12750 iid == &<IX509MachineEnrollmentFactory as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12751 }
12752 }
12753 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12754 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12755 pub trait IX509NameValuePair_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12756 fn Initialize(&self, strname: &::windows::core::BSTR, strvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12757 fn Value(&self) -> ::windows::core::Result<::windows::core::BSTR>;
12758 fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>;
12759 }
12760 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12761 impl ::windows::core::RuntimeName for IX509NameValuePair {}
12762 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12763 impl IX509NameValuePair_Vtbl {
12764 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>() -> IX509NameValuePair_Vtbl {
12765 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strname: ::std::mem::MaybeUninit<::windows::core::BSTR>, strvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12766 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12767 let this = (*this).get_impl();
12768 this.Initialize(::core::mem::transmute(&strname), ::core::mem::transmute(&strvalue)).into()
12769 }
12770 unsafe extern "system" fn Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12771 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12772 let this = (*this).get_impl();
12773 match this.Value() {
12774 ::core::result::Result::Ok(ok__) => {
12775 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12776 ::windows::core::HRESULT(0)
12777 }
12778 ::core::result::Result::Err(err) => err.into(),
12779 }
12780 }
12781 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePair_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12782 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12783 let this = (*this).get_impl();
12784 match this.Name() {
12785 ::core::result::Result::Ok(ok__) => {
12786 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
12787 ::windows::core::HRESULT(0)
12788 }
12789 ::core::result::Result::Err(err) => err.into(),
12790 }
12791 }
12792 Self {
12793 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
12794 Initialize: Initialize::<Identity, Impl, OFFSET>,
12795 Value: Value::<Identity, Impl, OFFSET>,
12796 Name: Name::<Identity, Impl, OFFSET>,
12797 }
12798 }
12799 pub fn matches(iid: &windows::core::GUID) -> bool {
12800 iid == &<IX509NameValuePair as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12801 }
12802 }
12803 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12804 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12805 pub trait IX509NameValuePairs_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12806 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IX509NameValuePair>;
12807 fn Count(&self) -> ::windows::core::Result<i32>;
12808 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
12809 fn Add(&self, pval: ::core::option::Option<&IX509NameValuePair>) -> ::windows::core::Result<()>;
12810 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
12811 fn Clear(&self) -> ::windows::core::Result<()>;
12812 }
12813 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12814 impl ::windows::core::RuntimeName for IX509NameValuePairs {}
12815 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12816 impl IX509NameValuePairs_Vtbl {
12817 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>() -> IX509NameValuePairs_Vtbl {
12818 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12819 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12820 let this = (*this).get_impl();
12821 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
12822 ::core::result::Result::Ok(ok__) => {
12823 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12824 ::windows::core::HRESULT(0)
12825 }
12826 ::core::result::Result::Err(err) => err.into(),
12827 }
12828 }
12829 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
12830 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12831 let this = (*this).get_impl();
12832 match this.Count() {
12833 ::core::result::Result::Ok(ok__) => {
12834 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12835 ::windows::core::HRESULT(0)
12836 }
12837 ::core::result::Result::Err(err) => err.into(),
12838 }
12839 }
12840 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12841 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12842 let this = (*this).get_impl();
12843 match this._NewEnum() {
12844 ::core::result::Result::Ok(ok__) => {
12845 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12846 ::windows::core::HRESULT(0)
12847 }
12848 ::core::result::Result::Err(err) => err.into(),
12849 }
12850 }
12851 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12852 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12853 let this = (*this).get_impl();
12854 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
12855 }
12856 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
12857 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12858 let this = (*this).get_impl();
12859 this.Remove(::core::mem::transmute_copy(&index)).into()
12860 }
12861 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509NameValuePairs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12862 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12863 let this = (*this).get_impl();
12864 this.Clear().into()
12865 }
12866 Self {
12867 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
12868 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
12869 Count: Count::<Identity, Impl, OFFSET>,
12870 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
12871 Add: Add::<Identity, Impl, OFFSET>,
12872 Remove: Remove::<Identity, Impl, OFFSET>,
12873 Clear: Clear::<Identity, Impl, OFFSET>,
12874 }
12875 }
12876 pub fn matches(iid: &windows::core::GUID) -> bool {
12877 iid == &<IX509NameValuePairs as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12878 }
12879 }
12880 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12881 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12882 pub trait IX509PolicyServerListManager_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12883 fn get_ItemByIndex(&self, index: i32) -> ::windows::core::Result<IX509PolicyServerUrl>;
12884 fn Count(&self) -> ::windows::core::Result<i32>;
12885 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
12886 fn Add(&self, pval: ::core::option::Option<&IX509PolicyServerUrl>) -> ::windows::core::Result<()>;
12887 fn Remove(&self, index: i32) -> ::windows::core::Result<()>;
12888 fn Clear(&self) -> ::windows::core::Result<()>;
12889 fn Initialize(&self, context: X509CertificateEnrollmentContext, flags: PolicyServerUrlFlags) -> ::windows::core::Result<()>;
12890 }
12891 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12892 impl ::windows::core::RuntimeName for IX509PolicyServerListManager {}
12893 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12894 impl IX509PolicyServerListManager_Vtbl {
12895 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>() -> IX509PolicyServerListManager_Vtbl {
12896 unsafe extern "system" fn get_ItemByIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12897 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12898 let this = (*this).get_impl();
12899 match this.get_ItemByIndex(::core::mem::transmute_copy(&index)) {
12900 ::core::result::Result::Ok(ok__) => {
12901 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12902 ::windows::core::HRESULT(0)
12903 }
12904 ::core::result::Result::Err(err) => err.into(),
12905 }
12906 }
12907 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
12908 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12909 let this = (*this).get_impl();
12910 match this.Count() {
12911 ::core::result::Result::Ok(ok__) => {
12912 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12913 ::windows::core::HRESULT(0)
12914 }
12915 ::core::result::Result::Err(err) => err.into(),
12916 }
12917 }
12918 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12919 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12920 let this = (*this).get_impl();
12921 match this._NewEnum() {
12922 ::core::result::Result::Ok(ok__) => {
12923 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
12924 ::windows::core::HRESULT(0)
12925 }
12926 ::core::result::Result::Err(err) => err.into(),
12927 }
12928 }
12929 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12930 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12931 let this = (*this).get_impl();
12932 this.Add(::windows::core::from_raw_borrowed(&pval)).into()
12933 }
12934 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT {
12935 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12936 let this = (*this).get_impl();
12937 this.Remove(::core::mem::transmute_copy(&index)).into()
12938 }
12939 unsafe extern "system" fn Clear<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12940 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12941 let this = (*this).get_impl();
12942 this.Clear().into()
12943 }
12944 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerListManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, flags: PolicyServerUrlFlags) -> ::windows::core::HRESULT {
12945 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12946 let this = (*this).get_impl();
12947 this.Initialize(::core::mem::transmute_copy(&context), ::core::mem::transmute_copy(&flags)).into()
12948 }
12949 Self {
12950 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
12951 get_ItemByIndex: get_ItemByIndex::<Identity, Impl, OFFSET>,
12952 Count: Count::<Identity, Impl, OFFSET>,
12953 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
12954 Add: Add::<Identity, Impl, OFFSET>,
12955 Remove: Remove::<Identity, Impl, OFFSET>,
12956 Clear: Clear::<Identity, Impl, OFFSET>,
12957 Initialize: Initialize::<Identity, Impl, OFFSET>,
12958 }
12959 }
12960 pub fn matches(iid: &windows::core::GUID) -> bool {
12961 iid == &<IX509PolicyServerListManager as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
12962 }
12963 }
12964 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
12965 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12966 pub trait IX509PolicyServerUrl_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
12967 fn Initialize(&self, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
12968 fn Url(&self) -> ::windows::core::Result<::windows::core::BSTR>;
12969 fn SetUrl(&self, pvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12970 fn Default(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
12971 fn SetDefault(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
12972 fn Flags(&self) -> ::windows::core::Result<PolicyServerUrlFlags>;
12973 fn SetFlags(&self, flags: PolicyServerUrlFlags) -> ::windows::core::Result<()>;
12974 fn AuthFlags(&self) -> ::windows::core::Result<X509EnrollmentAuthFlags>;
12975 fn SetAuthFlags(&self, flags: X509EnrollmentAuthFlags) -> ::windows::core::Result<()>;
12976 fn Cost(&self) -> ::windows::core::Result<u32>;
12977 fn SetCost(&self, value: u32) -> ::windows::core::Result<()>;
12978 fn GetStringProperty(&self, propertyid: PolicyServerUrlPropertyID) -> ::windows::core::Result<::windows::core::BSTR>;
12979 fn SetStringProperty(&self, propertyid: PolicyServerUrlPropertyID, pvalue: &::windows::core::BSTR) -> ::windows::core::Result<()>;
12980 fn UpdateRegistry(&self, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
12981 fn RemoveFromRegistry(&self, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
12982 }
12983 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12984 impl ::windows::core::RuntimeName for IX509PolicyServerUrl {}
12985 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
12986 impl IX509PolicyServerUrl_Vtbl {
12987 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>() -> IX509PolicyServerUrl_Vtbl {
12988 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
12989 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12990 let this = (*this).get_impl();
12991 this.Initialize(::core::mem::transmute_copy(&context)).into()
12992 }
12993 unsafe extern "system" fn Url<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
12994 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
12995 let this = (*this).get_impl();
12996 match this.Url() {
12997 ::core::result::Result::Ok(ok__) => {
12998 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
12999 ::windows::core::HRESULT(0)
13000 }
13001 ::core::result::Result::Err(err) => err.into(),
13002 }
13003 }
13004 unsafe extern "system" fn SetUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13005 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13006 let this = (*this).get_impl();
13007 this.SetUrl(::core::mem::transmute(&pvalue)).into()
13008 }
13009 unsafe extern "system" fn Default<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13010 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13011 let this = (*this).get_impl();
13012 match this.Default() {
13013 ::core::result::Result::Ok(ok__) => {
13014 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13015 ::windows::core::HRESULT(0)
13016 }
13017 ::core::result::Result::Err(err) => err.into(),
13018 }
13019 }
13020 unsafe extern "system" fn SetDefault<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13021 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13022 let this = (*this).get_impl();
13023 this.SetDefault(::core::mem::transmute_copy(&value)).into()
13024 }
13025 unsafe extern "system" fn Flags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut PolicyServerUrlFlags) -> ::windows::core::HRESULT {
13026 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13027 let this = (*this).get_impl();
13028 match this.Flags() {
13029 ::core::result::Result::Ok(ok__) => {
13030 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13031 ::windows::core::HRESULT(0)
13032 }
13033 ::core::result::Result::Err(err) => err.into(),
13034 }
13035 }
13036 unsafe extern "system" fn SetFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: PolicyServerUrlFlags) -> ::windows::core::HRESULT {
13037 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13038 let this = (*this).get_impl();
13039 this.SetFlags(::core::mem::transmute_copy(&flags)).into()
13040 }
13041 unsafe extern "system" fn AuthFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509EnrollmentAuthFlags) -> ::windows::core::HRESULT {
13042 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13043 let this = (*this).get_impl();
13044 match this.AuthFlags() {
13045 ::core::result::Result::Ok(ok__) => {
13046 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13047 ::windows::core::HRESULT(0)
13048 }
13049 ::core::result::Result::Err(err) => err.into(),
13050 }
13051 }
13052 unsafe extern "system" fn SetAuthFlags<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: X509EnrollmentAuthFlags) -> ::windows::core::HRESULT {
13053 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13054 let this = (*this).get_impl();
13055 this.SetAuthFlags(::core::mem::transmute_copy(&flags)).into()
13056 }
13057 unsafe extern "system" fn Cost<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut u32) -> ::windows::core::HRESULT {
13058 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13059 let this = (*this).get_impl();
13060 match this.Cost() {
13061 ::core::result::Result::Ok(ok__) => {
13062 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13063 ::windows::core::HRESULT(0)
13064 }
13065 ::core::result::Result::Err(err) => err.into(),
13066 }
13067 }
13068 unsafe extern "system" fn SetCost<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT {
13069 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13070 let this = (*this).get_impl();
13071 this.SetCost(::core::mem::transmute_copy(&value)).into()
13072 }
13073 unsafe extern "system" fn GetStringProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propertyid: PolicyServerUrlPropertyID, ppvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13074 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13075 let this = (*this).get_impl();
13076 match this.GetStringProperty(::core::mem::transmute_copy(&propertyid)) {
13077 ::core::result::Result::Ok(ok__) => {
13078 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
13079 ::windows::core::HRESULT(0)
13080 }
13081 ::core::result::Result::Err(err) => err.into(),
13082 }
13083 }
13084 unsafe extern "system" fn SetStringProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propertyid: PolicyServerUrlPropertyID, pvalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13085 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13086 let this = (*this).get_impl();
13087 this.SetStringProperty(::core::mem::transmute_copy(&propertyid), ::core::mem::transmute(&pvalue)).into()
13088 }
13089 unsafe extern "system" fn UpdateRegistry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
13090 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13091 let this = (*this).get_impl();
13092 this.UpdateRegistry(::core::mem::transmute_copy(&context)).into()
13093 }
13094 unsafe extern "system" fn RemoveFromRegistry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PolicyServerUrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
13095 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13096 let this = (*this).get_impl();
13097 this.RemoveFromRegistry(::core::mem::transmute_copy(&context)).into()
13098 }
13099 Self {
13100 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
13101 Initialize: Initialize::<Identity, Impl, OFFSET>,
13102 Url: Url::<Identity, Impl, OFFSET>,
13103 SetUrl: SetUrl::<Identity, Impl, OFFSET>,
13104 Default: Default::<Identity, Impl, OFFSET>,
13105 SetDefault: SetDefault::<Identity, Impl, OFFSET>,
13106 Flags: Flags::<Identity, Impl, OFFSET>,
13107 SetFlags: SetFlags::<Identity, Impl, OFFSET>,
13108 AuthFlags: AuthFlags::<Identity, Impl, OFFSET>,
13109 SetAuthFlags: SetAuthFlags::<Identity, Impl, OFFSET>,
13110 Cost: Cost::<Identity, Impl, OFFSET>,
13111 SetCost: SetCost::<Identity, Impl, OFFSET>,
13112 GetStringProperty: GetStringProperty::<Identity, Impl, OFFSET>,
13113 SetStringProperty: SetStringProperty::<Identity, Impl, OFFSET>,
13114 UpdateRegistry: UpdateRegistry::<Identity, Impl, OFFSET>,
13115 RemoveFromRegistry: RemoveFromRegistry::<Identity, Impl, OFFSET>,
13116 }
13117 }
13118 pub fn matches(iid: &windows::core::GUID) -> bool {
13119 iid == &<IX509PolicyServerUrl as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
13120 }
13121 }
13122 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
13123 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13124 pub trait IX509PrivateKey_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
13125 fn Open(&self) -> ::windows::core::Result<()>;
13126 fn Create(&self) -> ::windows::core::Result<()>;
13127 fn Close(&self) -> ::windows::core::Result<()>;
13128 fn Delete(&self) -> ::windows::core::Result<()>;
13129 fn Verify(&self, verifytype: X509PrivateKeyVerify) -> ::windows::core::Result<()>;
13130 fn Import(&self, strexporttype: &::windows::core::BSTR, strencodedkey: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
13131 fn Export(&self, strexporttype: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13132 fn ExportPublicKey(&self) -> ::windows::core::Result<IX509PublicKey>;
13133 fn ContainerName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13134 fn SetContainerName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13135 fn ContainerNamePrefix(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13136 fn SetContainerNamePrefix(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13137 fn ReaderName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13138 fn SetReaderName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13139 fn CspInformations(&self) -> ::windows::core::Result<ICspInformations>;
13140 fn SetCspInformations(&self, pvalue: ::core::option::Option<&ICspInformations>) -> ::windows::core::Result<()>;
13141 fn CspStatus(&self) -> ::windows::core::Result<ICspStatus>;
13142 fn SetCspStatus(&self, pvalue: ::core::option::Option<&ICspStatus>) -> ::windows::core::Result<()>;
13143 fn ProviderName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13144 fn SetProviderName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13145 fn ProviderType(&self) -> ::windows::core::Result<X509ProviderType>;
13146 fn SetProviderType(&self, value: X509ProviderType) -> ::windows::core::Result<()>;
13147 fn LegacyCsp(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
13148 fn SetLegacyCsp(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
13149 fn Algorithm(&self) -> ::windows::core::Result<IObjectId>;
13150 fn SetAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
13151 fn KeySpec(&self) -> ::windows::core::Result<X509KeySpec>;
13152 fn SetKeySpec(&self, value: X509KeySpec) -> ::windows::core::Result<()>;
13153 fn Length(&self) -> ::windows::core::Result<i32>;
13154 fn SetLength(&self, value: i32) -> ::windows::core::Result<()>;
13155 fn ExportPolicy(&self) -> ::windows::core::Result<X509PrivateKeyExportFlags>;
13156 fn SetExportPolicy(&self, value: X509PrivateKeyExportFlags) -> ::windows::core::Result<()>;
13157 fn KeyUsage(&self) -> ::windows::core::Result<X509PrivateKeyUsageFlags>;
13158 fn SetKeyUsage(&self, value: X509PrivateKeyUsageFlags) -> ::windows::core::Result<()>;
13159 fn KeyProtection(&self) -> ::windows::core::Result<X509PrivateKeyProtection>;
13160 fn SetKeyProtection(&self, value: X509PrivateKeyProtection) -> ::windows::core::Result<()>;
13161 fn MachineContext(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
13162 fn SetMachineContext(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
13163 fn SecurityDescriptor(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13164 fn SetSecurityDescriptor(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13165 fn get_Certificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13166 fn put_Certificate(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13167 fn UniqueContainerName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13168 fn Opened(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
13169 fn DefaultContainer(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
13170 fn Existing(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
13171 fn SetExisting(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
13172 fn Silent(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
13173 fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
13174 fn ParentWindow(&self) -> ::windows::core::Result<i32>;
13175 fn SetParentWindow(&self, value: i32) -> ::windows::core::Result<()>;
13176 fn UIContextMessage(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13177 fn SetUIContextMessage(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13178 fn SetPin(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13179 fn FriendlyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13180 fn SetFriendlyName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13181 fn Description(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13182 fn SetDescription(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13183 }
13184 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13185 impl ::windows::core::RuntimeName for IX509PrivateKey {}
13186 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13187 impl IX509PrivateKey_Vtbl {
13188 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>() -> IX509PrivateKey_Vtbl {
13189 unsafe extern "system" fn Open<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13190 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13191 let this = (*this).get_impl();
13192 this.Open().into()
13193 }
13194 unsafe extern "system" fn Create<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13195 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13196 let this = (*this).get_impl();
13197 this.Create().into()
13198 }
13199 unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13200 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13201 let this = (*this).get_impl();
13202 this.Close().into()
13203 }
13204 unsafe extern "system" fn Delete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13205 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13206 let this = (*this).get_impl();
13207 this.Delete().into()
13208 }
13209 unsafe extern "system" fn Verify<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, verifytype: X509PrivateKeyVerify) -> ::windows::core::HRESULT {
13210 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13211 let this = (*this).get_impl();
13212 this.Verify(::core::mem::transmute_copy(&verifytype)).into()
13213 }
13214 unsafe extern "system" fn Import<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strexporttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, strencodedkey: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
13215 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13216 let this = (*this).get_impl();
13217 this.Import(::core::mem::transmute(&strexporttype), ::core::mem::transmute(&strencodedkey), ::core::mem::transmute_copy(&encoding)).into()
13218 }
13219 unsafe extern "system" fn Export<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strexporttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, pstrencodedkey: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13220 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13221 let this = (*this).get_impl();
13222 match this.Export(::core::mem::transmute(&strexporttype), ::core::mem::transmute_copy(&encoding)) {
13223 ::core::result::Result::Ok(ok__) => {
13224 ::core::ptr::write(pstrencodedkey, ::core::mem::transmute(ok__));
13225 ::windows::core::HRESULT(0)
13226 }
13227 ::core::result::Result::Err(err) => err.into(),
13228 }
13229 }
13230 unsafe extern "system" fn ExportPublicKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pppublickey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13231 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13232 let this = (*this).get_impl();
13233 match this.ExportPublicKey() {
13234 ::core::result::Result::Ok(ok__) => {
13235 ::core::ptr::write(pppublickey, ::core::mem::transmute(ok__));
13236 ::windows::core::HRESULT(0)
13237 }
13238 ::core::result::Result::Err(err) => err.into(),
13239 }
13240 }
13241 unsafe extern "system" fn ContainerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13242 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13243 let this = (*this).get_impl();
13244 match this.ContainerName() {
13245 ::core::result::Result::Ok(ok__) => {
13246 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13247 ::windows::core::HRESULT(0)
13248 }
13249 ::core::result::Result::Err(err) => err.into(),
13250 }
13251 }
13252 unsafe extern "system" fn SetContainerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13253 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13254 let this = (*this).get_impl();
13255 this.SetContainerName(::core::mem::transmute(&value)).into()
13256 }
13257 unsafe extern "system" fn ContainerNamePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13258 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13259 let this = (*this).get_impl();
13260 match this.ContainerNamePrefix() {
13261 ::core::result::Result::Ok(ok__) => {
13262 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13263 ::windows::core::HRESULT(0)
13264 }
13265 ::core::result::Result::Err(err) => err.into(),
13266 }
13267 }
13268 unsafe extern "system" fn SetContainerNamePrefix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13269 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13270 let this = (*this).get_impl();
13271 this.SetContainerNamePrefix(::core::mem::transmute(&value)).into()
13272 }
13273 unsafe extern "system" fn ReaderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13274 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13275 let this = (*this).get_impl();
13276 match this.ReaderName() {
13277 ::core::result::Result::Ok(ok__) => {
13278 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13279 ::windows::core::HRESULT(0)
13280 }
13281 ::core::result::Result::Err(err) => err.into(),
13282 }
13283 }
13284 unsafe extern "system" fn SetReaderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13285 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13286 let this = (*this).get_impl();
13287 this.SetReaderName(::core::mem::transmute(&value)).into()
13288 }
13289 unsafe extern "system" fn CspInformations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13290 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13291 let this = (*this).get_impl();
13292 match this.CspInformations() {
13293 ::core::result::Result::Ok(ok__) => {
13294 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
13295 ::windows::core::HRESULT(0)
13296 }
13297 ::core::result::Result::Err(err) => err.into(),
13298 }
13299 }
13300 unsafe extern "system" fn SetCspInformations<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13301 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13302 let this = (*this).get_impl();
13303 this.SetCspInformations(::windows::core::from_raw_borrowed(&pvalue)).into()
13304 }
13305 unsafe extern "system" fn CspStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13306 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13307 let this = (*this).get_impl();
13308 match this.CspStatus() {
13309 ::core::result::Result::Ok(ok__) => {
13310 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
13311 ::windows::core::HRESULT(0)
13312 }
13313 ::core::result::Result::Err(err) => err.into(),
13314 }
13315 }
13316 unsafe extern "system" fn SetCspStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13317 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13318 let this = (*this).get_impl();
13319 this.SetCspStatus(::windows::core::from_raw_borrowed(&pvalue)).into()
13320 }
13321 unsafe extern "system" fn ProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13322 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13323 let this = (*this).get_impl();
13324 match this.ProviderName() {
13325 ::core::result::Result::Ok(ok__) => {
13326 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13327 ::windows::core::HRESULT(0)
13328 }
13329 ::core::result::Result::Err(err) => err.into(),
13330 }
13331 }
13332 unsafe extern "system" fn SetProviderName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13333 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13334 let this = (*this).get_impl();
13335 this.SetProviderName(::core::mem::transmute(&value)).into()
13336 }
13337 unsafe extern "system" fn ProviderType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509ProviderType) -> ::windows::core::HRESULT {
13338 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13339 let this = (*this).get_impl();
13340 match this.ProviderType() {
13341 ::core::result::Result::Ok(ok__) => {
13342 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13343 ::windows::core::HRESULT(0)
13344 }
13345 ::core::result::Result::Err(err) => err.into(),
13346 }
13347 }
13348 unsafe extern "system" fn SetProviderType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509ProviderType) -> ::windows::core::HRESULT {
13349 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13350 let this = (*this).get_impl();
13351 this.SetProviderType(::core::mem::transmute_copy(&value)).into()
13352 }
13353 unsafe extern "system" fn LegacyCsp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13354 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13355 let this = (*this).get_impl();
13356 match this.LegacyCsp() {
13357 ::core::result::Result::Ok(ok__) => {
13358 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13359 ::windows::core::HRESULT(0)
13360 }
13361 ::core::result::Result::Err(err) => err.into(),
13362 }
13363 }
13364 unsafe extern "system" fn SetLegacyCsp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13365 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13366 let this = (*this).get_impl();
13367 this.SetLegacyCsp(::core::mem::transmute_copy(&value)).into()
13368 }
13369 unsafe extern "system" fn Algorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13370 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13371 let this = (*this).get_impl();
13372 match this.Algorithm() {
13373 ::core::result::Result::Ok(ok__) => {
13374 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
13375 ::windows::core::HRESULT(0)
13376 }
13377 ::core::result::Result::Err(err) => err.into(),
13378 }
13379 }
13380 unsafe extern "system" fn SetAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13381 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13382 let this = (*this).get_impl();
13383 this.SetAlgorithm(::windows::core::from_raw_borrowed(&pvalue)).into()
13384 }
13385 unsafe extern "system" fn KeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeySpec) -> ::windows::core::HRESULT {
13386 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13387 let this = (*this).get_impl();
13388 match this.KeySpec() {
13389 ::core::result::Result::Ok(ok__) => {
13390 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13391 ::windows::core::HRESULT(0)
13392 }
13393 ::core::result::Result::Err(err) => err.into(),
13394 }
13395 }
13396 unsafe extern "system" fn SetKeySpec<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509KeySpec) -> ::windows::core::HRESULT {
13397 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13398 let this = (*this).get_impl();
13399 this.SetKeySpec(::core::mem::transmute_copy(&value)).into()
13400 }
13401 unsafe extern "system" fn Length<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
13402 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13403 let this = (*this).get_impl();
13404 match this.Length() {
13405 ::core::result::Result::Ok(ok__) => {
13406 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13407 ::windows::core::HRESULT(0)
13408 }
13409 ::core::result::Result::Err(err) => err.into(),
13410 }
13411 }
13412 unsafe extern "system" fn SetLength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
13413 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13414 let this = (*this).get_impl();
13415 this.SetLength(::core::mem::transmute_copy(&value)).into()
13416 }
13417 unsafe extern "system" fn ExportPolicy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509PrivateKeyExportFlags) -> ::windows::core::HRESULT {
13418 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13419 let this = (*this).get_impl();
13420 match this.ExportPolicy() {
13421 ::core::result::Result::Ok(ok__) => {
13422 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13423 ::windows::core::HRESULT(0)
13424 }
13425 ::core::result::Result::Err(err) => err.into(),
13426 }
13427 }
13428 unsafe extern "system" fn SetExportPolicy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509PrivateKeyExportFlags) -> ::windows::core::HRESULT {
13429 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13430 let this = (*this).get_impl();
13431 this.SetExportPolicy(::core::mem::transmute_copy(&value)).into()
13432 }
13433 unsafe extern "system" fn KeyUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509PrivateKeyUsageFlags) -> ::windows::core::HRESULT {
13434 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13435 let this = (*this).get_impl();
13436 match this.KeyUsage() {
13437 ::core::result::Result::Ok(ok__) => {
13438 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13439 ::windows::core::HRESULT(0)
13440 }
13441 ::core::result::Result::Err(err) => err.into(),
13442 }
13443 }
13444 unsafe extern "system" fn SetKeyUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509PrivateKeyUsageFlags) -> ::windows::core::HRESULT {
13445 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13446 let this = (*this).get_impl();
13447 this.SetKeyUsage(::core::mem::transmute_copy(&value)).into()
13448 }
13449 unsafe extern "system" fn KeyProtection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509PrivateKeyProtection) -> ::windows::core::HRESULT {
13450 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13451 let this = (*this).get_impl();
13452 match this.KeyProtection() {
13453 ::core::result::Result::Ok(ok__) => {
13454 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13455 ::windows::core::HRESULT(0)
13456 }
13457 ::core::result::Result::Err(err) => err.into(),
13458 }
13459 }
13460 unsafe extern "system" fn SetKeyProtection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509PrivateKeyProtection) -> ::windows::core::HRESULT {
13461 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13462 let this = (*this).get_impl();
13463 this.SetKeyProtection(::core::mem::transmute_copy(&value)).into()
13464 }
13465 unsafe extern "system" fn MachineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13466 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13467 let this = (*this).get_impl();
13468 match this.MachineContext() {
13469 ::core::result::Result::Ok(ok__) => {
13470 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13471 ::windows::core::HRESULT(0)
13472 }
13473 ::core::result::Result::Err(err) => err.into(),
13474 }
13475 }
13476 unsafe extern "system" fn SetMachineContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13477 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13478 let this = (*this).get_impl();
13479 this.SetMachineContext(::core::mem::transmute_copy(&value)).into()
13480 }
13481 unsafe extern "system" fn SecurityDescriptor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13482 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13483 let this = (*this).get_impl();
13484 match this.SecurityDescriptor() {
13485 ::core::result::Result::Ok(ok__) => {
13486 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13487 ::windows::core::HRESULT(0)
13488 }
13489 ::core::result::Result::Err(err) => err.into(),
13490 }
13491 }
13492 unsafe extern "system" fn SetSecurityDescriptor<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13493 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13494 let this = (*this).get_impl();
13495 this.SetSecurityDescriptor(::core::mem::transmute(&value)).into()
13496 }
13497 unsafe extern "system" fn get_Certificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13498 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13499 let this = (*this).get_impl();
13500 match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
13501 ::core::result::Result::Ok(ok__) => {
13502 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13503 ::windows::core::HRESULT(0)
13504 }
13505 ::core::result::Result::Err(err) => err.into(),
13506 }
13507 }
13508 unsafe extern "system" fn put_Certificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13509 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13510 let this = (*this).get_impl();
13511 this.put_Certificate(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
13512 }
13513 unsafe extern "system" fn UniqueContainerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13514 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13515 let this = (*this).get_impl();
13516 match this.UniqueContainerName() {
13517 ::core::result::Result::Ok(ok__) => {
13518 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13519 ::windows::core::HRESULT(0)
13520 }
13521 ::core::result::Result::Err(err) => err.into(),
13522 }
13523 }
13524 unsafe extern "system" fn Opened<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13525 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13526 let this = (*this).get_impl();
13527 match this.Opened() {
13528 ::core::result::Result::Ok(ok__) => {
13529 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13530 ::windows::core::HRESULT(0)
13531 }
13532 ::core::result::Result::Err(err) => err.into(),
13533 }
13534 }
13535 unsafe extern "system" fn DefaultContainer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13536 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13537 let this = (*this).get_impl();
13538 match this.DefaultContainer() {
13539 ::core::result::Result::Ok(ok__) => {
13540 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13541 ::windows::core::HRESULT(0)
13542 }
13543 ::core::result::Result::Err(err) => err.into(),
13544 }
13545 }
13546 unsafe extern "system" fn Existing<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13547 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13548 let this = (*this).get_impl();
13549 match this.Existing() {
13550 ::core::result::Result::Ok(ok__) => {
13551 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13552 ::windows::core::HRESULT(0)
13553 }
13554 ::core::result::Result::Err(err) => err.into(),
13555 }
13556 }
13557 unsafe extern "system" fn SetExisting<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13558 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13559 let this = (*this).get_impl();
13560 this.SetExisting(::core::mem::transmute_copy(&value)).into()
13561 }
13562 unsafe extern "system" fn Silent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13563 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13564 let this = (*this).get_impl();
13565 match this.Silent() {
13566 ::core::result::Result::Ok(ok__) => {
13567 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13568 ::windows::core::HRESULT(0)
13569 }
13570 ::core::result::Result::Err(err) => err.into(),
13571 }
13572 }
13573 unsafe extern "system" fn SetSilent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
13574 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13575 let this = (*this).get_impl();
13576 this.SetSilent(::core::mem::transmute_copy(&value)).into()
13577 }
13578 unsafe extern "system" fn ParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
13579 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13580 let this = (*this).get_impl();
13581 match this.ParentWindow() {
13582 ::core::result::Result::Ok(ok__) => {
13583 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13584 ::windows::core::HRESULT(0)
13585 }
13586 ::core::result::Result::Err(err) => err.into(),
13587 }
13588 }
13589 unsafe extern "system" fn SetParentWindow<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: i32) -> ::windows::core::HRESULT {
13590 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13591 let this = (*this).get_impl();
13592 this.SetParentWindow(::core::mem::transmute_copy(&value)).into()
13593 }
13594 unsafe extern "system" fn UIContextMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13595 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13596 let this = (*this).get_impl();
13597 match this.UIContextMessage() {
13598 ::core::result::Result::Ok(ok__) => {
13599 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13600 ::windows::core::HRESULT(0)
13601 }
13602 ::core::result::Result::Err(err) => err.into(),
13603 }
13604 }
13605 unsafe extern "system" fn SetUIContextMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13606 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13607 let this = (*this).get_impl();
13608 this.SetUIContextMessage(::core::mem::transmute(&value)).into()
13609 }
13610 unsafe extern "system" fn SetPin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13611 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13612 let this = (*this).get_impl();
13613 this.SetPin(::core::mem::transmute(&value)).into()
13614 }
13615 unsafe extern "system" fn FriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13616 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13617 let this = (*this).get_impl();
13618 match this.FriendlyName() {
13619 ::core::result::Result::Ok(ok__) => {
13620 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13621 ::windows::core::HRESULT(0)
13622 }
13623 ::core::result::Result::Err(err) => err.into(),
13624 }
13625 }
13626 unsafe extern "system" fn SetFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13627 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13628 let this = (*this).get_impl();
13629 this.SetFriendlyName(::core::mem::transmute(&value)).into()
13630 }
13631 unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13632 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13633 let this = (*this).get_impl();
13634 match this.Description() {
13635 ::core::result::Result::Ok(ok__) => {
13636 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13637 ::windows::core::HRESULT(0)
13638 }
13639 ::core::result::Result::Err(err) => err.into(),
13640 }
13641 }
13642 unsafe extern "system" fn SetDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13643 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13644 let this = (*this).get_impl();
13645 this.SetDescription(::core::mem::transmute(&value)).into()
13646 }
13647 Self {
13648 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
13649 Open: Open::<Identity, Impl, OFFSET>,
13650 Create: Create::<Identity, Impl, OFFSET>,
13651 Close: Close::<Identity, Impl, OFFSET>,
13652 Delete: Delete::<Identity, Impl, OFFSET>,
13653 Verify: Verify::<Identity, Impl, OFFSET>,
13654 Import: Import::<Identity, Impl, OFFSET>,
13655 Export: Export::<Identity, Impl, OFFSET>,
13656 ExportPublicKey: ExportPublicKey::<Identity, Impl, OFFSET>,
13657 ContainerName: ContainerName::<Identity, Impl, OFFSET>,
13658 SetContainerName: SetContainerName::<Identity, Impl, OFFSET>,
13659 ContainerNamePrefix: ContainerNamePrefix::<Identity, Impl, OFFSET>,
13660 SetContainerNamePrefix: SetContainerNamePrefix::<Identity, Impl, OFFSET>,
13661 ReaderName: ReaderName::<Identity, Impl, OFFSET>,
13662 SetReaderName: SetReaderName::<Identity, Impl, OFFSET>,
13663 CspInformations: CspInformations::<Identity, Impl, OFFSET>,
13664 SetCspInformations: SetCspInformations::<Identity, Impl, OFFSET>,
13665 CspStatus: CspStatus::<Identity, Impl, OFFSET>,
13666 SetCspStatus: SetCspStatus::<Identity, Impl, OFFSET>,
13667 ProviderName: ProviderName::<Identity, Impl, OFFSET>,
13668 SetProviderName: SetProviderName::<Identity, Impl, OFFSET>,
13669 ProviderType: ProviderType::<Identity, Impl, OFFSET>,
13670 SetProviderType: SetProviderType::<Identity, Impl, OFFSET>,
13671 LegacyCsp: LegacyCsp::<Identity, Impl, OFFSET>,
13672 SetLegacyCsp: SetLegacyCsp::<Identity, Impl, OFFSET>,
13673 Algorithm: Algorithm::<Identity, Impl, OFFSET>,
13674 SetAlgorithm: SetAlgorithm::<Identity, Impl, OFFSET>,
13675 KeySpec: KeySpec::<Identity, Impl, OFFSET>,
13676 SetKeySpec: SetKeySpec::<Identity, Impl, OFFSET>,
13677 Length: Length::<Identity, Impl, OFFSET>,
13678 SetLength: SetLength::<Identity, Impl, OFFSET>,
13679 ExportPolicy: ExportPolicy::<Identity, Impl, OFFSET>,
13680 SetExportPolicy: SetExportPolicy::<Identity, Impl, OFFSET>,
13681 KeyUsage: KeyUsage::<Identity, Impl, OFFSET>,
13682 SetKeyUsage: SetKeyUsage::<Identity, Impl, OFFSET>,
13683 KeyProtection: KeyProtection::<Identity, Impl, OFFSET>,
13684 SetKeyProtection: SetKeyProtection::<Identity, Impl, OFFSET>,
13685 MachineContext: MachineContext::<Identity, Impl, OFFSET>,
13686 SetMachineContext: SetMachineContext::<Identity, Impl, OFFSET>,
13687 SecurityDescriptor: SecurityDescriptor::<Identity, Impl, OFFSET>,
13688 SetSecurityDescriptor: SetSecurityDescriptor::<Identity, Impl, OFFSET>,
13689 get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
13690 put_Certificate: put_Certificate::<Identity, Impl, OFFSET>,
13691 UniqueContainerName: UniqueContainerName::<Identity, Impl, OFFSET>,
13692 Opened: Opened::<Identity, Impl, OFFSET>,
13693 DefaultContainer: DefaultContainer::<Identity, Impl, OFFSET>,
13694 Existing: Existing::<Identity, Impl, OFFSET>,
13695 SetExisting: SetExisting::<Identity, Impl, OFFSET>,
13696 Silent: Silent::<Identity, Impl, OFFSET>,
13697 SetSilent: SetSilent::<Identity, Impl, OFFSET>,
13698 ParentWindow: ParentWindow::<Identity, Impl, OFFSET>,
13699 SetParentWindow: SetParentWindow::<Identity, Impl, OFFSET>,
13700 UIContextMessage: UIContextMessage::<Identity, Impl, OFFSET>,
13701 SetUIContextMessage: SetUIContextMessage::<Identity, Impl, OFFSET>,
13702 SetPin: SetPin::<Identity, Impl, OFFSET>,
13703 FriendlyName: FriendlyName::<Identity, Impl, OFFSET>,
13704 SetFriendlyName: SetFriendlyName::<Identity, Impl, OFFSET>,
13705 Description: Description::<Identity, Impl, OFFSET>,
13706 SetDescription: SetDescription::<Identity, Impl, OFFSET>,
13707 }
13708 }
13709 pub fn matches(iid: &windows::core::GUID) -> bool {
13710 iid == &<IX509PrivateKey as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
13711 }
13712 }
13713 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
13714 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13715 pub trait IX509PrivateKey2_Impl: Sized + IX509PrivateKey_Impl {
13716 fn HardwareKeyUsage(&self) -> ::windows::core::Result<X509HardwareKeyUsageFlags>;
13717 fn SetHardwareKeyUsage(&self, value: X509HardwareKeyUsageFlags) -> ::windows::core::Result<()>;
13718 fn AlternateStorageLocation(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13719 fn SetAlternateStorageLocation(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13720 fn AlgorithmName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13721 fn SetAlgorithmName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13722 fn get_AlgorithmParameters(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13723 fn put_AlgorithmParameters(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13724 fn ParametersExportType(&self) -> ::windows::core::Result<X509KeyParametersExportType>;
13725 fn SetParametersExportType(&self, value: X509KeyParametersExportType) -> ::windows::core::Result<()>;
13726 }
13727 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13728 impl ::windows::core::RuntimeName for IX509PrivateKey2 {}
13729 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13730 impl IX509PrivateKey2_Vtbl {
13731 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>() -> IX509PrivateKey2_Vtbl {
13732 unsafe extern "system" fn HardwareKeyUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509HardwareKeyUsageFlags) -> ::windows::core::HRESULT {
13733 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13734 let this = (*this).get_impl();
13735 match this.HardwareKeyUsage() {
13736 ::core::result::Result::Ok(ok__) => {
13737 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13738 ::windows::core::HRESULT(0)
13739 }
13740 ::core::result::Result::Err(err) => err.into(),
13741 }
13742 }
13743 unsafe extern "system" fn SetHardwareKeyUsage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509HardwareKeyUsageFlags) -> ::windows::core::HRESULT {
13744 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13745 let this = (*this).get_impl();
13746 this.SetHardwareKeyUsage(::core::mem::transmute_copy(&value)).into()
13747 }
13748 unsafe extern "system" fn AlternateStorageLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13749 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13750 let this = (*this).get_impl();
13751 match this.AlternateStorageLocation() {
13752 ::core::result::Result::Ok(ok__) => {
13753 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13754 ::windows::core::HRESULT(0)
13755 }
13756 ::core::result::Result::Err(err) => err.into(),
13757 }
13758 }
13759 unsafe extern "system" fn SetAlternateStorageLocation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13760 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13761 let this = (*this).get_impl();
13762 this.SetAlternateStorageLocation(::core::mem::transmute(&value)).into()
13763 }
13764 unsafe extern "system" fn AlgorithmName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13765 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13766 let this = (*this).get_impl();
13767 match this.AlgorithmName() {
13768 ::core::result::Result::Ok(ok__) => {
13769 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13770 ::windows::core::HRESULT(0)
13771 }
13772 ::core::result::Result::Err(err) => err.into(),
13773 }
13774 }
13775 unsafe extern "system" fn SetAlgorithmName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13776 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13777 let this = (*this).get_impl();
13778 this.SetAlgorithmName(::core::mem::transmute(&value)).into()
13779 }
13780 unsafe extern "system" fn get_AlgorithmParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13781 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13782 let this = (*this).get_impl();
13783 match this.get_AlgorithmParameters(::core::mem::transmute_copy(&encoding)) {
13784 ::core::result::Result::Ok(ok__) => {
13785 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13786 ::windows::core::HRESULT(0)
13787 }
13788 ::core::result::Result::Err(err) => err.into(),
13789 }
13790 }
13791 unsafe extern "system" fn put_AlgorithmParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13792 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13793 let this = (*this).get_impl();
13794 this.put_AlgorithmParameters(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
13795 }
13796 unsafe extern "system" fn ParametersExportType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509KeyParametersExportType) -> ::windows::core::HRESULT {
13797 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13798 let this = (*this).get_impl();
13799 match this.ParametersExportType() {
13800 ::core::result::Result::Ok(ok__) => {
13801 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13802 ::windows::core::HRESULT(0)
13803 }
13804 ::core::result::Result::Err(err) => err.into(),
13805 }
13806 }
13807 unsafe extern "system" fn SetParametersExportType<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PrivateKey2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: X509KeyParametersExportType) -> ::windows::core::HRESULT {
13808 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13809 let this = (*this).get_impl();
13810 this.SetParametersExportType(::core::mem::transmute_copy(&value)).into()
13811 }
13812 Self {
13813 base__: IX509PrivateKey_Vtbl::new::<Identity, Impl, OFFSET>(),
13814 HardwareKeyUsage: HardwareKeyUsage::<Identity, Impl, OFFSET>,
13815 SetHardwareKeyUsage: SetHardwareKeyUsage::<Identity, Impl, OFFSET>,
13816 AlternateStorageLocation: AlternateStorageLocation::<Identity, Impl, OFFSET>,
13817 SetAlternateStorageLocation: SetAlternateStorageLocation::<Identity, Impl, OFFSET>,
13818 AlgorithmName: AlgorithmName::<Identity, Impl, OFFSET>,
13819 SetAlgorithmName: SetAlgorithmName::<Identity, Impl, OFFSET>,
13820 get_AlgorithmParameters: get_AlgorithmParameters::<Identity, Impl, OFFSET>,
13821 put_AlgorithmParameters: put_AlgorithmParameters::<Identity, Impl, OFFSET>,
13822 ParametersExportType: ParametersExportType::<Identity, Impl, OFFSET>,
13823 SetParametersExportType: SetParametersExportType::<Identity, Impl, OFFSET>,
13824 }
13825 }
13826 pub fn matches(iid: &windows::core::GUID) -> bool {
13827 iid == &<IX509PrivateKey2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509PrivateKey as ::windows::core::ComInterface>::IID
13828 }
13829 }
13830 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
13831 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13832 pub trait IX509PublicKey_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
13833 fn Initialize(&self, pobjectid: ::core::option::Option<&IObjectId>, strencodedkey: &::windows::core::BSTR, strencodedparameters: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
13834 fn InitializeFromEncodedPublicKeyInfo(&self, strencodedpublickeyinfo: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
13835 fn Algorithm(&self) -> ::windows::core::Result<IObjectId>;
13836 fn Length(&self) -> ::windows::core::Result<i32>;
13837 fn get_EncodedKey(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13838 fn get_EncodedParameters(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13839 fn ComputeKeyIdentifier(&self, algorithm: KeyIdentifierHashAlgorithm, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13840 }
13841 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13842 impl ::windows::core::RuntimeName for IX509PublicKey {}
13843 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13844 impl IX509PublicKey_Vtbl {
13845 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>() -> IX509PublicKey_Vtbl {
13846 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobjectid: *mut ::core::ffi::c_void, strencodedkey: ::std::mem::MaybeUninit<::windows::core::BSTR>, strencodedparameters: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
13847 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13848 let this = (*this).get_impl();
13849 this.Initialize(::windows::core::from_raw_borrowed(&pobjectid), ::core::mem::transmute(&strencodedkey), ::core::mem::transmute(&strencodedparameters), ::core::mem::transmute_copy(&encoding)).into()
13850 }
13851 unsafe extern "system" fn InitializeFromEncodedPublicKeyInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strencodedpublickeyinfo: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
13852 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13853 let this = (*this).get_impl();
13854 this.InitializeFromEncodedPublicKeyInfo(::core::mem::transmute(&strencodedpublickeyinfo), ::core::mem::transmute_copy(&encoding)).into()
13855 }
13856 unsafe extern "system" fn Algorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
13857 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13858 let this = (*this).get_impl();
13859 match this.Algorithm() {
13860 ::core::result::Result::Ok(ok__) => {
13861 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
13862 ::windows::core::HRESULT(0)
13863 }
13864 ::core::result::Result::Err(err) => err.into(),
13865 }
13866 }
13867 unsafe extern "system" fn Length<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut i32) -> ::windows::core::HRESULT {
13868 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13869 let this = (*this).get_impl();
13870 match this.Length() {
13871 ::core::result::Result::Ok(ok__) => {
13872 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13873 ::windows::core::HRESULT(0)
13874 }
13875 ::core::result::Result::Err(err) => err.into(),
13876 }
13877 }
13878 unsafe extern "system" fn get_EncodedKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13879 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13880 let this = (*this).get_impl();
13881 match this.get_EncodedKey(::core::mem::transmute_copy(&encoding)) {
13882 ::core::result::Result::Ok(ok__) => {
13883 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13884 ::windows::core::HRESULT(0)
13885 }
13886 ::core::result::Result::Err(err) => err.into(),
13887 }
13888 }
13889 unsafe extern "system" fn get_EncodedParameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13890 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13891 let this = (*this).get_impl();
13892 match this.get_EncodedParameters(::core::mem::transmute_copy(&encoding)) {
13893 ::core::result::Result::Ok(ok__) => {
13894 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13895 ::windows::core::HRESULT(0)
13896 }
13897 ::core::result::Result::Err(err) => err.into(),
13898 }
13899 }
13900 unsafe extern "system" fn ComputeKeyIdentifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509PublicKey_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, algorithm: KeyIdentifierHashAlgorithm, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13901 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13902 let this = (*this).get_impl();
13903 match this.ComputeKeyIdentifier(::core::mem::transmute_copy(&algorithm), ::core::mem::transmute_copy(&encoding)) {
13904 ::core::result::Result::Ok(ok__) => {
13905 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13906 ::windows::core::HRESULT(0)
13907 }
13908 ::core::result::Result::Err(err) => err.into(),
13909 }
13910 }
13911 Self {
13912 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
13913 Initialize: Initialize::<Identity, Impl, OFFSET>,
13914 InitializeFromEncodedPublicKeyInfo: InitializeFromEncodedPublicKeyInfo::<Identity, Impl, OFFSET>,
13915 Algorithm: Algorithm::<Identity, Impl, OFFSET>,
13916 Length: Length::<Identity, Impl, OFFSET>,
13917 get_EncodedKey: get_EncodedKey::<Identity, Impl, OFFSET>,
13918 get_EncodedParameters: get_EncodedParameters::<Identity, Impl, OFFSET>,
13919 ComputeKeyIdentifier: ComputeKeyIdentifier::<Identity, Impl, OFFSET>,
13920 }
13921 }
13922 pub fn matches(iid: &windows::core::GUID) -> bool {
13923 iid == &<IX509PublicKey as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
13924 }
13925 }
13926 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
13927 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13928 pub trait IX509SCEPEnrollment_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
13929 fn Initialize(&self, prequest: ::core::option::Option<&IX509CertificateRequestPkcs10>, strthumbprint: &::windows::core::BSTR, thumprintencoding: EncodingType, strservercertificates: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<()>;
13930 fn InitializeForPending(&self, context: X509CertificateEnrollmentContext) -> ::windows::core::Result<()>;
13931 fn CreateRequestMessage(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13932 fn CreateRetrievePendingMessage(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13933 fn CreateRetrieveCertificateMessage(&self, context: X509CertificateEnrollmentContext, strissuer: &::windows::core::BSTR, issuerencoding: EncodingType, strserialnumber: &::windows::core::BSTR, serialnumberencoding: EncodingType, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13934 fn ProcessResponseMessage(&self, strresponse: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<X509SCEPDisposition>;
13935 fn SetServerCapabilities(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13936 fn FailInfo(&self) -> ::windows::core::Result<X509SCEPFailInfo>;
13937 fn SignerCertificate(&self) -> ::windows::core::Result<ISignerCertificate>;
13938 fn SetSignerCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows::core::Result<()>;
13939 fn OldCertificate(&self) -> ::windows::core::Result<ISignerCertificate>;
13940 fn SetOldCertificate(&self, pvalue: ::core::option::Option<&ISignerCertificate>) -> ::windows::core::Result<()>;
13941 fn get_TransactionId(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13942 fn put_TransactionId(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13943 fn Request(&self) -> ::windows::core::Result<IX509CertificateRequestPkcs10>;
13944 fn CertificateFriendlyName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
13945 fn SetCertificateFriendlyName(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
13946 fn Status(&self) -> ::windows::core::Result<IX509EnrollmentStatus>;
13947 fn get_Certificate(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
13948 fn Silent(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
13949 fn SetSilent(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
13950 fn DeleteRequest(&self) -> ::windows::core::Result<()>;
13951 }
13952 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13953 impl ::windows::core::RuntimeName for IX509SCEPEnrollment {}
13954 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13955 impl IX509SCEPEnrollment_Vtbl {
13956 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>() -> IX509SCEPEnrollment_Vtbl {
13957 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prequest: *mut ::core::ffi::c_void, strthumbprint: ::std::mem::MaybeUninit<::windows::core::BSTR>, thumprintencoding: EncodingType, strservercertificates: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType) -> ::windows::core::HRESULT {
13958 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13959 let this = (*this).get_impl();
13960 this.Initialize(::windows::core::from_raw_borrowed(&prequest), ::core::mem::transmute(&strthumbprint), ::core::mem::transmute_copy(&thumprintencoding), ::core::mem::transmute(&strservercertificates), ::core::mem::transmute_copy(&encoding)).into()
13961 }
13962 unsafe extern "system" fn InitializeForPending<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext) -> ::windows::core::HRESULT {
13963 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13964 let this = (*this).get_impl();
13965 this.InitializeForPending(::core::mem::transmute_copy(&context)).into()
13966 }
13967 unsafe extern "system" fn CreateRequestMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13968 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13969 let this = (*this).get_impl();
13970 match this.CreateRequestMessage(::core::mem::transmute_copy(&encoding)) {
13971 ::core::result::Result::Ok(ok__) => {
13972 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13973 ::windows::core::HRESULT(0)
13974 }
13975 ::core::result::Result::Err(err) => err.into(),
13976 }
13977 }
13978 unsafe extern "system" fn CreateRetrievePendingMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13980 let this = (*this).get_impl();
13981 match this.CreateRetrievePendingMessage(::core::mem::transmute_copy(&encoding)) {
13982 ::core::result::Result::Ok(ok__) => {
13983 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13984 ::windows::core::HRESULT(0)
13985 }
13986 ::core::result::Result::Err(err) => err.into(),
13987 }
13988 }
13989 unsafe extern "system" fn CreateRetrieveCertificateMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, context: X509CertificateEnrollmentContext, strissuer: ::std::mem::MaybeUninit<::windows::core::BSTR>, issuerencoding: EncodingType, strserialnumber: ::std::mem::MaybeUninit<::windows::core::BSTR>, serialnumberencoding: EncodingType, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
13990 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13991 let this = (*this).get_impl();
13992 match this.CreateRetrieveCertificateMessage(::core::mem::transmute_copy(&context), ::core::mem::transmute(&strissuer), ::core::mem::transmute_copy(&issuerencoding), ::core::mem::transmute(&strserialnumber), ::core::mem::transmute_copy(&serialnumberencoding), ::core::mem::transmute_copy(&encoding)) {
13993 ::core::result::Result::Ok(ok__) => {
13994 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
13995 ::windows::core::HRESULT(0)
13996 }
13997 ::core::result::Result::Err(err) => err.into(),
13998 }
13999 }
14000 unsafe extern "system" fn ProcessResponseMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strresponse: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, pdisposition: *mut X509SCEPDisposition) -> ::windows::core::HRESULT {
14001 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14002 let this = (*this).get_impl();
14003 match this.ProcessResponseMessage(::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding)) {
14004 ::core::result::Result::Ok(ok__) => {
14005 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
14006 ::windows::core::HRESULT(0)
14007 }
14008 ::core::result::Result::Err(err) => err.into(),
14009 }
14010 }
14011 unsafe extern "system" fn SetServerCapabilities<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14012 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14013 let this = (*this).get_impl();
14014 this.SetServerCapabilities(::core::mem::transmute(&value)).into()
14015 }
14016 unsafe extern "system" fn FailInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut X509SCEPFailInfo) -> ::windows::core::HRESULT {
14017 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14018 let this = (*this).get_impl();
14019 match this.FailInfo() {
14020 ::core::result::Result::Ok(ok__) => {
14021 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14022 ::windows::core::HRESULT(0)
14023 }
14024 ::core::result::Result::Err(err) => err.into(),
14025 }
14026 }
14027 unsafe extern "system" fn SignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14028 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14029 let this = (*this).get_impl();
14030 match this.SignerCertificate() {
14031 ::core::result::Result::Ok(ok__) => {
14032 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14033 ::windows::core::HRESULT(0)
14034 }
14035 ::core::result::Result::Err(err) => err.into(),
14036 }
14037 }
14038 unsafe extern "system" fn SetSignerCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14039 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14040 let this = (*this).get_impl();
14041 this.SetSignerCertificate(::windows::core::from_raw_borrowed(&pvalue)).into()
14042 }
14043 unsafe extern "system" fn OldCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14044 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14045 let this = (*this).get_impl();
14046 match this.OldCertificate() {
14047 ::core::result::Result::Ok(ok__) => {
14048 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14049 ::windows::core::HRESULT(0)
14050 }
14051 ::core::result::Result::Err(err) => err.into(),
14052 }
14053 }
14054 unsafe extern "system" fn SetOldCertificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14055 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14056 let this = (*this).get_impl();
14057 this.SetOldCertificate(::windows::core::from_raw_borrowed(&pvalue)).into()
14058 }
14059 unsafe extern "system" fn get_TransactionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14060 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14061 let this = (*this).get_impl();
14062 match this.get_TransactionId(::core::mem::transmute_copy(&encoding)) {
14063 ::core::result::Result::Ok(ok__) => {
14064 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14065 ::windows::core::HRESULT(0)
14066 }
14067 ::core::result::Result::Err(err) => err.into(),
14068 }
14069 }
14070 unsafe extern "system" fn put_TransactionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14071 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14072 let this = (*this).get_impl();
14073 this.put_TransactionId(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
14074 }
14075 unsafe extern "system" fn Request<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14076 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14077 let this = (*this).get_impl();
14078 match this.Request() {
14079 ::core::result::Result::Ok(ok__) => {
14080 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14081 ::windows::core::HRESULT(0)
14082 }
14083 ::core::result::Result::Err(err) => err.into(),
14084 }
14085 }
14086 unsafe extern "system" fn CertificateFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14087 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14088 let this = (*this).get_impl();
14089 match this.CertificateFriendlyName() {
14090 ::core::result::Result::Ok(ok__) => {
14091 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14092 ::windows::core::HRESULT(0)
14093 }
14094 ::core::result::Result::Err(err) => err.into(),
14095 }
14096 }
14097 unsafe extern "system" fn SetCertificateFriendlyName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14098 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14099 let this = (*this).get_impl();
14100 this.SetCertificateFriendlyName(::core::mem::transmute(&value)).into()
14101 }
14102 unsafe extern "system" fn Status<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14103 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14104 let this = (*this).get_impl();
14105 match this.Status() {
14106 ::core::result::Result::Ok(ok__) => {
14107 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14108 ::windows::core::HRESULT(0)
14109 }
14110 ::core::result::Result::Err(err) => err.into(),
14111 }
14112 }
14113 unsafe extern "system" fn get_Certificate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14114 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14115 let this = (*this).get_impl();
14116 match this.get_Certificate(::core::mem::transmute_copy(&encoding)) {
14117 ::core::result::Result::Ok(ok__) => {
14118 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14119 ::windows::core::HRESULT(0)
14120 }
14121 ::core::result::Result::Err(err) => err.into(),
14122 }
14123 }
14124 unsafe extern "system" fn Silent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
14125 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14126 let this = (*this).get_impl();
14127 match this.Silent() {
14128 ::core::result::Result::Ok(ok__) => {
14129 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14130 ::windows::core::HRESULT(0)
14131 }
14132 ::core::result::Result::Err(err) => err.into(),
14133 }
14134 }
14135 unsafe extern "system" fn SetSilent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
14136 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14137 let this = (*this).get_impl();
14138 this.SetSilent(::core::mem::transmute_copy(&value)).into()
14139 }
14140 unsafe extern "system" fn DeleteRequest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14141 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14142 let this = (*this).get_impl();
14143 this.DeleteRequest().into()
14144 }
14145 Self {
14146 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
14147 Initialize: Initialize::<Identity, Impl, OFFSET>,
14148 InitializeForPending: InitializeForPending::<Identity, Impl, OFFSET>,
14149 CreateRequestMessage: CreateRequestMessage::<Identity, Impl, OFFSET>,
14150 CreateRetrievePendingMessage: CreateRetrievePendingMessage::<Identity, Impl, OFFSET>,
14151 CreateRetrieveCertificateMessage: CreateRetrieveCertificateMessage::<Identity, Impl, OFFSET>,
14152 ProcessResponseMessage: ProcessResponseMessage::<Identity, Impl, OFFSET>,
14153 SetServerCapabilities: SetServerCapabilities::<Identity, Impl, OFFSET>,
14154 FailInfo: FailInfo::<Identity, Impl, OFFSET>,
14155 SignerCertificate: SignerCertificate::<Identity, Impl, OFFSET>,
14156 SetSignerCertificate: SetSignerCertificate::<Identity, Impl, OFFSET>,
14157 OldCertificate: OldCertificate::<Identity, Impl, OFFSET>,
14158 SetOldCertificate: SetOldCertificate::<Identity, Impl, OFFSET>,
14159 get_TransactionId: get_TransactionId::<Identity, Impl, OFFSET>,
14160 put_TransactionId: put_TransactionId::<Identity, Impl, OFFSET>,
14161 Request: Request::<Identity, Impl, OFFSET>,
14162 CertificateFriendlyName: CertificateFriendlyName::<Identity, Impl, OFFSET>,
14163 SetCertificateFriendlyName: SetCertificateFriendlyName::<Identity, Impl, OFFSET>,
14164 Status: Status::<Identity, Impl, OFFSET>,
14165 get_Certificate: get_Certificate::<Identity, Impl, OFFSET>,
14166 Silent: Silent::<Identity, Impl, OFFSET>,
14167 SetSilent: SetSilent::<Identity, Impl, OFFSET>,
14168 DeleteRequest: DeleteRequest::<Identity, Impl, OFFSET>,
14169 }
14170 }
14171 pub fn matches(iid: &windows::core::GUID) -> bool {
14172 iid == &<IX509SCEPEnrollment as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
14173 }
14174 }
14175 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
14176 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14177 pub trait IX509SCEPEnrollment2_Impl: Sized + IX509SCEPEnrollment_Impl {
14178 fn CreateChallengeAnswerMessage(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
14179 fn ProcessResponseMessage2(&self, flags: X509SCEPProcessMessageFlags, strresponse: &::windows::core::BSTR, encoding: EncodingType) -> ::windows::core::Result<X509SCEPDisposition>;
14180 fn ResultMessageText(&self) -> ::windows::core::Result<::windows::core::BSTR>;
14181 fn DelayRetry(&self) -> ::windows::core::Result<DelayRetryAction>;
14182 fn ActivityId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
14183 fn SetActivityId(&self, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
14184 }
14185 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14186 impl ::windows::core::RuntimeName for IX509SCEPEnrollment2 {}
14187 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14188 impl IX509SCEPEnrollment2_Vtbl {
14189 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>() -> IX509SCEPEnrollment2_Vtbl {
14190 unsafe extern "system" fn CreateChallengeAnswerMessage<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14191 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14192 let this = (*this).get_impl();
14193 match this.CreateChallengeAnswerMessage(::core::mem::transmute_copy(&encoding)) {
14194 ::core::result::Result::Ok(ok__) => {
14195 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14196 ::windows::core::HRESULT(0)
14197 }
14198 ::core::result::Result::Err(err) => err.into(),
14199 }
14200 }
14201 unsafe extern "system" fn ProcessResponseMessage2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, flags: X509SCEPProcessMessageFlags, strresponse: ::std::mem::MaybeUninit<::windows::core::BSTR>, encoding: EncodingType, pdisposition: *mut X509SCEPDisposition) -> ::windows::core::HRESULT {
14202 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14203 let this = (*this).get_impl();
14204 match this.ProcessResponseMessage2(::core::mem::transmute_copy(&flags), ::core::mem::transmute(&strresponse), ::core::mem::transmute_copy(&encoding)) {
14205 ::core::result::Result::Ok(ok__) => {
14206 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
14207 ::windows::core::HRESULT(0)
14208 }
14209 ::core::result::Result::Err(err) => err.into(),
14210 }
14211 }
14212 unsafe extern "system" fn ResultMessageText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14213 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14214 let this = (*this).get_impl();
14215 match this.ResultMessageText() {
14216 ::core::result::Result::Ok(ok__) => {
14217 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14218 ::windows::core::HRESULT(0)
14219 }
14220 ::core::result::Result::Err(err) => err.into(),
14221 }
14222 }
14223 unsafe extern "system" fn DelayRetry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut DelayRetryAction) -> ::windows::core::HRESULT {
14224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14225 let this = (*this).get_impl();
14226 match this.DelayRetry() {
14227 ::core::result::Result::Ok(ok__) => {
14228 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14229 ::windows::core::HRESULT(0)
14230 }
14231 ::core::result::Result::Err(err) => err.into(),
14232 }
14233 }
14234 unsafe extern "system" fn ActivityId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14235 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14236 let this = (*this).get_impl();
14237 match this.ActivityId() {
14238 ::core::result::Result::Ok(ok__) => {
14239 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14240 ::windows::core::HRESULT(0)
14241 }
14242 ::core::result::Result::Err(err) => err.into(),
14243 }
14244 }
14245 unsafe extern "system" fn SetActivityId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollment2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14246 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14247 let this = (*this).get_impl();
14248 this.SetActivityId(::core::mem::transmute(&value)).into()
14249 }
14250 Self {
14251 base__: IX509SCEPEnrollment_Vtbl::new::<Identity, Impl, OFFSET>(),
14252 CreateChallengeAnswerMessage: CreateChallengeAnswerMessage::<Identity, Impl, OFFSET>,
14253 ProcessResponseMessage2: ProcessResponseMessage2::<Identity, Impl, OFFSET>,
14254 ResultMessageText: ResultMessageText::<Identity, Impl, OFFSET>,
14255 DelayRetry: DelayRetry::<Identity, Impl, OFFSET>,
14256 ActivityId: ActivityId::<Identity, Impl, OFFSET>,
14257 SetActivityId: SetActivityId::<Identity, Impl, OFFSET>,
14258 }
14259 }
14260 pub fn matches(iid: &windows::core::GUID) -> bool {
14261 iid == &<IX509SCEPEnrollment2 as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<IX509SCEPEnrollment as ::windows::core::ComInterface>::IID
14262 }
14263 }
14264 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
14265 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14266 pub trait IX509SCEPEnrollmentHelper_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
14267 fn Initialize(&self, strserverurl: &::windows::core::BSTR, strrequestheaders: &::windows::core::BSTR, prequest: ::core::option::Option<&IX509CertificateRequestPkcs10>, strcacertificatethumbprint: &::windows::core::BSTR) -> ::windows::core::Result<()>;
14268 fn InitializeForPending(&self, strserverurl: &::windows::core::BSTR, strrequestheaders: &::windows::core::BSTR, context: X509CertificateEnrollmentContext, strtransactionid: &::windows::core::BSTR) -> ::windows::core::Result<()>;
14269 fn Enroll(&self, processflags: X509SCEPProcessMessageFlags) -> ::windows::core::Result<X509SCEPDisposition>;
14270 fn FetchPending(&self, processflags: X509SCEPProcessMessageFlags) -> ::windows::core::Result<X509SCEPDisposition>;
14271 fn X509SCEPEnrollment(&self) -> ::windows::core::Result<IX509SCEPEnrollment>;
14272 fn ResultMessageText(&self) -> ::windows::core::Result<::windows::core::BSTR>;
14273 }
14274 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14275 impl ::windows::core::RuntimeName for IX509SCEPEnrollmentHelper {}
14276 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14277 impl IX509SCEPEnrollmentHelper_Vtbl {
14278 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>() -> IX509SCEPEnrollmentHelper_Vtbl {
14279 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strserverurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, strrequestheaders: ::std::mem::MaybeUninit<::windows::core::BSTR>, prequest: *mut ::core::ffi::c_void, strcacertificatethumbprint: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14280 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14281 let this = (*this).get_impl();
14282 this.Initialize(::core::mem::transmute(&strserverurl), ::core::mem::transmute(&strrequestheaders), ::windows::core::from_raw_borrowed(&prequest), ::core::mem::transmute(&strcacertificatethumbprint)).into()
14283 }
14284 unsafe extern "system" fn InitializeForPending<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, strserverurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, strrequestheaders: ::std::mem::MaybeUninit<::windows::core::BSTR>, context: X509CertificateEnrollmentContext, strtransactionid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14285 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14286 let this = (*this).get_impl();
14287 this.InitializeForPending(::core::mem::transmute(&strserverurl), ::core::mem::transmute(&strrequestheaders), ::core::mem::transmute_copy(&context), ::core::mem::transmute(&strtransactionid)).into()
14288 }
14289 unsafe extern "system" fn Enroll<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processflags: X509SCEPProcessMessageFlags, pdisposition: *mut X509SCEPDisposition) -> ::windows::core::HRESULT {
14290 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14291 let this = (*this).get_impl();
14292 match this.Enroll(::core::mem::transmute_copy(&processflags)) {
14293 ::core::result::Result::Ok(ok__) => {
14294 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
14295 ::windows::core::HRESULT(0)
14296 }
14297 ::core::result::Result::Err(err) => err.into(),
14298 }
14299 }
14300 unsafe extern "system" fn FetchPending<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, processflags: X509SCEPProcessMessageFlags, pdisposition: *mut X509SCEPDisposition) -> ::windows::core::HRESULT {
14301 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14302 let this = (*this).get_impl();
14303 match this.FetchPending(::core::mem::transmute_copy(&processflags)) {
14304 ::core::result::Result::Ok(ok__) => {
14305 ::core::ptr::write(pdisposition, ::core::mem::transmute(ok__));
14306 ::windows::core::HRESULT(0)
14307 }
14308 ::core::result::Result::Err(err) => err.into(),
14309 }
14310 }
14311 unsafe extern "system" fn X509SCEPEnrollment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14312 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14313 let this = (*this).get_impl();
14314 match this.X509SCEPEnrollment() {
14315 ::core::result::Result::Ok(ok__) => {
14316 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14317 ::windows::core::HRESULT(0)
14318 }
14319 ::core::result::Result::Err(err) => err.into(),
14320 }
14321 }
14322 unsafe extern "system" fn ResultMessageText<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SCEPEnrollmentHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14323 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14324 let this = (*this).get_impl();
14325 match this.ResultMessageText() {
14326 ::core::result::Result::Ok(ok__) => {
14327 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14328 ::windows::core::HRESULT(0)
14329 }
14330 ::core::result::Result::Err(err) => err.into(),
14331 }
14332 }
14333 Self {
14334 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
14335 Initialize: Initialize::<Identity, Impl, OFFSET>,
14336 InitializeForPending: InitializeForPending::<Identity, Impl, OFFSET>,
14337 Enroll: Enroll::<Identity, Impl, OFFSET>,
14338 FetchPending: FetchPending::<Identity, Impl, OFFSET>,
14339 X509SCEPEnrollment: X509SCEPEnrollment::<Identity, Impl, OFFSET>,
14340 ResultMessageText: ResultMessageText::<Identity, Impl, OFFSET>,
14341 }
14342 }
14343 pub fn matches(iid: &windows::core::GUID) -> bool {
14344 iid == &<IX509SCEPEnrollmentHelper as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
14345 }
14346 }
14347 #[doc = "*Required features: `\"Win32_Security_Cryptography_Certificates\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
14348 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14349 pub trait IX509SignatureInformation_Impl: Sized + super::super::super::System::Com::IDispatch_Impl {
14350 fn HashAlgorithm(&self) -> ::windows::core::Result<IObjectId>;
14351 fn SetHashAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
14352 fn PublicKeyAlgorithm(&self) -> ::windows::core::Result<IObjectId>;
14353 fn SetPublicKeyAlgorithm(&self, pvalue: ::core::option::Option<&IObjectId>) -> ::windows::core::Result<()>;
14354 fn get_Parameters(&self, encoding: EncodingType) -> ::windows::core::Result<::windows::core::BSTR>;
14355 fn put_Parameters(&self, encoding: EncodingType, value: &::windows::core::BSTR) -> ::windows::core::Result<()>;
14356 fn AlternateSignatureAlgorithm(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
14357 fn SetAlternateSignatureAlgorithm(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
14358 fn AlternateSignatureAlgorithmSet(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
14359 fn NullSigned(&self) -> ::windows::core::Result<super::super::super::Foundation::VARIANT_BOOL>;
14360 fn SetNullSigned(&self, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
14361 fn GetSignatureAlgorithm(&self, pkcs7signature: super::super::super::Foundation::VARIANT_BOOL, signaturekey: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<IObjectId>;
14362 fn SetDefaultValues(&self) -> ::windows::core::Result<()>;
14363 }
14364 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14365 impl ::windows::core::RuntimeName for IX509SignatureInformation {}
14366 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
14367 impl IX509SignatureInformation_Vtbl {
14368 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>() -> IX509SignatureInformation_Vtbl {
14369 unsafe extern "system" fn HashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14370 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14371 let this = (*this).get_impl();
14372 match this.HashAlgorithm() {
14373 ::core::result::Result::Ok(ok__) => {
14374 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14375 ::windows::core::HRESULT(0)
14376 }
14377 ::core::result::Result::Err(err) => err.into(),
14378 }
14379 }
14380 unsafe extern "system" fn SetHashAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14381 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14382 let this = (*this).get_impl();
14383 this.SetHashAlgorithm(::windows::core::from_raw_borrowed(&pvalue)).into()
14384 }
14385 unsafe extern "system" fn PublicKeyAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14386 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14387 let this = (*this).get_impl();
14388 match this.PublicKeyAlgorithm() {
14389 ::core::result::Result::Ok(ok__) => {
14390 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14391 ::windows::core::HRESULT(0)
14392 }
14393 ::core::result::Result::Err(err) => err.into(),
14394 }
14395 }
14396 unsafe extern "system" fn SetPublicKeyAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14397 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14398 let this = (*this).get_impl();
14399 this.SetPublicKeyAlgorithm(::windows::core::from_raw_borrowed(&pvalue)).into()
14400 }
14401 unsafe extern "system" fn get_Parameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, pvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14402 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14403 let this = (*this).get_impl();
14404 match this.get_Parameters(::core::mem::transmute_copy(&encoding)) {
14405 ::core::result::Result::Ok(ok__) => {
14406 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14407 ::windows::core::HRESULT(0)
14408 }
14409 ::core::result::Result::Err(err) => err.into(),
14410 }
14411 }
14412 unsafe extern "system" fn put_Parameters<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, encoding: EncodingType, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
14413 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14414 let this = (*this).get_impl();
14415 this.put_Parameters(::core::mem::transmute_copy(&encoding), ::core::mem::transmute(&value)).into()
14416 }
14417 unsafe extern "system" fn AlternateSignatureAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
14418 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14419 let this = (*this).get_impl();
14420 match this.AlternateSignatureAlgorithm() {
14421 ::core::result::Result::Ok(ok__) => {
14422 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14423 ::windows::core::HRESULT(0)
14424 }
14425 ::core::result::Result::Err(err) => err.into(),
14426 }
14427 }
14428 unsafe extern "system" fn SetAlternateSignatureAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
14429 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14430 let this = (*this).get_impl();
14431 this.SetAlternateSignatureAlgorithm(::core::mem::transmute_copy(&value)).into()
14432 }
14433 unsafe extern "system" fn AlternateSignatureAlgorithmSet<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
14434 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14435 let this = (*this).get_impl();
14436 match this.AlternateSignatureAlgorithmSet() {
14437 ::core::result::Result::Ok(ok__) => {
14438 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14439 ::windows::core::HRESULT(0)
14440 }
14441 ::core::result::Result::Err(err) => err.into(),
14442 }
14443 }
14444 unsafe extern "system" fn NullSigned<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvalue: *mut super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
14445 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14446 let this = (*this).get_impl();
14447 match this.NullSigned() {
14448 ::core::result::Result::Ok(ok__) => {
14449 ::core::ptr::write(pvalue, ::core::mem::transmute(ok__));
14450 ::windows::core::HRESULT(0)
14451 }
14452 ::core::result::Result::Err(err) => err.into(),
14453 }
14454 }
14455 unsafe extern "system" fn SetNullSigned<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
14456 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14457 let this = (*this).get_impl();
14458 this.SetNullSigned(::core::mem::transmute_copy(&value)).into()
14459 }
14460 unsafe extern "system" fn GetSignatureAlgorithm<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pkcs7signature: super::super::super::Foundation::VARIANT_BOOL, signaturekey: super::super::super::Foundation::VARIANT_BOOL, ppvalue: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14461 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14462 let this = (*this).get_impl();
14463 match this.GetSignatureAlgorithm(::core::mem::transmute_copy(&pkcs7signature), ::core::mem::transmute_copy(&signaturekey)) {
14464 ::core::result::Result::Ok(ok__) => {
14465 ::core::ptr::write(ppvalue, ::core::mem::transmute(ok__));
14466 ::windows::core::HRESULT(0)
14467 }
14468 ::core::result::Result::Err(err) => err.into(),
14469 }
14470 }
14471 unsafe extern "system" fn SetDefaultValues<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IX509SignatureInformation_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14472 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
14473 let this = (*this).get_impl();
14474 this.SetDefaultValues().into()
14475 }
14476 Self {
14477 base__: super::super::super::System::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
14478 HashAlgorithm: HashAlgorithm::<Identity, Impl, OFFSET>,
14479 SetHashAlgorithm: SetHashAlgorithm::<Identity, Impl, OFFSET>,
14480 PublicKeyAlgorithm: PublicKeyAlgorithm::<Identity, Impl, OFFSET>,
14481 SetPublicKeyAlgorithm: SetPublicKeyAlgorithm::<Identity, Impl, OFFSET>,
14482 get_Parameters: get_Parameters::<Identity, Impl, OFFSET>,
14483 put_Parameters: put_Parameters::<Identity, Impl, OFFSET>,
14484 AlternateSignatureAlgorithm: AlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
14485 SetAlternateSignatureAlgorithm: SetAlternateSignatureAlgorithm::<Identity, Impl, OFFSET>,
14486 AlternateSignatureAlgorithmSet: AlternateSignatureAlgorithmSet::<Identity, Impl, OFFSET>,
14487 NullSigned: NullSigned::<Identity, Impl, OFFSET>,
14488 SetNullSigned: SetNullSigned::<Identity, Impl, OFFSET>,
14489 GetSignatureAlgorithm: GetSignatureAlgorithm::<Identity, Impl, OFFSET>,
14490 SetDefaultValues: SetDefaultValues::<Identity, Impl, OFFSET>,
14491 }
14492 }
14493 pub fn matches(iid: &windows::core::GUID) -> bool {
14494 iid == &<IX509SignatureInformation as ::windows::core::ComInterface>::IID || iid == &<super::super::super::System::Com::IDispatch as ::windows::core::ComInterface>::IID
14495 }
14496 }