]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Security/Authentication/Web/Provider/mod.rs
Merge 1.70 into proxmox/bookworm
[rustc.git] / vendor / windows / src / Windows / Security / Authentication / Web / Provider / mod.rs
CommitLineData
353b0b11
FG
1#[doc(hidden)]
2#[repr(transparent)]
3pub struct IWebAccountClientView(::windows::core::IUnknown);
4unsafe impl ::windows::core::Interface for IWebAccountClientView {
5 type Vtable = IWebAccountClientView_Vtbl;
6}
7impl ::core::clone::Clone for IWebAccountClientView {
8 fn clone(&self) -> Self {
9 Self(self.0.clone())
10 }
11}
12unsafe impl ::windows::core::ComInterface for IWebAccountClientView {
13 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe7bd66ba_0bc7_4c66_bfd4_65d3082cbca8);
14}
15#[repr(C)]
16#[doc(hidden)]
17pub struct IWebAccountClientView_Vtbl {
18 pub base__: ::windows::core::IInspectable_Vtbl,
19 #[cfg(feature = "Foundation")]
20 pub ApplicationCallbackUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
21 #[cfg(not(feature = "Foundation"))]
22 ApplicationCallbackUri: usize,
23 pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut WebAccountClientViewType) -> ::windows::core::HRESULT,
24 pub AccountPairwiseId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
25}
26#[doc(hidden)]
27#[repr(transparent)]
28pub struct IWebAccountClientViewFactory(::windows::core::IUnknown);
29unsafe impl ::windows::core::Interface for IWebAccountClientViewFactory {
30 type Vtable = IWebAccountClientViewFactory_Vtbl;
31}
32impl ::core::clone::Clone for IWebAccountClientViewFactory {
33 fn clone(&self) -> Self {
34 Self(self.0.clone())
35 }
36}
37unsafe impl ::windows::core::ComInterface for IWebAccountClientViewFactory {
38 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x616d16a4_de22_4855_a326_06cebf2a3f23);
39}
40#[repr(C)]
41#[doc(hidden)]
42pub struct IWebAccountClientViewFactory_Vtbl {
43 pub base__: ::windows::core::IInspectable_Vtbl,
44 #[cfg(feature = "Foundation")]
45 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, viewtype: WebAccountClientViewType, applicationcallbackuri: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
46 #[cfg(not(feature = "Foundation"))]
47 Create: usize,
48 #[cfg(feature = "Foundation")]
49 pub CreateWithPairwiseId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, viewtype: WebAccountClientViewType, applicationcallbackuri: *mut ::core::ffi::c_void, accountpairwiseid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
50 #[cfg(not(feature = "Foundation"))]
51 CreateWithPairwiseId: usize,
52}
53#[doc(hidden)]
54#[repr(transparent)]
55pub struct IWebAccountManagerStatics(::windows::core::IUnknown);
56unsafe impl ::windows::core::Interface for IWebAccountManagerStatics {
57 type Vtable = IWebAccountManagerStatics_Vtbl;
58}
59impl ::core::clone::Clone for IWebAccountManagerStatics {
60 fn clone(&self) -> Self {
61 Self(self.0.clone())
62 }
63}
64unsafe impl ::windows::core::ComInterface for IWebAccountManagerStatics {
65 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb2e8e1a6_d49a_4032_84bf_1a2847747bf1);
66}
67#[repr(C)]
68#[doc(hidden)]
69pub struct IWebAccountManagerStatics_Vtbl {
70 pub base__: ::windows::core::IInspectable_Vtbl,
71 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
72 pub UpdateWebAccountPropertiesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, webaccountusername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, additionalproperties: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
73 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials")))]
74 UpdateWebAccountPropertiesAsync: usize,
75 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
76 pub AddWebAccountAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, webaccountusername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, props: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
77 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials")))]
78 AddWebAccountAsync: usize,
79 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
80 pub DeleteWebAccountAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
81 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
82 DeleteWebAccountAsync: usize,
83 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
84 pub FindAllProviderWebAccountsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
85 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials")))]
86 FindAllProviderWebAccountsAsync: usize,
87 #[cfg(all(feature = "Foundation_Collections", feature = "Web_Http"))]
88 pub PushCookiesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uri: *mut ::core::ffi::c_void, cookies: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
89 #[cfg(not(all(feature = "Foundation_Collections", feature = "Web_Http")))]
90 PushCookiesAsync: usize,
91 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
92 pub SetViewAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
93 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
94 SetViewAsync: usize,
95 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
96 pub ClearViewAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, applicationcallbackuri: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
97 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
98 ClearViewAsync: usize,
99 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
100 pub GetViewsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
101 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials")))]
102 GetViewsAsync: usize,
103 #[cfg(all(feature = "Foundation", feature = "Security_Credentials", feature = "Storage_Streams"))]
104 pub SetWebAccountPictureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, webaccountpicture: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
105 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials", feature = "Storage_Streams")))]
106 SetWebAccountPictureAsync: usize,
107 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
108 pub ClearWebAccountPictureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
109 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
110 ClearWebAccountPictureAsync: usize,
111}
112#[doc(hidden)]
113#[repr(transparent)]
114pub struct IWebAccountManagerStatics2(::windows::core::IUnknown);
115unsafe impl ::windows::core::Interface for IWebAccountManagerStatics2 {
116 type Vtable = IWebAccountManagerStatics2_Vtbl;
117}
118impl ::core::clone::Clone for IWebAccountManagerStatics2 {
119 fn clone(&self) -> Self {
120 Self(self.0.clone())
121 }
122}
123unsafe impl ::windows::core::ComInterface for IWebAccountManagerStatics2 {
124 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x68a7a829_2d5f_4653_8bb0_bd2fa6bd2d87);
125}
126#[repr(C)]
127#[doc(hidden)]
128pub struct IWebAccountManagerStatics2_Vtbl {
129 pub base__: ::windows::core::IInspectable_Vtbl,
130 #[cfg(feature = "Foundation")]
131 pub PullCookiesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uristring: ::std::mem::MaybeUninit<::windows::core::HSTRING>, callerpfn: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
132 #[cfg(not(feature = "Foundation"))]
133 PullCookiesAsync: usize,
134}
135#[doc(hidden)]
136#[repr(transparent)]
137pub struct IWebAccountManagerStatics3(::windows::core::IUnknown);
138unsafe impl ::windows::core::Interface for IWebAccountManagerStatics3 {
139 type Vtable = IWebAccountManagerStatics3_Vtbl;
140}
141impl ::core::clone::Clone for IWebAccountManagerStatics3 {
142 fn clone(&self) -> Self {
143 Self(self.0.clone())
144 }
145}
146unsafe impl ::windows::core::ComInterface for IWebAccountManagerStatics3 {
147 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdd4523a6_8a4f_4aa2_b15e_03f550af1359);
148}
149#[repr(C)]
150#[doc(hidden)]
151pub struct IWebAccountManagerStatics3_Vtbl {
152 pub base__: ::windows::core::IInspectable_Vtbl,
153 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
154 pub FindAllProviderWebAccountsForUserAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, user: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
155 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System")))]
156 FindAllProviderWebAccountsForUserAsync: usize,
157 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
158 pub AddWebAccountForUserAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, user: *mut ::core::ffi::c_void, webaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, webaccountusername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, props: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
159 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System")))]
160 AddWebAccountForUserAsync: usize,
161 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
162 pub AddWebAccountWithScopeForUserAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, user: *mut ::core::ffi::c_void, webaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, webaccountusername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, props: *mut ::core::ffi::c_void, scope: WebAccountScope, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
163 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System")))]
164 AddWebAccountWithScopeForUserAsync: usize,
165 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
166 pub AddWebAccountWithScopeAndMapForUserAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, user: *mut ::core::ffi::c_void, webaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, webaccountusername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, props: *mut ::core::ffi::c_void, scope: WebAccountScope, peruserwebaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
167 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System")))]
168 AddWebAccountWithScopeAndMapForUserAsync: usize,
169}
170#[doc(hidden)]
171#[repr(transparent)]
172pub struct IWebAccountManagerStatics4(::windows::core::IUnknown);
173unsafe impl ::windows::core::Interface for IWebAccountManagerStatics4 {
174 type Vtable = IWebAccountManagerStatics4_Vtbl;
175}
176impl ::core::clone::Clone for IWebAccountManagerStatics4 {
177 fn clone(&self) -> Self {
178 Self(self.0.clone())
179 }
180}
181unsafe impl ::windows::core::ComInterface for IWebAccountManagerStatics4 {
182 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x59ebc2d2_f7db_412f_bc3f_f2fea04430b4);
183}
184#[repr(C)]
185#[doc(hidden)]
186pub struct IWebAccountManagerStatics4_Vtbl {
187 pub base__: ::windows::core::IInspectable_Vtbl,
188 #[cfg(feature = "Foundation")]
189 pub InvalidateAppCacheForAllAccountsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
190 #[cfg(not(feature = "Foundation"))]
191 InvalidateAppCacheForAllAccountsAsync: usize,
192 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
193 pub InvalidateAppCacheForAccountAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
194 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
195 InvalidateAppCacheForAccountAsync: usize,
196}
197#[doc(hidden)]
198#[repr(transparent)]
199pub struct IWebAccountMapManagerStatics(::windows::core::IUnknown);
200unsafe impl ::windows::core::Interface for IWebAccountMapManagerStatics {
201 type Vtable = IWebAccountMapManagerStatics_Vtbl;
202}
203impl ::core::clone::Clone for IWebAccountMapManagerStatics {
204 fn clone(&self) -> Self {
205 Self(self.0.clone())
206 }
207}
208unsafe impl ::windows::core::ComInterface for IWebAccountMapManagerStatics {
209 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe8fa446f_3a1b_48a4_8e90_1e59ca6f54db);
210}
211#[repr(C)]
212#[doc(hidden)]
213pub struct IWebAccountMapManagerStatics_Vtbl {
214 pub base__: ::windows::core::IInspectable_Vtbl,
215 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
216 pub AddWebAccountWithScopeAndMapAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, webaccountusername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, props: *mut ::core::ffi::c_void, scope: WebAccountScope, peruserwebaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
217 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials")))]
218 AddWebAccountWithScopeAndMapAsync: usize,
219 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
220 pub SetPerAppToPerUserAccountAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, perappaccount: *mut ::core::ffi::c_void, peruserwebaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
221 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
222 SetPerAppToPerUserAccountAsync: usize,
223 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
224 pub GetPerUserFromPerAppAccountAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, perappaccount: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
225 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
226 GetPerUserFromPerAppAccountAsync: usize,
227 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
228 pub ClearPerUserFromPerAppAccountAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, perappaccount: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
229 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
230 ClearPerUserFromPerAppAccountAsync: usize,
231}
232#[doc(hidden)]
233#[repr(transparent)]
234pub struct IWebAccountProviderAddAccountOperation(::windows::core::IUnknown);
235unsafe impl ::windows::core::Interface for IWebAccountProviderAddAccountOperation {
236 type Vtable = IWebAccountProviderAddAccountOperation_Vtbl;
237}
238impl ::core::clone::Clone for IWebAccountProviderAddAccountOperation {
239 fn clone(&self) -> Self {
240 Self(self.0.clone())
241 }
242}
243unsafe impl ::windows::core::ComInterface for IWebAccountProviderAddAccountOperation {
244 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x73ebdccf_4378_4c79_9335_a5d7ab81594e);
245}
246#[repr(C)]
247#[doc(hidden)]
248pub struct IWebAccountProviderAddAccountOperation_Vtbl {
249 pub base__: ::windows::core::IInspectable_Vtbl,
250 pub ReportCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
251}
252#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
253#[repr(transparent)]
254pub struct IWebAccountProviderBaseReportOperation(::windows::core::IUnknown);
255impl IWebAccountProviderBaseReportOperation {
256 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
257 let this = self;
258 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
259 }
260 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
261 #[cfg(feature = "Security_Authentication_Web_Core")]
262 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
263 let this = self;
264 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
265 }
266}
267::windows::imp::interface_hierarchy!(IWebAccountProviderBaseReportOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
268impl ::core::cmp::PartialEq for IWebAccountProviderBaseReportOperation {
269 fn eq(&self, other: &Self) -> bool {
270 self.0 == other.0
271 }
272}
273impl ::core::cmp::Eq for IWebAccountProviderBaseReportOperation {}
274impl ::core::fmt::Debug for IWebAccountProviderBaseReportOperation {
275 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
276 f.debug_tuple("IWebAccountProviderBaseReportOperation").field(&self.0).finish()
277 }
278}
279impl ::windows::core::RuntimeType for IWebAccountProviderBaseReportOperation {
280 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{bba4acbb-993b-4d57-bbe4-1421e3668b4c}");
281}
282unsafe impl ::windows::core::Interface for IWebAccountProviderBaseReportOperation {
283 type Vtable = IWebAccountProviderBaseReportOperation_Vtbl;
284}
285impl ::core::clone::Clone for IWebAccountProviderBaseReportOperation {
286 fn clone(&self) -> Self {
287 Self(self.0.clone())
288 }
289}
290unsafe impl ::windows::core::ComInterface for IWebAccountProviderBaseReportOperation {
291 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbba4acbb_993b_4d57_bbe4_1421e3668b4c);
292}
293#[repr(C)]
294#[doc(hidden)]
295pub struct IWebAccountProviderBaseReportOperation_Vtbl {
296 pub base__: ::windows::core::IInspectable_Vtbl,
297 pub ReportCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
298 #[cfg(feature = "Security_Authentication_Web_Core")]
299 pub ReportError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
300 #[cfg(not(feature = "Security_Authentication_Web_Core"))]
301 ReportError: usize,
302}
303#[doc(hidden)]
304#[repr(transparent)]
305pub struct IWebAccountProviderDeleteAccountOperation(::windows::core::IUnknown);
306unsafe impl ::windows::core::Interface for IWebAccountProviderDeleteAccountOperation {
307 type Vtable = IWebAccountProviderDeleteAccountOperation_Vtbl;
308}
309impl ::core::clone::Clone for IWebAccountProviderDeleteAccountOperation {
310 fn clone(&self) -> Self {
311 Self(self.0.clone())
312 }
313}
314unsafe impl ::windows::core::ComInterface for IWebAccountProviderDeleteAccountOperation {
315 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0abb48b8_9e01_49c9_a355_7d48caf7d6ca);
316}
317#[repr(C)]
318#[doc(hidden)]
319pub struct IWebAccountProviderDeleteAccountOperation_Vtbl {
320 pub base__: ::windows::core::IInspectable_Vtbl,
321 #[cfg(feature = "Security_Credentials")]
322 pub WebAccount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
323 #[cfg(not(feature = "Security_Credentials"))]
324 WebAccount: usize,
325}
326#[doc(hidden)]
327#[repr(transparent)]
328pub struct IWebAccountProviderManageAccountOperation(::windows::core::IUnknown);
329unsafe impl ::windows::core::Interface for IWebAccountProviderManageAccountOperation {
330 type Vtable = IWebAccountProviderManageAccountOperation_Vtbl;
331}
332impl ::core::clone::Clone for IWebAccountProviderManageAccountOperation {
333 fn clone(&self) -> Self {
334 Self(self.0.clone())
335 }
336}
337unsafe impl ::windows::core::ComInterface for IWebAccountProviderManageAccountOperation {
338 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xed20dc5c_d21b_463e_a9b7_c1fd0edae978);
339}
340#[repr(C)]
341#[doc(hidden)]
342pub struct IWebAccountProviderManageAccountOperation_Vtbl {
343 pub base__: ::windows::core::IInspectable_Vtbl,
344 #[cfg(feature = "Security_Credentials")]
345 pub WebAccount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
346 #[cfg(not(feature = "Security_Credentials"))]
347 WebAccount: usize,
348 pub ReportCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
349}
350#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
351#[repr(transparent)]
352pub struct IWebAccountProviderOperation(::windows::core::IUnknown);
353impl IWebAccountProviderOperation {
354 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
355 let this = self;
356 unsafe {
357 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
358 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
359 }
360 }
361}
362::windows::imp::interface_hierarchy!(IWebAccountProviderOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
363impl ::core::cmp::PartialEq for IWebAccountProviderOperation {
364 fn eq(&self, other: &Self) -> bool {
365 self.0 == other.0
366 }
367}
368impl ::core::cmp::Eq for IWebAccountProviderOperation {}
369impl ::core::fmt::Debug for IWebAccountProviderOperation {
370 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
371 f.debug_tuple("IWebAccountProviderOperation").field(&self.0).finish()
372 }
373}
374impl ::windows::core::RuntimeType for IWebAccountProviderOperation {
375 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{6d5d2426-10b1-419a-a44e-f9c5161574e6}");
376}
377unsafe impl ::windows::core::Interface for IWebAccountProviderOperation {
378 type Vtable = IWebAccountProviderOperation_Vtbl;
379}
380impl ::core::clone::Clone for IWebAccountProviderOperation {
381 fn clone(&self) -> Self {
382 Self(self.0.clone())
383 }
384}
385unsafe impl ::windows::core::ComInterface for IWebAccountProviderOperation {
386 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6d5d2426_10b1_419a_a44e_f9c5161574e6);
387}
388#[repr(C)]
389#[doc(hidden)]
390pub struct IWebAccountProviderOperation_Vtbl {
391 pub base__: ::windows::core::IInspectable_Vtbl,
392 pub Kind: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut WebAccountProviderOperationKind) -> ::windows::core::HRESULT,
393}
394#[doc(hidden)]
395#[repr(transparent)]
396pub struct IWebAccountProviderRetrieveCookiesOperation(::windows::core::IUnknown);
397unsafe impl ::windows::core::Interface for IWebAccountProviderRetrieveCookiesOperation {
398 type Vtable = IWebAccountProviderRetrieveCookiesOperation_Vtbl;
399}
400impl ::core::clone::Clone for IWebAccountProviderRetrieveCookiesOperation {
401 fn clone(&self) -> Self {
402 Self(self.0.clone())
403 }
404}
405unsafe impl ::windows::core::ComInterface for IWebAccountProviderRetrieveCookiesOperation {
406 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5a040441_0fa3_4ab1_a01c_20b110358594);
407}
408#[repr(C)]
409#[doc(hidden)]
410pub struct IWebAccountProviderRetrieveCookiesOperation_Vtbl {
411 pub base__: ::windows::core::IInspectable_Vtbl,
412 #[cfg(feature = "Foundation")]
413 pub Context: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
414 #[cfg(not(feature = "Foundation"))]
415 Context: usize,
416 #[cfg(all(feature = "Foundation_Collections", feature = "Web_Http"))]
417 pub Cookies: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
418 #[cfg(not(all(feature = "Foundation_Collections", feature = "Web_Http")))]
419 Cookies: usize,
420 #[cfg(feature = "Foundation")]
421 pub SetUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uri: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
422 #[cfg(not(feature = "Foundation"))]
423 SetUri: usize,
424 #[cfg(feature = "Foundation")]
425 pub Uri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
426 #[cfg(not(feature = "Foundation"))]
427 Uri: usize,
428 #[cfg(feature = "Foundation")]
429 pub ApplicationCallbackUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
430 #[cfg(not(feature = "Foundation"))]
431 ApplicationCallbackUri: usize,
432}
433#[doc(hidden)]
434#[repr(transparent)]
435pub struct IWebAccountProviderSignOutAccountOperation(::windows::core::IUnknown);
436unsafe impl ::windows::core::Interface for IWebAccountProviderSignOutAccountOperation {
437 type Vtable = IWebAccountProviderSignOutAccountOperation_Vtbl;
438}
439impl ::core::clone::Clone for IWebAccountProviderSignOutAccountOperation {
440 fn clone(&self) -> Self {
441 Self(self.0.clone())
442 }
443}
444unsafe impl ::windows::core::ComInterface for IWebAccountProviderSignOutAccountOperation {
445 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb890e21d_0c55_47bc_8c72_04a6fc7cac07);
446}
447#[repr(C)]
448#[doc(hidden)]
449pub struct IWebAccountProviderSignOutAccountOperation_Vtbl {
450 pub base__: ::windows::core::IInspectable_Vtbl,
451 #[cfg(feature = "Security_Credentials")]
452 pub WebAccount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
453 #[cfg(not(feature = "Security_Credentials"))]
454 WebAccount: usize,
455 #[cfg(feature = "Foundation")]
456 pub ApplicationCallbackUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
457 #[cfg(not(feature = "Foundation"))]
458 ApplicationCallbackUri: usize,
459 pub ClientId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
460}
461#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
462#[repr(transparent)]
463pub struct IWebAccountProviderSilentReportOperation(::windows::core::IUnknown);
464impl IWebAccountProviderSilentReportOperation {
465 pub fn ReportUserInteractionRequired(&self) -> ::windows::core::Result<()> {
466 let this = self;
467 unsafe { (::windows::core::Interface::vtable(this).ReportUserInteractionRequired)(::windows::core::Interface::as_raw(this)).ok() }
468 }
469 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
470 #[cfg(feature = "Security_Authentication_Web_Core")]
471 pub fn ReportUserInteractionRequiredWithError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
472 let this = self;
473 unsafe { (::windows::core::Interface::vtable(this).ReportUserInteractionRequiredWithError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
474 }
475 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
476 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
477 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
478 }
479 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
480 #[cfg(feature = "Security_Authentication_Web_Core")]
481 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
482 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
483 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
484 }
485}
486::windows::imp::interface_hierarchy!(IWebAccountProviderSilentReportOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
487impl windows::core::CanTryInto<IWebAccountProviderBaseReportOperation> for IWebAccountProviderSilentReportOperation {}
488impl ::core::cmp::PartialEq for IWebAccountProviderSilentReportOperation {
489 fn eq(&self, other: &Self) -> bool {
490 self.0 == other.0
491 }
492}
493impl ::core::cmp::Eq for IWebAccountProviderSilentReportOperation {}
494impl ::core::fmt::Debug for IWebAccountProviderSilentReportOperation {
495 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
496 f.debug_tuple("IWebAccountProviderSilentReportOperation").field(&self.0).finish()
497 }
498}
499impl ::windows::core::RuntimeType for IWebAccountProviderSilentReportOperation {
500 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{e0b545f8-3b0f-44da-924c-7b18baaa62a9}");
501}
502unsafe impl ::windows::core::Interface for IWebAccountProviderSilentReportOperation {
503 type Vtable = IWebAccountProviderSilentReportOperation_Vtbl;
504}
505impl ::core::clone::Clone for IWebAccountProviderSilentReportOperation {
506 fn clone(&self) -> Self {
507 Self(self.0.clone())
508 }
509}
510unsafe impl ::windows::core::ComInterface for IWebAccountProviderSilentReportOperation {
511 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe0b545f8_3b0f_44da_924c_7b18baaa62a9);
512}
513#[repr(C)]
514#[doc(hidden)]
515pub struct IWebAccountProviderSilentReportOperation_Vtbl {
516 pub base__: ::windows::core::IInspectable_Vtbl,
517 pub ReportUserInteractionRequired: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
518 #[cfg(feature = "Security_Authentication_Web_Core")]
519 pub ReportUserInteractionRequiredWithError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
520 #[cfg(not(feature = "Security_Authentication_Web_Core"))]
521 ReportUserInteractionRequiredWithError: usize,
522}
523#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
524#[repr(transparent)]
525pub struct IWebAccountProviderTokenObjects(::windows::core::IUnknown);
526impl IWebAccountProviderTokenObjects {
527 pub fn Operation(&self) -> ::windows::core::Result<IWebAccountProviderOperation> {
528 let this = self;
529 unsafe {
530 let mut result__ = ::windows::core::zeroed::<IWebAccountProviderOperation>();
531 (::windows::core::Interface::vtable(this).Operation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
532 }
533 }
534}
535::windows::imp::interface_hierarchy!(IWebAccountProviderTokenObjects, ::windows::core::IUnknown, ::windows::core::IInspectable);
536impl ::core::cmp::PartialEq for IWebAccountProviderTokenObjects {
537 fn eq(&self, other: &Self) -> bool {
538 self.0 == other.0
539 }
540}
541impl ::core::cmp::Eq for IWebAccountProviderTokenObjects {}
542impl ::core::fmt::Debug for IWebAccountProviderTokenObjects {
543 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
544 f.debug_tuple("IWebAccountProviderTokenObjects").field(&self.0).finish()
545 }
546}
547impl ::windows::core::RuntimeType for IWebAccountProviderTokenObjects {
548 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{408f284b-1328-42db-89a4-0bce7a717d8e}");
549}
550unsafe impl ::windows::core::Interface for IWebAccountProviderTokenObjects {
551 type Vtable = IWebAccountProviderTokenObjects_Vtbl;
552}
553impl ::core::clone::Clone for IWebAccountProviderTokenObjects {
554 fn clone(&self) -> Self {
555 Self(self.0.clone())
556 }
557}
558unsafe impl ::windows::core::ComInterface for IWebAccountProviderTokenObjects {
559 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x408f284b_1328_42db_89a4_0bce7a717d8e);
560}
561#[repr(C)]
562#[doc(hidden)]
563pub struct IWebAccountProviderTokenObjects_Vtbl {
564 pub base__: ::windows::core::IInspectable_Vtbl,
565 pub Operation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
566}
567#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
568#[repr(transparent)]
569pub struct IWebAccountProviderTokenObjects2(::windows::core::IUnknown);
570impl IWebAccountProviderTokenObjects2 {
571 #[doc = "*Required features: `\"System\"`*"]
572 #[cfg(feature = "System")]
573 pub fn User(&self) -> ::windows::core::Result<super::super::super::super::System::User> {
574 let this = self;
575 unsafe {
576 let mut result__ = ::windows::core::zeroed::<super::super::super::super::System::User>();
577 (::windows::core::Interface::vtable(this).User)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
578 }
579 }
580 pub fn Operation(&self) -> ::windows::core::Result<IWebAccountProviderOperation> {
581 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderTokenObjects>(self)?;
582 unsafe {
583 let mut result__ = ::windows::core::zeroed::<IWebAccountProviderOperation>();
584 (::windows::core::Interface::vtable(this).Operation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
585 }
586 }
587}
588::windows::imp::interface_hierarchy!(IWebAccountProviderTokenObjects2, ::windows::core::IUnknown, ::windows::core::IInspectable);
589impl windows::core::CanTryInto<IWebAccountProviderTokenObjects> for IWebAccountProviderTokenObjects2 {}
590impl ::core::cmp::PartialEq for IWebAccountProviderTokenObjects2 {
591 fn eq(&self, other: &Self) -> bool {
592 self.0 == other.0
593 }
594}
595impl ::core::cmp::Eq for IWebAccountProviderTokenObjects2 {}
596impl ::core::fmt::Debug for IWebAccountProviderTokenObjects2 {
597 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
598 f.debug_tuple("IWebAccountProviderTokenObjects2").field(&self.0).finish()
599 }
600}
601impl ::windows::core::RuntimeType for IWebAccountProviderTokenObjects2 {
602 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{1020b893-5ca5-4fff-95fb-b820273fc395}");
603}
604unsafe impl ::windows::core::Interface for IWebAccountProviderTokenObjects2 {
605 type Vtable = IWebAccountProviderTokenObjects2_Vtbl;
606}
607impl ::core::clone::Clone for IWebAccountProviderTokenObjects2 {
608 fn clone(&self) -> Self {
609 Self(self.0.clone())
610 }
611}
612unsafe impl ::windows::core::ComInterface for IWebAccountProviderTokenObjects2 {
613 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1020b893_5ca5_4fff_95fb_b820273fc395);
614}
615#[repr(C)]
616#[doc(hidden)]
617pub struct IWebAccountProviderTokenObjects2_Vtbl {
618 pub base__: ::windows::core::IInspectable_Vtbl,
619 #[cfg(feature = "System")]
620 pub User: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
621 #[cfg(not(feature = "System"))]
622 User: usize,
623}
624#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
625#[repr(transparent)]
626pub struct IWebAccountProviderTokenOperation(::windows::core::IUnknown);
627impl IWebAccountProviderTokenOperation {
628 pub fn ProviderRequest(&self) -> ::windows::core::Result<WebProviderTokenRequest> {
629 let this = self;
630 unsafe {
631 let mut result__ = ::windows::core::zeroed::<WebProviderTokenRequest>();
632 (::windows::core::Interface::vtable(this).ProviderRequest)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
633 }
634 }
635 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
636 #[cfg(feature = "Foundation_Collections")]
637 pub fn ProviderResponses(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Collections::IVector<WebProviderTokenResponse>> {
638 let this = self;
639 unsafe {
640 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Collections::IVector<WebProviderTokenResponse>>();
641 (::windows::core::Interface::vtable(this).ProviderResponses)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
642 }
643 }
644 #[doc = "*Required features: `\"Foundation\"`*"]
645 #[cfg(feature = "Foundation")]
646 pub fn SetCacheExpirationTime(&self, value: super::super::super::super::Foundation::DateTime) -> ::windows::core::Result<()> {
647 let this = self;
648 unsafe { (::windows::core::Interface::vtable(this).SetCacheExpirationTime)(::windows::core::Interface::as_raw(this), value).ok() }
649 }
650 #[doc = "*Required features: `\"Foundation\"`*"]
651 #[cfg(feature = "Foundation")]
652 pub fn CacheExpirationTime(&self) -> ::windows::core::Result<super::super::super::super::Foundation::DateTime> {
653 let this = self;
654 unsafe {
655 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::DateTime>();
656 (::windows::core::Interface::vtable(this).CacheExpirationTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
657 }
658 }
659 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
660 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
661 unsafe {
662 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
663 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
664 }
665 }
666}
667::windows::imp::interface_hierarchy!(IWebAccountProviderTokenOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
668impl windows::core::CanTryInto<IWebAccountProviderOperation> for IWebAccountProviderTokenOperation {}
669impl ::core::cmp::PartialEq for IWebAccountProviderTokenOperation {
670 fn eq(&self, other: &Self) -> bool {
671 self.0 == other.0
672 }
673}
674impl ::core::cmp::Eq for IWebAccountProviderTokenOperation {}
675impl ::core::fmt::Debug for IWebAccountProviderTokenOperation {
676 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
677 f.debug_tuple("IWebAccountProviderTokenOperation").field(&self.0).finish()
678 }
679}
680impl ::windows::core::RuntimeType for IWebAccountProviderTokenOperation {
681 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{95c613be-2034-4c38-9434-d26c14b2b4b2}");
682}
683unsafe impl ::windows::core::Interface for IWebAccountProviderTokenOperation {
684 type Vtable = IWebAccountProviderTokenOperation_Vtbl;
685}
686impl ::core::clone::Clone for IWebAccountProviderTokenOperation {
687 fn clone(&self) -> Self {
688 Self(self.0.clone())
689 }
690}
691unsafe impl ::windows::core::ComInterface for IWebAccountProviderTokenOperation {
692 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x95c613be_2034_4c38_9434_d26c14b2b4b2);
693}
694#[repr(C)]
695#[doc(hidden)]
696pub struct IWebAccountProviderTokenOperation_Vtbl {
697 pub base__: ::windows::core::IInspectable_Vtbl,
698 pub ProviderRequest: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
699 #[cfg(feature = "Foundation_Collections")]
700 pub ProviderResponses: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
701 #[cfg(not(feature = "Foundation_Collections"))]
702 ProviderResponses: usize,
703 #[cfg(feature = "Foundation")]
704 pub SetCacheExpirationTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
705 #[cfg(not(feature = "Foundation"))]
706 SetCacheExpirationTime: usize,
707 #[cfg(feature = "Foundation")]
708 pub CacheExpirationTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
709 #[cfg(not(feature = "Foundation"))]
710 CacheExpirationTime: usize,
711}
712#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
713#[repr(transparent)]
714pub struct IWebAccountProviderUIReportOperation(::windows::core::IUnknown);
715impl IWebAccountProviderUIReportOperation {
716 pub fn ReportUserCanceled(&self) -> ::windows::core::Result<()> {
717 let this = self;
718 unsafe { (::windows::core::Interface::vtable(this).ReportUserCanceled)(::windows::core::Interface::as_raw(this)).ok() }
719 }
720 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
721 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
722 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
723 }
724 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
725 #[cfg(feature = "Security_Authentication_Web_Core")]
726 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
727 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
728 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
729 }
730}
731::windows::imp::interface_hierarchy!(IWebAccountProviderUIReportOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
732impl windows::core::CanTryInto<IWebAccountProviderBaseReportOperation> for IWebAccountProviderUIReportOperation {}
733impl ::core::cmp::PartialEq for IWebAccountProviderUIReportOperation {
734 fn eq(&self, other: &Self) -> bool {
735 self.0 == other.0
736 }
737}
738impl ::core::cmp::Eq for IWebAccountProviderUIReportOperation {}
739impl ::core::fmt::Debug for IWebAccountProviderUIReportOperation {
740 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
741 f.debug_tuple("IWebAccountProviderUIReportOperation").field(&self.0).finish()
742 }
743}
744impl ::windows::core::RuntimeType for IWebAccountProviderUIReportOperation {
745 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{28ff92d3-8f80-42fb-944f-b2107bbd42e6}");
746}
747unsafe impl ::windows::core::Interface for IWebAccountProviderUIReportOperation {
748 type Vtable = IWebAccountProviderUIReportOperation_Vtbl;
749}
750impl ::core::clone::Clone for IWebAccountProviderUIReportOperation {
751 fn clone(&self) -> Self {
752 Self(self.0.clone())
753 }
754}
755unsafe impl ::windows::core::ComInterface for IWebAccountProviderUIReportOperation {
756 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x28ff92d3_8f80_42fb_944f_b2107bbd42e6);
757}
758#[repr(C)]
759#[doc(hidden)]
760pub struct IWebAccountProviderUIReportOperation_Vtbl {
761 pub base__: ::windows::core::IInspectable_Vtbl,
762 pub ReportUserCanceled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
763}
764#[doc(hidden)]
765#[repr(transparent)]
766pub struct IWebAccountScopeManagerStatics(::windows::core::IUnknown);
767unsafe impl ::windows::core::Interface for IWebAccountScopeManagerStatics {
768 type Vtable = IWebAccountScopeManagerStatics_Vtbl;
769}
770impl ::core::clone::Clone for IWebAccountScopeManagerStatics {
771 fn clone(&self) -> Self {
772 Self(self.0.clone())
773 }
774}
775unsafe impl ::windows::core::ComInterface for IWebAccountScopeManagerStatics {
776 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5c6ce37c_12b2_423a_bf3d_85b8d7e53656);
777}
778#[repr(C)]
779#[doc(hidden)]
780pub struct IWebAccountScopeManagerStatics_Vtbl {
781 pub base__: ::windows::core::IInspectable_Vtbl,
782 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
783 pub AddWebAccountWithScopeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccountid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, webaccountusername: ::std::mem::MaybeUninit<::windows::core::HSTRING>, props: *mut ::core::ffi::c_void, scope: WebAccountScope, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
784 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials")))]
785 AddWebAccountWithScopeAsync: usize,
786 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
787 pub SetScopeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, scope: WebAccountScope, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
788 #[cfg(not(all(feature = "Foundation", feature = "Security_Credentials")))]
789 SetScopeAsync: usize,
790 #[cfg(feature = "Security_Credentials")]
791 pub GetScope: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webaccount: *mut ::core::ffi::c_void, result__: *mut WebAccountScope) -> ::windows::core::HRESULT,
792 #[cfg(not(feature = "Security_Credentials"))]
793 GetScope: usize,
794}
795#[doc(hidden)]
796#[repr(transparent)]
797pub struct IWebProviderTokenRequest(::windows::core::IUnknown);
798unsafe impl ::windows::core::Interface for IWebProviderTokenRequest {
799 type Vtable = IWebProviderTokenRequest_Vtbl;
800}
801impl ::core::clone::Clone for IWebProviderTokenRequest {
802 fn clone(&self) -> Self {
803 Self(self.0.clone())
804 }
805}
806unsafe impl ::windows::core::ComInterface for IWebProviderTokenRequest {
807 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1e18778b_8805_454b_9f11_468d2af1095a);
808}
809#[repr(C)]
810#[doc(hidden)]
811pub struct IWebProviderTokenRequest_Vtbl {
812 pub base__: ::windows::core::IInspectable_Vtbl,
813 #[cfg(feature = "Security_Authentication_Web_Core")]
814 pub ClientRequest: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
815 #[cfg(not(feature = "Security_Authentication_Web_Core"))]
816 ClientRequest: usize,
817 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
818 pub WebAccounts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
819 #[cfg(not(all(feature = "Foundation_Collections", feature = "Security_Credentials")))]
820 WebAccounts: usize,
821 pub WebAccountSelectionOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut WebAccountSelectionOptions) -> ::windows::core::HRESULT,
822 #[cfg(feature = "Foundation")]
823 pub ApplicationCallbackUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
824 #[cfg(not(feature = "Foundation"))]
825 ApplicationCallbackUri: usize,
826 #[cfg(all(feature = "Foundation", feature = "Security_Cryptography_Core"))]
827 pub GetApplicationTokenBindingKeyAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, keytype: super::TokenBindingKeyType, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
828 #[cfg(not(all(feature = "Foundation", feature = "Security_Cryptography_Core")))]
829 GetApplicationTokenBindingKeyAsync: usize,
830}
831#[doc(hidden)]
832#[repr(transparent)]
833pub struct IWebProviderTokenRequest2(::windows::core::IUnknown);
834unsafe impl ::windows::core::Interface for IWebProviderTokenRequest2 {
835 type Vtable = IWebProviderTokenRequest2_Vtbl;
836}
837impl ::core::clone::Clone for IWebProviderTokenRequest2 {
838 fn clone(&self) -> Self {
839 Self(self.0.clone())
840 }
841}
842unsafe impl ::windows::core::ComInterface for IWebProviderTokenRequest2 {
843 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb5d72e4c_10b1_4aa6_88b1_0b6c9e0c1e46);
844}
845#[repr(C)]
846#[doc(hidden)]
847pub struct IWebProviderTokenRequest2_Vtbl {
848 pub base__: ::windows::core::IInspectable_Vtbl,
849 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
850 pub GetApplicationTokenBindingKeyIdAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, keytype: super::TokenBindingKeyType, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
851 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
852 GetApplicationTokenBindingKeyIdAsync: usize,
853}
854#[doc(hidden)]
855#[repr(transparent)]
856pub struct IWebProviderTokenRequest3(::windows::core::IUnknown);
857unsafe impl ::windows::core::Interface for IWebProviderTokenRequest3 {
858 type Vtable = IWebProviderTokenRequest3_Vtbl;
859}
860impl ::core::clone::Clone for IWebProviderTokenRequest3 {
861 fn clone(&self) -> Self {
862 Self(self.0.clone())
863 }
864}
865unsafe impl ::windows::core::ComInterface for IWebProviderTokenRequest3 {
866 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1b2716aa_4289_446e_9256_dafb6f66a51e);
867}
868#[repr(C)]
869#[doc(hidden)]
870pub struct IWebProviderTokenRequest3_Vtbl {
871 pub base__: ::windows::core::IInspectable_Vtbl,
872 pub ApplicationPackageFamilyName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
873 pub ApplicationProcessName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
874 #[cfg(feature = "Foundation")]
875 pub CheckApplicationForCapabilityAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, capabilityname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
876 #[cfg(not(feature = "Foundation"))]
877 CheckApplicationForCapabilityAsync: usize,
878}
879#[doc(hidden)]
880#[repr(transparent)]
881pub struct IWebProviderTokenResponse(::windows::core::IUnknown);
882unsafe impl ::windows::core::Interface for IWebProviderTokenResponse {
883 type Vtable = IWebProviderTokenResponse_Vtbl;
884}
885impl ::core::clone::Clone for IWebProviderTokenResponse {
886 fn clone(&self) -> Self {
887 Self(self.0.clone())
888 }
889}
890unsafe impl ::windows::core::ComInterface for IWebProviderTokenResponse {
891 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xef213793_ef55_4186_b7ce_8cb2e7f9849e);
892}
893#[repr(C)]
894#[doc(hidden)]
895pub struct IWebProviderTokenResponse_Vtbl {
896 pub base__: ::windows::core::IInspectable_Vtbl,
897 #[cfg(feature = "Security_Authentication_Web_Core")]
898 pub ClientResponse: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
899 #[cfg(not(feature = "Security_Authentication_Web_Core"))]
900 ClientResponse: usize,
901}
902#[doc(hidden)]
903#[repr(transparent)]
904pub struct IWebProviderTokenResponseFactory(::windows::core::IUnknown);
905unsafe impl ::windows::core::Interface for IWebProviderTokenResponseFactory {
906 type Vtable = IWebProviderTokenResponseFactory_Vtbl;
907}
908impl ::core::clone::Clone for IWebProviderTokenResponseFactory {
909 fn clone(&self) -> Self {
910 Self(self.0.clone())
911 }
912}
913unsafe impl ::windows::core::ComInterface for IWebProviderTokenResponseFactory {
914 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa49d99a_25ba_4077_9cfa_9db4dea7b71a);
915}
916#[repr(C)]
917#[doc(hidden)]
918pub struct IWebProviderTokenResponseFactory_Vtbl {
919 pub base__: ::windows::core::IInspectable_Vtbl,
920 #[cfg(feature = "Security_Authentication_Web_Core")]
921 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, webtokenresponse: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
922 #[cfg(not(feature = "Security_Authentication_Web_Core"))]
923 Create: usize,
924}
925#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
926#[repr(transparent)]
927pub struct WebAccountClientView(::windows::core::IUnknown);
928impl WebAccountClientView {
929 #[doc = "*Required features: `\"Foundation\"`*"]
930 #[cfg(feature = "Foundation")]
931 pub fn ApplicationCallbackUri(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Uri> {
932 let this = self;
933 unsafe {
934 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Uri>();
935 (::windows::core::Interface::vtable(this).ApplicationCallbackUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
936 }
937 }
938 pub fn Type(&self) -> ::windows::core::Result<WebAccountClientViewType> {
939 let this = self;
940 unsafe {
941 let mut result__ = ::windows::core::zeroed::<WebAccountClientViewType>();
942 (::windows::core::Interface::vtable(this).Type)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
943 }
944 }
945 pub fn AccountPairwiseId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
946 let this = self;
947 unsafe {
948 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
949 (::windows::core::Interface::vtable(this).AccountPairwiseId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
950 }
951 }
952 #[doc = "*Required features: `\"Foundation\"`*"]
953 #[cfg(feature = "Foundation")]
954 pub fn Create(viewtype: WebAccountClientViewType, applicationcallbackuri: &super::super::super::super::Foundation::Uri) -> ::windows::core::Result<WebAccountClientView> {
955 Self::IWebAccountClientViewFactory(|this| unsafe {
956 let mut result__ = ::windows::core::zeroed::<WebAccountClientView>();
957 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), viewtype, ::core::mem::transmute_copy(applicationcallbackuri), &mut result__).from_abi(result__)
958 })
959 }
960 #[doc = "*Required features: `\"Foundation\"`*"]
961 #[cfg(feature = "Foundation")]
962 pub fn CreateWithPairwiseId(viewtype: WebAccountClientViewType, applicationcallbackuri: &super::super::super::super::Foundation::Uri, accountpairwiseid: &::windows::core::HSTRING) -> ::windows::core::Result<WebAccountClientView> {
963 Self::IWebAccountClientViewFactory(|this| unsafe {
964 let mut result__ = ::windows::core::zeroed::<WebAccountClientView>();
965 (::windows::core::Interface::vtable(this).CreateWithPairwiseId)(::windows::core::Interface::as_raw(this), viewtype, ::core::mem::transmute_copy(applicationcallbackuri), ::core::mem::transmute_copy(accountpairwiseid), &mut result__).from_abi(result__)
966 })
967 }
968 #[doc(hidden)]
969 pub fn IWebAccountClientViewFactory<R, F: FnOnce(&IWebAccountClientViewFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
970 static SHARED: ::windows::imp::FactoryCache<WebAccountClientView, IWebAccountClientViewFactory> = ::windows::imp::FactoryCache::new();
971 SHARED.call(callback)
972 }
973}
974impl ::core::cmp::PartialEq for WebAccountClientView {
975 fn eq(&self, other: &Self) -> bool {
976 self.0 == other.0
977 }
978}
979impl ::core::cmp::Eq for WebAccountClientView {}
980impl ::core::fmt::Debug for WebAccountClientView {
981 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
982 f.debug_tuple("WebAccountClientView").field(&self.0).finish()
983 }
984}
985impl ::windows::core::RuntimeType for WebAccountClientView {
986 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountClientView;{e7bd66ba-0bc7-4c66-bfd4-65d3082cbca8})");
987}
988impl ::core::clone::Clone for WebAccountClientView {
989 fn clone(&self) -> Self {
990 Self(self.0.clone())
991 }
992}
993unsafe impl ::windows::core::Interface for WebAccountClientView {
994 type Vtable = IWebAccountClientView_Vtbl;
995}
996unsafe impl ::windows::core::ComInterface for WebAccountClientView {
997 const IID: ::windows::core::GUID = <IWebAccountClientView as ::windows::core::ComInterface>::IID;
998}
999impl ::windows::core::RuntimeName for WebAccountClientView {
1000 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountClientView";
1001}
1002::windows::imp::interface_hierarchy!(WebAccountClientView, ::windows::core::IUnknown, ::windows::core::IInspectable);
1003unsafe impl ::core::marker::Send for WebAccountClientView {}
1004unsafe impl ::core::marker::Sync for WebAccountClientView {}
1005#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1006pub struct WebAccountManager;
1007impl WebAccountManager {
1008 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`*"]
1009 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
1010 pub fn UpdateWebAccountPropertiesAsync<P0>(webaccount: &super::super::super::Credentials::WebAccount, webaccountusername: &::windows::core::HSTRING, additionalproperties: P0) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction>
1011 where
1012 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>,
1013 {
1014 Self::IWebAccountManagerStatics(|this| unsafe {
1015 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1016 (::windows::core::Interface::vtable(this).UpdateWebAccountPropertiesAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), ::core::mem::transmute_copy(webaccountusername), additionalproperties.try_into_param()?.abi(), &mut result__).from_abi(result__)
1017 })
1018 }
1019 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`*"]
1020 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
1021 pub fn AddWebAccountAsync<P0>(webaccountid: &::windows::core::HSTRING, webaccountusername: &::windows::core::HSTRING, props: P0) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>
1022 where
1023 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>,
1024 {
1025 Self::IWebAccountManagerStatics(|this| unsafe {
1026 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>();
1027 (::windows::core::Interface::vtable(this).AddWebAccountAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.try_into_param()?.abi(), &mut result__).from_abi(result__)
1028 })
1029 }
1030 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1031 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1032 pub fn DeleteWebAccountAsync(webaccount: &super::super::super::Credentials::WebAccount) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1033 Self::IWebAccountManagerStatics(|this| unsafe {
1034 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1035 (::windows::core::Interface::vtable(this).DeleteWebAccountAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), &mut result__).from_abi(result__)
1036 })
1037 }
1038 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`*"]
1039 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
1040 pub fn FindAllProviderWebAccountsAsync() -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::Credentials::WebAccount>>> {
1041 Self::IWebAccountManagerStatics(|this| unsafe {
1042 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::Credentials::WebAccount>>>();
1043 (::windows::core::Interface::vtable(this).FindAllProviderWebAccountsAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1044 })
1045 }
1046 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Web_Http\"`*"]
1047 #[cfg(all(feature = "Foundation_Collections", feature = "Web_Http"))]
1048 pub fn PushCookiesAsync<P0>(uri: &super::super::super::super::Foundation::Uri, cookies: P0) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction>
1049 where
1050 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Web::Http::HttpCookie>>,
1051 {
1052 Self::IWebAccountManagerStatics(|this| unsafe {
1053 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1054 (::windows::core::Interface::vtable(this).PushCookiesAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(uri), cookies.try_into_param()?.abi(), &mut result__).from_abi(result__)
1055 })
1056 }
1057 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1058 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1059 pub fn SetViewAsync(webaccount: &super::super::super::Credentials::WebAccount, view: &WebAccountClientView) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1060 Self::IWebAccountManagerStatics(|this| unsafe {
1061 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1062 (::windows::core::Interface::vtable(this).SetViewAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), ::core::mem::transmute_copy(view), &mut result__).from_abi(result__)
1063 })
1064 }
1065 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1066 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1067 pub fn ClearViewAsync(webaccount: &super::super::super::Credentials::WebAccount, applicationcallbackuri: &super::super::super::super::Foundation::Uri) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1068 Self::IWebAccountManagerStatics(|this| unsafe {
1069 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1070 (::windows::core::Interface::vtable(this).ClearViewAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), ::core::mem::transmute_copy(applicationcallbackuri), &mut result__).from_abi(result__)
1071 })
1072 }
1073 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`*"]
1074 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
1075 pub fn GetViewsAsync(webaccount: &super::super::super::Credentials::WebAccount) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<WebAccountClientView>>> {
1076 Self::IWebAccountManagerStatics(|this| unsafe {
1077 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<WebAccountClientView>>>();
1078 (::windows::core::Interface::vtable(this).GetViewsAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), &mut result__).from_abi(result__)
1079 })
1080 }
1081 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`, `\"Storage_Streams\"`*"]
1082 #[cfg(all(feature = "Foundation", feature = "Security_Credentials", feature = "Storage_Streams"))]
1083 pub fn SetWebAccountPictureAsync<P0>(webaccount: &super::super::super::Credentials::WebAccount, webaccountpicture: P0) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction>
1084 where
1085 P0: ::windows::core::TryIntoParam<super::super::super::super::Storage::Streams::IRandomAccessStream>,
1086 {
1087 Self::IWebAccountManagerStatics(|this| unsafe {
1088 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1089 (::windows::core::Interface::vtable(this).SetWebAccountPictureAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), webaccountpicture.try_into_param()?.abi(), &mut result__).from_abi(result__)
1090 })
1091 }
1092 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1093 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1094 pub fn ClearWebAccountPictureAsync(webaccount: &super::super::super::Credentials::WebAccount) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1095 Self::IWebAccountManagerStatics(|this| unsafe {
1096 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1097 (::windows::core::Interface::vtable(this).ClearWebAccountPictureAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), &mut result__).from_abi(result__)
1098 })
1099 }
1100 #[doc = "*Required features: `\"Foundation\"`*"]
1101 #[cfg(feature = "Foundation")]
1102 pub fn PullCookiesAsync(uristring: &::windows::core::HSTRING, callerpfn: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1103 Self::IWebAccountManagerStatics2(|this| unsafe {
1104 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1105 (::windows::core::Interface::vtable(this).PullCookiesAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(uristring), ::core::mem::transmute_copy(callerpfn), &mut result__).from_abi(result__)
1106 })
1107 }
1108 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`, `\"System\"`*"]
1109 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
1110 pub fn FindAllProviderWebAccountsForUserAsync(user: &super::super::super::super::System::User) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::Credentials::WebAccount>>> {
1111 Self::IWebAccountManagerStatics3(|this| unsafe {
1112 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::Credentials::WebAccount>>>();
1113 (::windows::core::Interface::vtable(this).FindAllProviderWebAccountsForUserAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(user), &mut result__).from_abi(result__)
1114 })
1115 }
1116 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`, `\"System\"`*"]
1117 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
1118 pub fn AddWebAccountForUserAsync<P0>(user: &super::super::super::super::System::User, webaccountid: &::windows::core::HSTRING, webaccountusername: &::windows::core::HSTRING, props: P0) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>
1119 where
1120 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>,
1121 {
1122 Self::IWebAccountManagerStatics3(|this| unsafe {
1123 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>();
1124 (::windows::core::Interface::vtable(this).AddWebAccountForUserAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(user), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.try_into_param()?.abi(), &mut result__).from_abi(result__)
1125 })
1126 }
1127 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`, `\"System\"`*"]
1128 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
1129 pub fn AddWebAccountWithScopeForUserAsync<P0>(user: &super::super::super::super::System::User, webaccountid: &::windows::core::HSTRING, webaccountusername: &::windows::core::HSTRING, props: P0, scope: WebAccountScope) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>
1130 where
1131 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>,
1132 {
1133 Self::IWebAccountManagerStatics3(|this| unsafe {
1134 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>();
1135 (::windows::core::Interface::vtable(this).AddWebAccountWithScopeForUserAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(user), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.try_into_param()?.abi(), scope, &mut result__).from_abi(result__)
1136 })
1137 }
1138 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`, `\"System\"`*"]
1139 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials", feature = "System"))]
1140 pub fn AddWebAccountWithScopeAndMapForUserAsync<P0>(user: &super::super::super::super::System::User, webaccountid: &::windows::core::HSTRING, webaccountusername: &::windows::core::HSTRING, props: P0, scope: WebAccountScope, peruserwebaccountid: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>
1141 where
1142 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>,
1143 {
1144 Self::IWebAccountManagerStatics3(|this| unsafe {
1145 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>();
1146 (::windows::core::Interface::vtable(this).AddWebAccountWithScopeAndMapForUserAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(user), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.try_into_param()?.abi(), scope, ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).from_abi(result__)
1147 })
1148 }
1149 #[doc = "*Required features: `\"Foundation\"`*"]
1150 #[cfg(feature = "Foundation")]
1151 pub fn InvalidateAppCacheForAllAccountsAsync() -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1152 Self::IWebAccountManagerStatics4(|this| unsafe {
1153 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1154 (::windows::core::Interface::vtable(this).InvalidateAppCacheForAllAccountsAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1155 })
1156 }
1157 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1158 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1159 pub fn InvalidateAppCacheForAccountAsync(webaccount: &super::super::super::Credentials::WebAccount) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1160 Self::IWebAccountManagerStatics4(|this| unsafe {
1161 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1162 (::windows::core::Interface::vtable(this).InvalidateAppCacheForAccountAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), &mut result__).from_abi(result__)
1163 })
1164 }
1165 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`*"]
1166 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
1167 pub fn AddWebAccountWithScopeAndMapAsync<P0>(webaccountid: &::windows::core::HSTRING, webaccountusername: &::windows::core::HSTRING, props: P0, scope: WebAccountScope, peruserwebaccountid: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>
1168 where
1169 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>,
1170 {
1171 Self::IWebAccountMapManagerStatics(|this| unsafe {
1172 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>();
1173 (::windows::core::Interface::vtable(this).AddWebAccountWithScopeAndMapAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.try_into_param()?.abi(), scope, ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).from_abi(result__)
1174 })
1175 }
1176 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1177 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1178 pub fn SetPerAppToPerUserAccountAsync(perappaccount: &super::super::super::Credentials::WebAccount, peruserwebaccountid: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1179 Self::IWebAccountMapManagerStatics(|this| unsafe {
1180 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1181 (::windows::core::Interface::vtable(this).SetPerAppToPerUserAccountAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(perappaccount), ::core::mem::transmute_copy(peruserwebaccountid), &mut result__).from_abi(result__)
1182 })
1183 }
1184 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1185 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1186 pub fn GetPerUserFromPerAppAccountAsync(perappaccount: &super::super::super::Credentials::WebAccount) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>> {
1187 Self::IWebAccountMapManagerStatics(|this| unsafe {
1188 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>();
1189 (::windows::core::Interface::vtable(this).GetPerUserFromPerAppAccountAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(perappaccount), &mut result__).from_abi(result__)
1190 })
1191 }
1192 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1193 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1194 pub fn ClearPerUserFromPerAppAccountAsync(perappaccount: &super::super::super::Credentials::WebAccount) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1195 Self::IWebAccountMapManagerStatics(|this| unsafe {
1196 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1197 (::windows::core::Interface::vtable(this).ClearPerUserFromPerAppAccountAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(perappaccount), &mut result__).from_abi(result__)
1198 })
1199 }
1200 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`*"]
1201 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
1202 pub fn AddWebAccountWithScopeAsync<P0>(webaccountid: &::windows::core::HSTRING, webaccountusername: &::windows::core::HSTRING, props: P0, scope: WebAccountScope) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>
1203 where
1204 P0: ::windows::core::TryIntoParam<super::super::super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, ::windows::core::HSTRING>>,
1205 {
1206 Self::IWebAccountScopeManagerStatics(|this| unsafe {
1207 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Credentials::WebAccount>>();
1208 (::windows::core::Interface::vtable(this).AddWebAccountWithScopeAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccountid), ::core::mem::transmute_copy(webaccountusername), props.try_into_param()?.abi(), scope, &mut result__).from_abi(result__)
1209 })
1210 }
1211 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Credentials\"`*"]
1212 #[cfg(all(feature = "Foundation", feature = "Security_Credentials"))]
1213 pub fn SetScopeAsync(webaccount: &super::super::super::Credentials::WebAccount, scope: WebAccountScope) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncAction> {
1214 Self::IWebAccountScopeManagerStatics(|this| unsafe {
1215 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncAction>();
1216 (::windows::core::Interface::vtable(this).SetScopeAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), scope, &mut result__).from_abi(result__)
1217 })
1218 }
1219 #[doc = "*Required features: `\"Security_Credentials\"`*"]
1220 #[cfg(feature = "Security_Credentials")]
1221 pub fn GetScope(webaccount: &super::super::super::Credentials::WebAccount) -> ::windows::core::Result<WebAccountScope> {
1222 Self::IWebAccountScopeManagerStatics(|this| unsafe {
1223 let mut result__ = ::windows::core::zeroed::<WebAccountScope>();
1224 (::windows::core::Interface::vtable(this).GetScope)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webaccount), &mut result__).from_abi(result__)
1225 })
1226 }
1227 #[doc(hidden)]
1228 pub fn IWebAccountManagerStatics<R, F: FnOnce(&IWebAccountManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1229 static SHARED: ::windows::imp::FactoryCache<WebAccountManager, IWebAccountManagerStatics> = ::windows::imp::FactoryCache::new();
1230 SHARED.call(callback)
1231 }
1232 #[doc(hidden)]
1233 pub fn IWebAccountManagerStatics2<R, F: FnOnce(&IWebAccountManagerStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1234 static SHARED: ::windows::imp::FactoryCache<WebAccountManager, IWebAccountManagerStatics2> = ::windows::imp::FactoryCache::new();
1235 SHARED.call(callback)
1236 }
1237 #[doc(hidden)]
1238 pub fn IWebAccountManagerStatics3<R, F: FnOnce(&IWebAccountManagerStatics3) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1239 static SHARED: ::windows::imp::FactoryCache<WebAccountManager, IWebAccountManagerStatics3> = ::windows::imp::FactoryCache::new();
1240 SHARED.call(callback)
1241 }
1242 #[doc(hidden)]
1243 pub fn IWebAccountManagerStatics4<R, F: FnOnce(&IWebAccountManagerStatics4) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1244 static SHARED: ::windows::imp::FactoryCache<WebAccountManager, IWebAccountManagerStatics4> = ::windows::imp::FactoryCache::new();
1245 SHARED.call(callback)
1246 }
1247 #[doc(hidden)]
1248 pub fn IWebAccountMapManagerStatics<R, F: FnOnce(&IWebAccountMapManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1249 static SHARED: ::windows::imp::FactoryCache<WebAccountManager, IWebAccountMapManagerStatics> = ::windows::imp::FactoryCache::new();
1250 SHARED.call(callback)
1251 }
1252 #[doc(hidden)]
1253 pub fn IWebAccountScopeManagerStatics<R, F: FnOnce(&IWebAccountScopeManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1254 static SHARED: ::windows::imp::FactoryCache<WebAccountManager, IWebAccountScopeManagerStatics> = ::windows::imp::FactoryCache::new();
1255 SHARED.call(callback)
1256 }
1257}
1258impl ::windows::core::RuntimeName for WebAccountManager {
1259 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountManager";
1260}
1261#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1262#[repr(transparent)]
1263pub struct WebAccountProviderAddAccountOperation(::windows::core::IUnknown);
1264impl WebAccountProviderAddAccountOperation {
1265 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
1266 let this = self;
1267 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
1268 }
1269 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
1270 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
1271 unsafe {
1272 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
1273 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1274 }
1275 }
1276}
1277impl ::core::cmp::PartialEq for WebAccountProviderAddAccountOperation {
1278 fn eq(&self, other: &Self) -> bool {
1279 self.0 == other.0
1280 }
1281}
1282impl ::core::cmp::Eq for WebAccountProviderAddAccountOperation {}
1283impl ::core::fmt::Debug for WebAccountProviderAddAccountOperation {
1284 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1285 f.debug_tuple("WebAccountProviderAddAccountOperation").field(&self.0).finish()
1286 }
1287}
1288impl ::windows::core::RuntimeType for WebAccountProviderAddAccountOperation {
1289 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderAddAccountOperation;{73ebdccf-4378-4c79-9335-a5d7ab81594e})");
1290}
1291impl ::core::clone::Clone for WebAccountProviderAddAccountOperation {
1292 fn clone(&self) -> Self {
1293 Self(self.0.clone())
1294 }
1295}
1296unsafe impl ::windows::core::Interface for WebAccountProviderAddAccountOperation {
1297 type Vtable = IWebAccountProviderAddAccountOperation_Vtbl;
1298}
1299unsafe impl ::windows::core::ComInterface for WebAccountProviderAddAccountOperation {
1300 const IID: ::windows::core::GUID = <IWebAccountProviderAddAccountOperation as ::windows::core::ComInterface>::IID;
1301}
1302impl ::windows::core::RuntimeName for WebAccountProviderAddAccountOperation {
1303 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderAddAccountOperation";
1304}
1305::windows::imp::interface_hierarchy!(WebAccountProviderAddAccountOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1306impl ::windows::core::CanTryInto<IWebAccountProviderOperation> for WebAccountProviderAddAccountOperation {}
1307unsafe impl ::core::marker::Send for WebAccountProviderAddAccountOperation {}
1308unsafe impl ::core::marker::Sync for WebAccountProviderAddAccountOperation {}
1309#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1310#[repr(transparent)]
1311pub struct WebAccountProviderDeleteAccountOperation(::windows::core::IUnknown);
1312impl WebAccountProviderDeleteAccountOperation {
1313 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
1314 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1315 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
1316 }
1317 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1318 #[cfg(feature = "Security_Authentication_Web_Core")]
1319 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
1320 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1321 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1322 }
1323 #[doc = "*Required features: `\"Security_Credentials\"`*"]
1324 #[cfg(feature = "Security_Credentials")]
1325 pub fn WebAccount(&self) -> ::windows::core::Result<super::super::super::Credentials::WebAccount> {
1326 let this = self;
1327 unsafe {
1328 let mut result__ = ::windows::core::zeroed::<super::super::super::Credentials::WebAccount>();
1329 (::windows::core::Interface::vtable(this).WebAccount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1330 }
1331 }
1332 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
1333 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
1334 unsafe {
1335 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
1336 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1337 }
1338 }
1339}
1340impl ::core::cmp::PartialEq for WebAccountProviderDeleteAccountOperation {
1341 fn eq(&self, other: &Self) -> bool {
1342 self.0 == other.0
1343 }
1344}
1345impl ::core::cmp::Eq for WebAccountProviderDeleteAccountOperation {}
1346impl ::core::fmt::Debug for WebAccountProviderDeleteAccountOperation {
1347 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1348 f.debug_tuple("WebAccountProviderDeleteAccountOperation").field(&self.0).finish()
1349 }
1350}
1351impl ::windows::core::RuntimeType for WebAccountProviderDeleteAccountOperation {
1352 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderDeleteAccountOperation;{0abb48b8-9e01-49c9-a355-7d48caf7d6ca})");
1353}
1354impl ::core::clone::Clone for WebAccountProviderDeleteAccountOperation {
1355 fn clone(&self) -> Self {
1356 Self(self.0.clone())
1357 }
1358}
1359unsafe impl ::windows::core::Interface for WebAccountProviderDeleteAccountOperation {
1360 type Vtable = IWebAccountProviderDeleteAccountOperation_Vtbl;
1361}
1362unsafe impl ::windows::core::ComInterface for WebAccountProviderDeleteAccountOperation {
1363 const IID: ::windows::core::GUID = <IWebAccountProviderDeleteAccountOperation as ::windows::core::ComInterface>::IID;
1364}
1365impl ::windows::core::RuntimeName for WebAccountProviderDeleteAccountOperation {
1366 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderDeleteAccountOperation";
1367}
1368::windows::imp::interface_hierarchy!(WebAccountProviderDeleteAccountOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1369impl ::windows::core::CanTryInto<IWebAccountProviderBaseReportOperation> for WebAccountProviderDeleteAccountOperation {}
1370impl ::windows::core::CanTryInto<IWebAccountProviderOperation> for WebAccountProviderDeleteAccountOperation {}
1371unsafe impl ::core::marker::Send for WebAccountProviderDeleteAccountOperation {}
1372unsafe impl ::core::marker::Sync for WebAccountProviderDeleteAccountOperation {}
1373#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1374#[repr(transparent)]
1375pub struct WebAccountProviderGetTokenSilentOperation(::windows::core::IUnknown);
1376impl WebAccountProviderGetTokenSilentOperation {
1377 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
1378 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1379 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
1380 }
1381 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1382 #[cfg(feature = "Security_Authentication_Web_Core")]
1383 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
1384 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1385 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1386 }
1387 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
1388 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
1389 unsafe {
1390 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
1391 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1392 }
1393 }
1394 pub fn ReportUserInteractionRequired(&self) -> ::windows::core::Result<()> {
1395 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderSilentReportOperation>(self)?;
1396 unsafe { (::windows::core::Interface::vtable(this).ReportUserInteractionRequired)(::windows::core::Interface::as_raw(this)).ok() }
1397 }
1398 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1399 #[cfg(feature = "Security_Authentication_Web_Core")]
1400 pub fn ReportUserInteractionRequiredWithError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
1401 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderSilentReportOperation>(self)?;
1402 unsafe { (::windows::core::Interface::vtable(this).ReportUserInteractionRequiredWithError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1403 }
1404 pub fn ProviderRequest(&self) -> ::windows::core::Result<WebProviderTokenRequest> {
1405 let this = self;
1406 unsafe {
1407 let mut result__ = ::windows::core::zeroed::<WebProviderTokenRequest>();
1408 (::windows::core::Interface::vtable(this).ProviderRequest)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1409 }
1410 }
1411 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1412 #[cfg(feature = "Foundation_Collections")]
1413 pub fn ProviderResponses(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Collections::IVector<WebProviderTokenResponse>> {
1414 let this = self;
1415 unsafe {
1416 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Collections::IVector<WebProviderTokenResponse>>();
1417 (::windows::core::Interface::vtable(this).ProviderResponses)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1418 }
1419 }
1420 #[doc = "*Required features: `\"Foundation\"`*"]
1421 #[cfg(feature = "Foundation")]
1422 pub fn SetCacheExpirationTime(&self, value: super::super::super::super::Foundation::DateTime) -> ::windows::core::Result<()> {
1423 let this = self;
1424 unsafe { (::windows::core::Interface::vtable(this).SetCacheExpirationTime)(::windows::core::Interface::as_raw(this), value).ok() }
1425 }
1426 #[doc = "*Required features: `\"Foundation\"`*"]
1427 #[cfg(feature = "Foundation")]
1428 pub fn CacheExpirationTime(&self) -> ::windows::core::Result<super::super::super::super::Foundation::DateTime> {
1429 let this = self;
1430 unsafe {
1431 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::DateTime>();
1432 (::windows::core::Interface::vtable(this).CacheExpirationTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1433 }
1434 }
1435}
1436impl ::core::cmp::PartialEq for WebAccountProviderGetTokenSilentOperation {
1437 fn eq(&self, other: &Self) -> bool {
1438 self.0 == other.0
1439 }
1440}
1441impl ::core::cmp::Eq for WebAccountProviderGetTokenSilentOperation {}
1442impl ::core::fmt::Debug for WebAccountProviderGetTokenSilentOperation {
1443 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1444 f.debug_tuple("WebAccountProviderGetTokenSilentOperation").field(&self.0).finish()
1445 }
1446}
1447impl ::windows::core::RuntimeType for WebAccountProviderGetTokenSilentOperation {
1448 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderGetTokenSilentOperation;{95c613be-2034-4c38-9434-d26c14b2b4b2})");
1449}
1450impl ::core::clone::Clone for WebAccountProviderGetTokenSilentOperation {
1451 fn clone(&self) -> Self {
1452 Self(self.0.clone())
1453 }
1454}
1455unsafe impl ::windows::core::Interface for WebAccountProviderGetTokenSilentOperation {
1456 type Vtable = IWebAccountProviderTokenOperation_Vtbl;
1457}
1458unsafe impl ::windows::core::ComInterface for WebAccountProviderGetTokenSilentOperation {
1459 const IID: ::windows::core::GUID = <IWebAccountProviderTokenOperation as ::windows::core::ComInterface>::IID;
1460}
1461impl ::windows::core::RuntimeName for WebAccountProviderGetTokenSilentOperation {
1462 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderGetTokenSilentOperation";
1463}
1464::windows::imp::interface_hierarchy!(WebAccountProviderGetTokenSilentOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1465impl ::windows::core::CanTryInto<IWebAccountProviderBaseReportOperation> for WebAccountProviderGetTokenSilentOperation {}
1466impl ::windows::core::CanTryInto<IWebAccountProviderOperation> for WebAccountProviderGetTokenSilentOperation {}
1467impl ::windows::core::CanTryInto<IWebAccountProviderSilentReportOperation> for WebAccountProviderGetTokenSilentOperation {}
1468impl ::windows::core::CanTryInto<IWebAccountProviderTokenOperation> for WebAccountProviderGetTokenSilentOperation {}
1469unsafe impl ::core::marker::Send for WebAccountProviderGetTokenSilentOperation {}
1470unsafe impl ::core::marker::Sync for WebAccountProviderGetTokenSilentOperation {}
1471#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1472#[repr(transparent)]
1473pub struct WebAccountProviderManageAccountOperation(::windows::core::IUnknown);
1474impl WebAccountProviderManageAccountOperation {
1475 #[doc = "*Required features: `\"Security_Credentials\"`*"]
1476 #[cfg(feature = "Security_Credentials")]
1477 pub fn WebAccount(&self) -> ::windows::core::Result<super::super::super::Credentials::WebAccount> {
1478 let this = self;
1479 unsafe {
1480 let mut result__ = ::windows::core::zeroed::<super::super::super::Credentials::WebAccount>();
1481 (::windows::core::Interface::vtable(this).WebAccount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1482 }
1483 }
1484 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
1485 let this = self;
1486 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
1487 }
1488 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
1489 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
1490 unsafe {
1491 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
1492 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1493 }
1494 }
1495}
1496impl ::core::cmp::PartialEq for WebAccountProviderManageAccountOperation {
1497 fn eq(&self, other: &Self) -> bool {
1498 self.0 == other.0
1499 }
1500}
1501impl ::core::cmp::Eq for WebAccountProviderManageAccountOperation {}
1502impl ::core::fmt::Debug for WebAccountProviderManageAccountOperation {
1503 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1504 f.debug_tuple("WebAccountProviderManageAccountOperation").field(&self.0).finish()
1505 }
1506}
1507impl ::windows::core::RuntimeType for WebAccountProviderManageAccountOperation {
1508 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderManageAccountOperation;{ed20dc5c-d21b-463e-a9b7-c1fd0edae978})");
1509}
1510impl ::core::clone::Clone for WebAccountProviderManageAccountOperation {
1511 fn clone(&self) -> Self {
1512 Self(self.0.clone())
1513 }
1514}
1515unsafe impl ::windows::core::Interface for WebAccountProviderManageAccountOperation {
1516 type Vtable = IWebAccountProviderManageAccountOperation_Vtbl;
1517}
1518unsafe impl ::windows::core::ComInterface for WebAccountProviderManageAccountOperation {
1519 const IID: ::windows::core::GUID = <IWebAccountProviderManageAccountOperation as ::windows::core::ComInterface>::IID;
1520}
1521impl ::windows::core::RuntimeName for WebAccountProviderManageAccountOperation {
1522 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderManageAccountOperation";
1523}
1524::windows::imp::interface_hierarchy!(WebAccountProviderManageAccountOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1525impl ::windows::core::CanTryInto<IWebAccountProviderOperation> for WebAccountProviderManageAccountOperation {}
1526unsafe impl ::core::marker::Send for WebAccountProviderManageAccountOperation {}
1527unsafe impl ::core::marker::Sync for WebAccountProviderManageAccountOperation {}
1528#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1529#[repr(transparent)]
1530pub struct WebAccountProviderRequestTokenOperation(::windows::core::IUnknown);
1531impl WebAccountProviderRequestTokenOperation {
1532 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
1533 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1534 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
1535 }
1536 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1537 #[cfg(feature = "Security_Authentication_Web_Core")]
1538 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
1539 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1540 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1541 }
1542 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
1543 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
1544 unsafe {
1545 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
1546 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1547 }
1548 }
1549 pub fn ProviderRequest(&self) -> ::windows::core::Result<WebProviderTokenRequest> {
1550 let this = self;
1551 unsafe {
1552 let mut result__ = ::windows::core::zeroed::<WebProviderTokenRequest>();
1553 (::windows::core::Interface::vtable(this).ProviderRequest)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1554 }
1555 }
1556 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1557 #[cfg(feature = "Foundation_Collections")]
1558 pub fn ProviderResponses(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Collections::IVector<WebProviderTokenResponse>> {
1559 let this = self;
1560 unsafe {
1561 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Collections::IVector<WebProviderTokenResponse>>();
1562 (::windows::core::Interface::vtable(this).ProviderResponses)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1563 }
1564 }
1565 #[doc = "*Required features: `\"Foundation\"`*"]
1566 #[cfg(feature = "Foundation")]
1567 pub fn SetCacheExpirationTime(&self, value: super::super::super::super::Foundation::DateTime) -> ::windows::core::Result<()> {
1568 let this = self;
1569 unsafe { (::windows::core::Interface::vtable(this).SetCacheExpirationTime)(::windows::core::Interface::as_raw(this), value).ok() }
1570 }
1571 #[doc = "*Required features: `\"Foundation\"`*"]
1572 #[cfg(feature = "Foundation")]
1573 pub fn CacheExpirationTime(&self) -> ::windows::core::Result<super::super::super::super::Foundation::DateTime> {
1574 let this = self;
1575 unsafe {
1576 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::DateTime>();
1577 (::windows::core::Interface::vtable(this).CacheExpirationTime)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1578 }
1579 }
1580 pub fn ReportUserCanceled(&self) -> ::windows::core::Result<()> {
1581 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderUIReportOperation>(self)?;
1582 unsafe { (::windows::core::Interface::vtable(this).ReportUserCanceled)(::windows::core::Interface::as_raw(this)).ok() }
1583 }
1584}
1585impl ::core::cmp::PartialEq for WebAccountProviderRequestTokenOperation {
1586 fn eq(&self, other: &Self) -> bool {
1587 self.0 == other.0
1588 }
1589}
1590impl ::core::cmp::Eq for WebAccountProviderRequestTokenOperation {}
1591impl ::core::fmt::Debug for WebAccountProviderRequestTokenOperation {
1592 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1593 f.debug_tuple("WebAccountProviderRequestTokenOperation").field(&self.0).finish()
1594 }
1595}
1596impl ::windows::core::RuntimeType for WebAccountProviderRequestTokenOperation {
1597 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderRequestTokenOperation;{95c613be-2034-4c38-9434-d26c14b2b4b2})");
1598}
1599impl ::core::clone::Clone for WebAccountProviderRequestTokenOperation {
1600 fn clone(&self) -> Self {
1601 Self(self.0.clone())
1602 }
1603}
1604unsafe impl ::windows::core::Interface for WebAccountProviderRequestTokenOperation {
1605 type Vtable = IWebAccountProviderTokenOperation_Vtbl;
1606}
1607unsafe impl ::windows::core::ComInterface for WebAccountProviderRequestTokenOperation {
1608 const IID: ::windows::core::GUID = <IWebAccountProviderTokenOperation as ::windows::core::ComInterface>::IID;
1609}
1610impl ::windows::core::RuntimeName for WebAccountProviderRequestTokenOperation {
1611 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderRequestTokenOperation";
1612}
1613::windows::imp::interface_hierarchy!(WebAccountProviderRequestTokenOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1614impl ::windows::core::CanTryInto<IWebAccountProviderBaseReportOperation> for WebAccountProviderRequestTokenOperation {}
1615impl ::windows::core::CanTryInto<IWebAccountProviderOperation> for WebAccountProviderRequestTokenOperation {}
1616impl ::windows::core::CanTryInto<IWebAccountProviderTokenOperation> for WebAccountProviderRequestTokenOperation {}
1617impl ::windows::core::CanTryInto<IWebAccountProviderUIReportOperation> for WebAccountProviderRequestTokenOperation {}
1618unsafe impl ::core::marker::Send for WebAccountProviderRequestTokenOperation {}
1619unsafe impl ::core::marker::Sync for WebAccountProviderRequestTokenOperation {}
1620#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1621#[repr(transparent)]
1622pub struct WebAccountProviderRetrieveCookiesOperation(::windows::core::IUnknown);
1623impl WebAccountProviderRetrieveCookiesOperation {
1624 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
1625 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1626 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
1627 }
1628 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1629 #[cfg(feature = "Security_Authentication_Web_Core")]
1630 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
1631 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1632 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1633 }
1634 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
1635 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
1636 unsafe {
1637 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
1638 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1639 }
1640 }
1641 #[doc = "*Required features: `\"Foundation\"`*"]
1642 #[cfg(feature = "Foundation")]
1643 pub fn Context(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Uri> {
1644 let this = self;
1645 unsafe {
1646 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Uri>();
1647 (::windows::core::Interface::vtable(this).Context)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1648 }
1649 }
1650 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Web_Http\"`*"]
1651 #[cfg(all(feature = "Foundation_Collections", feature = "Web_Http"))]
1652 pub fn Cookies(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Collections::IVector<super::super::super::super::Web::Http::HttpCookie>> {
1653 let this = self;
1654 unsafe {
1655 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Collections::IVector<super::super::super::super::Web::Http::HttpCookie>>();
1656 (::windows::core::Interface::vtable(this).Cookies)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1657 }
1658 }
1659 #[doc = "*Required features: `\"Foundation\"`*"]
1660 #[cfg(feature = "Foundation")]
1661 pub fn SetUri(&self, uri: &super::super::super::super::Foundation::Uri) -> ::windows::core::Result<()> {
1662 let this = self;
1663 unsafe { (::windows::core::Interface::vtable(this).SetUri)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(uri)).ok() }
1664 }
1665 #[doc = "*Required features: `\"Foundation\"`*"]
1666 #[cfg(feature = "Foundation")]
1667 pub fn Uri(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Uri> {
1668 let this = self;
1669 unsafe {
1670 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Uri>();
1671 (::windows::core::Interface::vtable(this).Uri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1672 }
1673 }
1674 #[doc = "*Required features: `\"Foundation\"`*"]
1675 #[cfg(feature = "Foundation")]
1676 pub fn ApplicationCallbackUri(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Uri> {
1677 let this = self;
1678 unsafe {
1679 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Uri>();
1680 (::windows::core::Interface::vtable(this).ApplicationCallbackUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1681 }
1682 }
1683}
1684impl ::core::cmp::PartialEq for WebAccountProviderRetrieveCookiesOperation {
1685 fn eq(&self, other: &Self) -> bool {
1686 self.0 == other.0
1687 }
1688}
1689impl ::core::cmp::Eq for WebAccountProviderRetrieveCookiesOperation {}
1690impl ::core::fmt::Debug for WebAccountProviderRetrieveCookiesOperation {
1691 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1692 f.debug_tuple("WebAccountProviderRetrieveCookiesOperation").field(&self.0).finish()
1693 }
1694}
1695impl ::windows::core::RuntimeType for WebAccountProviderRetrieveCookiesOperation {
1696 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderRetrieveCookiesOperation;{5a040441-0fa3-4ab1-a01c-20b110358594})");
1697}
1698impl ::core::clone::Clone for WebAccountProviderRetrieveCookiesOperation {
1699 fn clone(&self) -> Self {
1700 Self(self.0.clone())
1701 }
1702}
1703unsafe impl ::windows::core::Interface for WebAccountProviderRetrieveCookiesOperation {
1704 type Vtable = IWebAccountProviderRetrieveCookiesOperation_Vtbl;
1705}
1706unsafe impl ::windows::core::ComInterface for WebAccountProviderRetrieveCookiesOperation {
1707 const IID: ::windows::core::GUID = <IWebAccountProviderRetrieveCookiesOperation as ::windows::core::ComInterface>::IID;
1708}
1709impl ::windows::core::RuntimeName for WebAccountProviderRetrieveCookiesOperation {
1710 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderRetrieveCookiesOperation";
1711}
1712::windows::imp::interface_hierarchy!(WebAccountProviderRetrieveCookiesOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1713impl ::windows::core::CanTryInto<IWebAccountProviderBaseReportOperation> for WebAccountProviderRetrieveCookiesOperation {}
1714impl ::windows::core::CanTryInto<IWebAccountProviderOperation> for WebAccountProviderRetrieveCookiesOperation {}
1715unsafe impl ::core::marker::Send for WebAccountProviderRetrieveCookiesOperation {}
1716unsafe impl ::core::marker::Sync for WebAccountProviderRetrieveCookiesOperation {}
1717#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1718#[repr(transparent)]
1719pub struct WebAccountProviderSignOutAccountOperation(::windows::core::IUnknown);
1720impl WebAccountProviderSignOutAccountOperation {
1721 pub fn ReportCompleted(&self) -> ::windows::core::Result<()> {
1722 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1723 unsafe { (::windows::core::Interface::vtable(this).ReportCompleted)(::windows::core::Interface::as_raw(this)).ok() }
1724 }
1725 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1726 #[cfg(feature = "Security_Authentication_Web_Core")]
1727 pub fn ReportError(&self, value: &super::Core::WebProviderError) -> ::windows::core::Result<()> {
1728 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderBaseReportOperation>(self)?;
1729 unsafe { (::windows::core::Interface::vtable(this).ReportError)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1730 }
1731 pub fn Kind(&self) -> ::windows::core::Result<WebAccountProviderOperationKind> {
1732 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderOperation>(self)?;
1733 unsafe {
1734 let mut result__ = ::windows::core::zeroed::<WebAccountProviderOperationKind>();
1735 (::windows::core::Interface::vtable(this).Kind)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1736 }
1737 }
1738 #[doc = "*Required features: `\"Security_Credentials\"`*"]
1739 #[cfg(feature = "Security_Credentials")]
1740 pub fn WebAccount(&self) -> ::windows::core::Result<super::super::super::Credentials::WebAccount> {
1741 let this = self;
1742 unsafe {
1743 let mut result__ = ::windows::core::zeroed::<super::super::super::Credentials::WebAccount>();
1744 (::windows::core::Interface::vtable(this).WebAccount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1745 }
1746 }
1747 #[doc = "*Required features: `\"Foundation\"`*"]
1748 #[cfg(feature = "Foundation")]
1749 pub fn ApplicationCallbackUri(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Uri> {
1750 let this = self;
1751 unsafe {
1752 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Uri>();
1753 (::windows::core::Interface::vtable(this).ApplicationCallbackUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1754 }
1755 }
1756 pub fn ClientId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1757 let this = self;
1758 unsafe {
1759 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1760 (::windows::core::Interface::vtable(this).ClientId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1761 }
1762 }
1763}
1764impl ::core::cmp::PartialEq for WebAccountProviderSignOutAccountOperation {
1765 fn eq(&self, other: &Self) -> bool {
1766 self.0 == other.0
1767 }
1768}
1769impl ::core::cmp::Eq for WebAccountProviderSignOutAccountOperation {}
1770impl ::core::fmt::Debug for WebAccountProviderSignOutAccountOperation {
1771 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1772 f.debug_tuple("WebAccountProviderSignOutAccountOperation").field(&self.0).finish()
1773 }
1774}
1775impl ::windows::core::RuntimeType for WebAccountProviderSignOutAccountOperation {
1776 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderSignOutAccountOperation;{b890e21d-0c55-47bc-8c72-04a6fc7cac07})");
1777}
1778impl ::core::clone::Clone for WebAccountProviderSignOutAccountOperation {
1779 fn clone(&self) -> Self {
1780 Self(self.0.clone())
1781 }
1782}
1783unsafe impl ::windows::core::Interface for WebAccountProviderSignOutAccountOperation {
1784 type Vtable = IWebAccountProviderSignOutAccountOperation_Vtbl;
1785}
1786unsafe impl ::windows::core::ComInterface for WebAccountProviderSignOutAccountOperation {
1787 const IID: ::windows::core::GUID = <IWebAccountProviderSignOutAccountOperation as ::windows::core::ComInterface>::IID;
1788}
1789impl ::windows::core::RuntimeName for WebAccountProviderSignOutAccountOperation {
1790 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderSignOutAccountOperation";
1791}
1792::windows::imp::interface_hierarchy!(WebAccountProviderSignOutAccountOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
1793impl ::windows::core::CanTryInto<IWebAccountProviderBaseReportOperation> for WebAccountProviderSignOutAccountOperation {}
1794impl ::windows::core::CanTryInto<IWebAccountProviderOperation> for WebAccountProviderSignOutAccountOperation {}
1795unsafe impl ::core::marker::Send for WebAccountProviderSignOutAccountOperation {}
1796unsafe impl ::core::marker::Sync for WebAccountProviderSignOutAccountOperation {}
1797#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1798#[repr(transparent)]
1799pub struct WebAccountProviderTriggerDetails(::windows::core::IUnknown);
1800impl WebAccountProviderTriggerDetails {
1801 pub fn Operation(&self) -> ::windows::core::Result<IWebAccountProviderOperation> {
1802 let this = self;
1803 unsafe {
1804 let mut result__ = ::windows::core::zeroed::<IWebAccountProviderOperation>();
1805 (::windows::core::Interface::vtable(this).Operation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1806 }
1807 }
1808 #[doc = "*Required features: `\"System\"`*"]
1809 #[cfg(feature = "System")]
1810 pub fn User(&self) -> ::windows::core::Result<super::super::super::super::System::User> {
1811 let this = &::windows::core::ComInterface::cast::<IWebAccountProviderTokenObjects2>(self)?;
1812 unsafe {
1813 let mut result__ = ::windows::core::zeroed::<super::super::super::super::System::User>();
1814 (::windows::core::Interface::vtable(this).User)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1815 }
1816 }
1817}
1818impl ::core::cmp::PartialEq for WebAccountProviderTriggerDetails {
1819 fn eq(&self, other: &Self) -> bool {
1820 self.0 == other.0
1821 }
1822}
1823impl ::core::cmp::Eq for WebAccountProviderTriggerDetails {}
1824impl ::core::fmt::Debug for WebAccountProviderTriggerDetails {
1825 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1826 f.debug_tuple("WebAccountProviderTriggerDetails").field(&self.0).finish()
1827 }
1828}
1829impl ::windows::core::RuntimeType for WebAccountProviderTriggerDetails {
1830 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebAccountProviderTriggerDetails;{408f284b-1328-42db-89a4-0bce7a717d8e})");
1831}
1832impl ::core::clone::Clone for WebAccountProviderTriggerDetails {
1833 fn clone(&self) -> Self {
1834 Self(self.0.clone())
1835 }
1836}
1837unsafe impl ::windows::core::Interface for WebAccountProviderTriggerDetails {
1838 type Vtable = IWebAccountProviderTokenObjects_Vtbl;
1839}
1840unsafe impl ::windows::core::ComInterface for WebAccountProviderTriggerDetails {
1841 const IID: ::windows::core::GUID = <IWebAccountProviderTokenObjects as ::windows::core::ComInterface>::IID;
1842}
1843impl ::windows::core::RuntimeName for WebAccountProviderTriggerDetails {
1844 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebAccountProviderTriggerDetails";
1845}
1846::windows::imp::interface_hierarchy!(WebAccountProviderTriggerDetails, ::windows::core::IUnknown, ::windows::core::IInspectable);
1847impl ::windows::core::CanTryInto<IWebAccountProviderTokenObjects> for WebAccountProviderTriggerDetails {}
1848impl ::windows::core::CanTryInto<IWebAccountProviderTokenObjects2> for WebAccountProviderTriggerDetails {}
1849unsafe impl ::core::marker::Send for WebAccountProviderTriggerDetails {}
1850unsafe impl ::core::marker::Sync for WebAccountProviderTriggerDetails {}
1851#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1852#[repr(transparent)]
1853pub struct WebProviderTokenRequest(::windows::core::IUnknown);
1854impl WebProviderTokenRequest {
1855 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1856 #[cfg(feature = "Security_Authentication_Web_Core")]
1857 pub fn ClientRequest(&self) -> ::windows::core::Result<super::Core::WebTokenRequest> {
1858 let this = self;
1859 unsafe {
1860 let mut result__ = ::windows::core::zeroed::<super::Core::WebTokenRequest>();
1861 (::windows::core::Interface::vtable(this).ClientRequest)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1862 }
1863 }
1864 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Security_Credentials\"`*"]
1865 #[cfg(all(feature = "Foundation_Collections", feature = "Security_Credentials"))]
1866 pub fn WebAccounts(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::Credentials::WebAccount>> {
1867 let this = self;
1868 unsafe {
1869 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::Credentials::WebAccount>>();
1870 (::windows::core::Interface::vtable(this).WebAccounts)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1871 }
1872 }
1873 pub fn WebAccountSelectionOptions(&self) -> ::windows::core::Result<WebAccountSelectionOptions> {
1874 let this = self;
1875 unsafe {
1876 let mut result__ = ::windows::core::zeroed::<WebAccountSelectionOptions>();
1877 (::windows::core::Interface::vtable(this).WebAccountSelectionOptions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1878 }
1879 }
1880 #[doc = "*Required features: `\"Foundation\"`*"]
1881 #[cfg(feature = "Foundation")]
1882 pub fn ApplicationCallbackUri(&self) -> ::windows::core::Result<super::super::super::super::Foundation::Uri> {
1883 let this = self;
1884 unsafe {
1885 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::Uri>();
1886 (::windows::core::Interface::vtable(this).ApplicationCallbackUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1887 }
1888 }
1889 #[doc = "*Required features: `\"Foundation\"`, `\"Security_Cryptography_Core\"`*"]
1890 #[cfg(all(feature = "Foundation", feature = "Security_Cryptography_Core"))]
1891 pub fn GetApplicationTokenBindingKeyAsync(&self, keytype: super::TokenBindingKeyType, target: &super::super::super::super::Foundation::Uri) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Cryptography::Core::CryptographicKey>> {
1892 let this = self;
1893 unsafe {
1894 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::Cryptography::Core::CryptographicKey>>();
1895 (::windows::core::Interface::vtable(this).GetApplicationTokenBindingKeyAsync)(::windows::core::Interface::as_raw(this), keytype, ::core::mem::transmute_copy(target), &mut result__).from_abi(result__)
1896 }
1897 }
1898 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
1899 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1900 pub fn GetApplicationTokenBindingKeyIdAsync(&self, keytype: super::TokenBindingKeyType, target: &super::super::super::super::Foundation::Uri) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Storage::Streams::IBuffer>> {
1901 let this = &::windows::core::ComInterface::cast::<IWebProviderTokenRequest2>(self)?;
1902 unsafe {
1903 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Storage::Streams::IBuffer>>();
1904 (::windows::core::Interface::vtable(this).GetApplicationTokenBindingKeyIdAsync)(::windows::core::Interface::as_raw(this), keytype, ::core::mem::transmute_copy(target), &mut result__).from_abi(result__)
1905 }
1906 }
1907 pub fn ApplicationPackageFamilyName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1908 let this = &::windows::core::ComInterface::cast::<IWebProviderTokenRequest3>(self)?;
1909 unsafe {
1910 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1911 (::windows::core::Interface::vtable(this).ApplicationPackageFamilyName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1912 }
1913 }
1914 pub fn ApplicationProcessName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1915 let this = &::windows::core::ComInterface::cast::<IWebProviderTokenRequest3>(self)?;
1916 unsafe {
1917 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1918 (::windows::core::Interface::vtable(this).ApplicationProcessName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1919 }
1920 }
1921 #[doc = "*Required features: `\"Foundation\"`*"]
1922 #[cfg(feature = "Foundation")]
1923 pub fn CheckApplicationForCapabilityAsync(&self, capabilityname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
1924 let this = &::windows::core::ComInterface::cast::<IWebProviderTokenRequest3>(self)?;
1925 unsafe {
1926 let mut result__ = ::windows::core::zeroed::<super::super::super::super::Foundation::IAsyncOperation<bool>>();
1927 (::windows::core::Interface::vtable(this).CheckApplicationForCapabilityAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(capabilityname), &mut result__).from_abi(result__)
1928 }
1929 }
1930}
1931impl ::core::cmp::PartialEq for WebProviderTokenRequest {
1932 fn eq(&self, other: &Self) -> bool {
1933 self.0 == other.0
1934 }
1935}
1936impl ::core::cmp::Eq for WebProviderTokenRequest {}
1937impl ::core::fmt::Debug for WebProviderTokenRequest {
1938 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1939 f.debug_tuple("WebProviderTokenRequest").field(&self.0).finish()
1940 }
1941}
1942impl ::windows::core::RuntimeType for WebProviderTokenRequest {
1943 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebProviderTokenRequest;{1e18778b-8805-454b-9f11-468d2af1095a})");
1944}
1945impl ::core::clone::Clone for WebProviderTokenRequest {
1946 fn clone(&self) -> Self {
1947 Self(self.0.clone())
1948 }
1949}
1950unsafe impl ::windows::core::Interface for WebProviderTokenRequest {
1951 type Vtable = IWebProviderTokenRequest_Vtbl;
1952}
1953unsafe impl ::windows::core::ComInterface for WebProviderTokenRequest {
1954 const IID: ::windows::core::GUID = <IWebProviderTokenRequest as ::windows::core::ComInterface>::IID;
1955}
1956impl ::windows::core::RuntimeName for WebProviderTokenRequest {
1957 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebProviderTokenRequest";
1958}
1959::windows::imp::interface_hierarchy!(WebProviderTokenRequest, ::windows::core::IUnknown, ::windows::core::IInspectable);
1960unsafe impl ::core::marker::Send for WebProviderTokenRequest {}
1961unsafe impl ::core::marker::Sync for WebProviderTokenRequest {}
1962#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
1963#[repr(transparent)]
1964pub struct WebProviderTokenResponse(::windows::core::IUnknown);
1965impl WebProviderTokenResponse {
1966 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1967 #[cfg(feature = "Security_Authentication_Web_Core")]
1968 pub fn ClientResponse(&self) -> ::windows::core::Result<super::Core::WebTokenResponse> {
1969 let this = self;
1970 unsafe {
1971 let mut result__ = ::windows::core::zeroed::<super::Core::WebTokenResponse>();
1972 (::windows::core::Interface::vtable(this).ClientResponse)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1973 }
1974 }
1975 #[doc = "*Required features: `\"Security_Authentication_Web_Core\"`*"]
1976 #[cfg(feature = "Security_Authentication_Web_Core")]
1977 pub fn Create(webtokenresponse: &super::Core::WebTokenResponse) -> ::windows::core::Result<WebProviderTokenResponse> {
1978 Self::IWebProviderTokenResponseFactory(|this| unsafe {
1979 let mut result__ = ::windows::core::zeroed::<WebProviderTokenResponse>();
1980 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(webtokenresponse), &mut result__).from_abi(result__)
1981 })
1982 }
1983 #[doc(hidden)]
1984 pub fn IWebProviderTokenResponseFactory<R, F: FnOnce(&IWebProviderTokenResponseFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1985 static SHARED: ::windows::imp::FactoryCache<WebProviderTokenResponse, IWebProviderTokenResponseFactory> = ::windows::imp::FactoryCache::new();
1986 SHARED.call(callback)
1987 }
1988}
1989impl ::core::cmp::PartialEq for WebProviderTokenResponse {
1990 fn eq(&self, other: &Self) -> bool {
1991 self.0 == other.0
1992 }
1993}
1994impl ::core::cmp::Eq for WebProviderTokenResponse {}
1995impl ::core::fmt::Debug for WebProviderTokenResponse {
1996 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1997 f.debug_tuple("WebProviderTokenResponse").field(&self.0).finish()
1998 }
1999}
2000impl ::windows::core::RuntimeType for WebProviderTokenResponse {
2001 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.Authentication.Web.Provider.WebProviderTokenResponse;{ef213793-ef55-4186-b7ce-8cb2e7f9849e})");
2002}
2003impl ::core::clone::Clone for WebProviderTokenResponse {
2004 fn clone(&self) -> Self {
2005 Self(self.0.clone())
2006 }
2007}
2008unsafe impl ::windows::core::Interface for WebProviderTokenResponse {
2009 type Vtable = IWebProviderTokenResponse_Vtbl;
2010}
2011unsafe impl ::windows::core::ComInterface for WebProviderTokenResponse {
2012 const IID: ::windows::core::GUID = <IWebProviderTokenResponse as ::windows::core::ComInterface>::IID;
2013}
2014impl ::windows::core::RuntimeName for WebProviderTokenResponse {
2015 const NAME: &'static str = "Windows.Security.Authentication.Web.Provider.WebProviderTokenResponse";
2016}
2017::windows::imp::interface_hierarchy!(WebProviderTokenResponse, ::windows::core::IUnknown, ::windows::core::IInspectable);
2018unsafe impl ::core::marker::Send for WebProviderTokenResponse {}
2019unsafe impl ::core::marker::Sync for WebProviderTokenResponse {}
2020#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
2021#[repr(transparent)]
2022#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2023pub struct WebAccountClientViewType(pub i32);
2024impl WebAccountClientViewType {
2025 pub const IdOnly: Self = Self(0i32);
2026 pub const IdAndProperties: Self = Self(1i32);
2027}
2028impl ::core::marker::Copy for WebAccountClientViewType {}
2029impl ::core::clone::Clone for WebAccountClientViewType {
2030 fn clone(&self) -> Self {
2031 *self
2032 }
2033}
2034impl ::core::default::Default for WebAccountClientViewType {
2035 fn default() -> Self {
2036 Self(0)
2037 }
2038}
2039impl ::windows::core::TypeKind for WebAccountClientViewType {
2040 type TypeKind = ::windows::core::CopyType;
2041}
2042impl ::core::fmt::Debug for WebAccountClientViewType {
2043 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2044 f.debug_tuple("WebAccountClientViewType").field(&self.0).finish()
2045 }
2046}
2047impl ::windows::core::RuntimeType for WebAccountClientViewType {
2048 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.Authentication.Web.Provider.WebAccountClientViewType;i4)");
2049}
2050#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
2051#[repr(transparent)]
2052#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2053pub struct WebAccountProviderOperationKind(pub i32);
2054impl WebAccountProviderOperationKind {
2055 pub const RequestToken: Self = Self(0i32);
2056 pub const GetTokenSilently: Self = Self(1i32);
2057 pub const AddAccount: Self = Self(2i32);
2058 pub const ManageAccount: Self = Self(3i32);
2059 pub const DeleteAccount: Self = Self(4i32);
2060 pub const RetrieveCookies: Self = Self(5i32);
2061 pub const SignOutAccount: Self = Self(6i32);
2062}
2063impl ::core::marker::Copy for WebAccountProviderOperationKind {}
2064impl ::core::clone::Clone for WebAccountProviderOperationKind {
2065 fn clone(&self) -> Self {
2066 *self
2067 }
2068}
2069impl ::core::default::Default for WebAccountProviderOperationKind {
2070 fn default() -> Self {
2071 Self(0)
2072 }
2073}
2074impl ::windows::core::TypeKind for WebAccountProviderOperationKind {
2075 type TypeKind = ::windows::core::CopyType;
2076}
2077impl ::core::fmt::Debug for WebAccountProviderOperationKind {
2078 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2079 f.debug_tuple("WebAccountProviderOperationKind").field(&self.0).finish()
2080 }
2081}
2082impl ::windows::core::RuntimeType for WebAccountProviderOperationKind {
2083 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.Authentication.Web.Provider.WebAccountProviderOperationKind;i4)");
2084}
2085#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
2086#[repr(transparent)]
2087#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2088pub struct WebAccountScope(pub i32);
2089impl WebAccountScope {
2090 pub const PerUser: Self = Self(0i32);
2091 pub const PerApplication: Self = Self(1i32);
2092}
2093impl ::core::marker::Copy for WebAccountScope {}
2094impl ::core::clone::Clone for WebAccountScope {
2095 fn clone(&self) -> Self {
2096 *self
2097 }
2098}
2099impl ::core::default::Default for WebAccountScope {
2100 fn default() -> Self {
2101 Self(0)
2102 }
2103}
2104impl ::windows::core::TypeKind for WebAccountScope {
2105 type TypeKind = ::windows::core::CopyType;
2106}
2107impl ::core::fmt::Debug for WebAccountScope {
2108 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2109 f.debug_tuple("WebAccountScope").field(&self.0).finish()
2110 }
2111}
2112impl ::windows::core::RuntimeType for WebAccountScope {
2113 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.Authentication.Web.Provider.WebAccountScope;i4)");
2114}
2115#[doc = "*Required features: `\"Security_Authentication_Web_Provider\"`*"]
2116#[repr(transparent)]
2117#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2118pub struct WebAccountSelectionOptions(pub u32);
2119impl WebAccountSelectionOptions {
2120 pub const Default: Self = Self(0u32);
2121 pub const New: Self = Self(1u32);
2122}
2123impl ::core::marker::Copy for WebAccountSelectionOptions {}
2124impl ::core::clone::Clone for WebAccountSelectionOptions {
2125 fn clone(&self) -> Self {
2126 *self
2127 }
2128}
2129impl ::core::default::Default for WebAccountSelectionOptions {
2130 fn default() -> Self {
2131 Self(0)
2132 }
2133}
2134impl ::windows::core::TypeKind for WebAccountSelectionOptions {
2135 type TypeKind = ::windows::core::CopyType;
2136}
2137impl ::core::fmt::Debug for WebAccountSelectionOptions {
2138 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2139 f.debug_tuple("WebAccountSelectionOptions").field(&self.0).finish()
2140 }
2141}
2142impl WebAccountSelectionOptions {
2143 pub const fn contains(&self, other: Self) -> bool {
2144 self.0 & other.0 == other.0
2145 }
2146}
2147impl ::core::ops::BitOr for WebAccountSelectionOptions {
2148 type Output = Self;
2149 fn bitor(self, other: Self) -> Self {
2150 Self(self.0 | other.0)
2151 }
2152}
2153impl ::core::ops::BitAnd for WebAccountSelectionOptions {
2154 type Output = Self;
2155 fn bitand(self, other: Self) -> Self {
2156 Self(self.0 & other.0)
2157 }
2158}
2159impl ::core::ops::BitOrAssign for WebAccountSelectionOptions {
2160 fn bitor_assign(&mut self, other: Self) {
2161 self.0.bitor_assign(other.0)
2162 }
2163}
2164impl ::core::ops::BitAndAssign for WebAccountSelectionOptions {
2165 fn bitand_assign(&mut self, other: Self) {
2166 self.0.bitand_assign(other.0)
2167 }
2168}
2169impl ::core::ops::Not for WebAccountSelectionOptions {
2170 type Output = Self;
2171 fn not(self) -> Self {
2172 Self(self.0.not())
2173 }
2174}
2175impl ::windows::core::RuntimeType for WebAccountSelectionOptions {
2176 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.Authentication.Web.Provider.WebAccountSelectionOptions;u4)");
2177}
2178#[cfg(feature = "implement")]
2179::core::include!("impl.rs");