1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 pub struct AccountsSettingsPane(::windows::runtime::IInspectable);
5 impl AccountsSettingsPane {
6     #[cfg(feature = "Foundation")]
AccountCommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AccountsSettingsPane, AccountsSettingsPaneCommandsRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>7     pub fn AccountCommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<AccountsSettingsPane, AccountsSettingsPaneCommandsRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
8         let this = self;
9         unsafe {
10             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
11             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
12         }
13     }
14     #[cfg(feature = "Foundation")]
RemoveAccountCommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>15     pub fn RemoveAccountCommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
16         let this = self;
17         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
18     }
GetForCurrentView() -> ::windows::runtime::Result<AccountsSettingsPane>19     pub fn GetForCurrentView() -> ::windows::runtime::Result<AccountsSettingsPane> {
20         Self::IAccountsSettingsPaneStatics(|this| unsafe {
21             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
22             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AccountsSettingsPane>(result__)
23         })
24     }
Show() -> ::windows::runtime::Result<()>25     pub fn Show() -> ::windows::runtime::Result<()> {
26         Self::IAccountsSettingsPaneStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() })
27     }
28     #[cfg(feature = "Foundation")]
ShowManageAccountsAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>29     pub fn ShowManageAccountsAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
30         Self::IAccountsSettingsPaneStatics2(|this| unsafe {
31             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
33         })
34     }
35     #[cfg(feature = "Foundation")]
ShowAddAccountAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>36     pub fn ShowAddAccountAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
37         Self::IAccountsSettingsPaneStatics2(|this| unsafe {
38             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
39             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
40         })
41     }
42     #[cfg(all(feature = "Foundation", feature = "System"))]
ShowManageAccountsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::User>>(user: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>43     pub fn ShowManageAccountsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::User>>(user: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
44         Self::IAccountsSettingsPaneStatics3(|this| unsafe {
45             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
46             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
47         })
48     }
49     #[cfg(all(feature = "Foundation", feature = "System"))]
ShowAddAccountForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::User>>(user: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>50     pub fn ShowAddAccountForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::System::User>>(user: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
51         Self::IAccountsSettingsPaneStatics3(|this| unsafe {
52             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
53             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
54         })
55     }
IAccountsSettingsPaneStatics<R, F: FnOnce(&IAccountsSettingsPaneStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>56     pub fn IAccountsSettingsPaneStatics<R, F: FnOnce(&IAccountsSettingsPaneStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
57         static mut SHARED: ::windows::runtime::FactoryCache<AccountsSettingsPane, IAccountsSettingsPaneStatics> = ::windows::runtime::FactoryCache::new();
58         unsafe { SHARED.call(callback) }
59     }
IAccountsSettingsPaneStatics2<R, F: FnOnce(&IAccountsSettingsPaneStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>60     pub fn IAccountsSettingsPaneStatics2<R, F: FnOnce(&IAccountsSettingsPaneStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
61         static mut SHARED: ::windows::runtime::FactoryCache<AccountsSettingsPane, IAccountsSettingsPaneStatics2> = ::windows::runtime::FactoryCache::new();
62         unsafe { SHARED.call(callback) }
63     }
IAccountsSettingsPaneStatics3<R, F: FnOnce(&IAccountsSettingsPaneStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>64     pub fn IAccountsSettingsPaneStatics3<R, F: FnOnce(&IAccountsSettingsPaneStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
65         static mut SHARED: ::windows::runtime::FactoryCache<AccountsSettingsPane, IAccountsSettingsPaneStatics3> = ::windows::runtime::FactoryCache::new();
66         unsafe { SHARED.call(callback) }
67     }
68 }
69 unsafe impl ::windows::runtime::RuntimeType for AccountsSettingsPane {
70     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.AccountsSettingsPane;{81ea942c-4f09-4406-a538-838d9b14b7e6})");
71 }
72 unsafe impl ::windows::runtime::Interface for AccountsSettingsPane {
73     type Vtable = IAccountsSettingsPane_abi;
74     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2179634220, 20233, 17414, [165, 56, 131, 141, 155, 20, 183, 230]);
75 }
76 impl ::windows::runtime::RuntimeName for AccountsSettingsPane {
77     const NAME: &'static str = "Windows.UI.ApplicationSettings.AccountsSettingsPane";
78 }
79 impl ::std::convert::From<AccountsSettingsPane> for ::windows::runtime::IUnknown {
from(value: AccountsSettingsPane) -> Self80     fn from(value: AccountsSettingsPane) -> Self {
81         unsafe { ::std::mem::transmute(value) }
82     }
83 }
84 impl ::std::convert::From<&AccountsSettingsPane> for ::windows::runtime::IUnknown {
from(value: &AccountsSettingsPane) -> Self85     fn from(value: &AccountsSettingsPane) -> Self {
86         ::std::convert::From::from(::std::clone::Clone::clone(value))
87     }
88 }
89 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AccountsSettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>90     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
91         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
92     }
93 }
94 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AccountsSettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>95     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
96         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
97     }
98 }
99 impl ::std::convert::From<AccountsSettingsPane> for ::windows::runtime::IInspectable {
from(value: AccountsSettingsPane) -> Self100     fn from(value: AccountsSettingsPane) -> Self {
101         value.0
102     }
103 }
104 impl ::std::convert::From<&AccountsSettingsPane> for ::windows::runtime::IInspectable {
from(value: &AccountsSettingsPane) -> Self105     fn from(value: &AccountsSettingsPane) -> Self {
106         value.0.clone()
107     }
108 }
109 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AccountsSettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>110     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
111         ::windows::runtime::Param::Owned(self.0)
112     }
113 }
114 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AccountsSettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>115     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
116         ::windows::runtime::Param::Borrowed(&self.0)
117     }
118 }
119 #[repr(transparent)]
120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
121 pub struct AccountsSettingsPaneCommandsRequestedEventArgs(::windows::runtime::IInspectable);
122 impl AccountsSettingsPaneCommandsRequestedEventArgs {
123     #[cfg(feature = "Foundation_Collections")]
WebAccountProviderCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<WebAccountProviderCommand>>124     pub fn WebAccountProviderCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<WebAccountProviderCommand>> {
125         let this = self;
126         unsafe {
127             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
128             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<WebAccountProviderCommand>>(result__)
129         }
130     }
131     #[cfg(feature = "Foundation_Collections")]
WebAccountCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<WebAccountCommand>>132     pub fn WebAccountCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<WebAccountCommand>> {
133         let this = self;
134         unsafe {
135             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
136             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<WebAccountCommand>>(result__)
137         }
138     }
139     #[cfg(feature = "Foundation_Collections")]
CredentialCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<CredentialCommand>>140     pub fn CredentialCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<CredentialCommand>> {
141         let this = self;
142         unsafe {
143             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
144             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<CredentialCommand>>(result__)
145         }
146     }
147     #[cfg(all(feature = "Foundation_Collections", feature = "UI_Popups"))]
Commands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<SettingsCommand>>148     pub fn Commands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<SettingsCommand>> {
149         let this = self;
150         unsafe {
151             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
152             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<SettingsCommand>>(result__)
153         }
154     }
HeaderText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>155     pub fn HeaderText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
156         let this = self;
157         unsafe {
158             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
159             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
160         }
161     }
SetHeaderText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>162     pub fn SetHeaderText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
163         let this = self;
164         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
165     }
GetDeferral(&self) -> ::windows::runtime::Result<AccountsSettingsPaneEventDeferral>166     pub fn GetDeferral(&self) -> ::windows::runtime::Result<AccountsSettingsPaneEventDeferral> {
167         let this = self;
168         unsafe {
169             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
170             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AccountsSettingsPaneEventDeferral>(result__)
171         }
172     }
173     #[cfg(feature = "System")]
User(&self) -> ::windows::runtime::Result<super::super::System::User>174     pub fn User(&self) -> ::windows::runtime::Result<super::super::System::User> {
175         let this = &::windows::runtime::Interface::cast::<IAccountsSettingsPaneCommandsRequestedEventArgs2>(self)?;
176         unsafe {
177             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
178             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::User>(result__)
179         }
180     }
181 }
182 unsafe impl ::windows::runtime::RuntimeType for AccountsSettingsPaneCommandsRequestedEventArgs {
183     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.AccountsSettingsPaneCommandsRequestedEventArgs;{3b68c099-db19-45d0-9abf-95d3773c9330})");
184 }
185 unsafe impl ::windows::runtime::Interface for AccountsSettingsPaneCommandsRequestedEventArgs {
186     type Vtable = IAccountsSettingsPaneCommandsRequestedEventArgs_abi;
187     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(996720793, 56089, 17872, [154, 191, 149, 211, 119, 60, 147, 48]);
188 }
189 impl ::windows::runtime::RuntimeName for AccountsSettingsPaneCommandsRequestedEventArgs {
190     const NAME: &'static str = "Windows.UI.ApplicationSettings.AccountsSettingsPaneCommandsRequestedEventArgs";
191 }
192 impl ::std::convert::From<AccountsSettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: AccountsSettingsPaneCommandsRequestedEventArgs) -> Self193     fn from(value: AccountsSettingsPaneCommandsRequestedEventArgs) -> Self {
194         unsafe { ::std::mem::transmute(value) }
195     }
196 }
197 impl ::std::convert::From<&AccountsSettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &AccountsSettingsPaneCommandsRequestedEventArgs) -> Self198     fn from(value: &AccountsSettingsPaneCommandsRequestedEventArgs) -> Self {
199         ::std::convert::From::from(::std::clone::Clone::clone(value))
200     }
201 }
202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AccountsSettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>203     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
204         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
205     }
206 }
207 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AccountsSettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>208     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
209         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
210     }
211 }
212 impl ::std::convert::From<AccountsSettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: AccountsSettingsPaneCommandsRequestedEventArgs) -> Self213     fn from(value: AccountsSettingsPaneCommandsRequestedEventArgs) -> Self {
214         value.0
215     }
216 }
217 impl ::std::convert::From<&AccountsSettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &AccountsSettingsPaneCommandsRequestedEventArgs) -> Self218     fn from(value: &AccountsSettingsPaneCommandsRequestedEventArgs) -> Self {
219         value.0.clone()
220     }
221 }
222 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AccountsSettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>223     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
224         ::windows::runtime::Param::Owned(self.0)
225     }
226 }
227 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AccountsSettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>228     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
229         ::windows::runtime::Param::Borrowed(&self.0)
230     }
231 }
232 #[repr(transparent)]
233 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
234 pub struct AccountsSettingsPaneEventDeferral(::windows::runtime::IInspectable);
235 impl AccountsSettingsPaneEventDeferral {
Complete(&self) -> ::windows::runtime::Result<()>236     pub fn Complete(&self) -> ::windows::runtime::Result<()> {
237         let this = self;
238         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
239     }
240 }
241 unsafe impl ::windows::runtime::RuntimeType for AccountsSettingsPaneEventDeferral {
242     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.AccountsSettingsPaneEventDeferral;{cbf25d3f-e5ba-40ef-93da-65e096e5fb04})");
243 }
244 unsafe impl ::windows::runtime::Interface for AccountsSettingsPaneEventDeferral {
245     type Vtable = IAccountsSettingsPaneEventDeferral_abi;
246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3421658431, 58810, 16623, [147, 218, 101, 224, 150, 229, 251, 4]);
247 }
248 impl ::windows::runtime::RuntimeName for AccountsSettingsPaneEventDeferral {
249     const NAME: &'static str = "Windows.UI.ApplicationSettings.AccountsSettingsPaneEventDeferral";
250 }
251 impl ::std::convert::From<AccountsSettingsPaneEventDeferral> for ::windows::runtime::IUnknown {
from(value: AccountsSettingsPaneEventDeferral) -> Self252     fn from(value: AccountsSettingsPaneEventDeferral) -> Self {
253         unsafe { ::std::mem::transmute(value) }
254     }
255 }
256 impl ::std::convert::From<&AccountsSettingsPaneEventDeferral> for ::windows::runtime::IUnknown {
from(value: &AccountsSettingsPaneEventDeferral) -> Self257     fn from(value: &AccountsSettingsPaneEventDeferral) -> Self {
258         ::std::convert::From::from(::std::clone::Clone::clone(value))
259     }
260 }
261 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AccountsSettingsPaneEventDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>262     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
263         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
264     }
265 }
266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AccountsSettingsPaneEventDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
268         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
269     }
270 }
271 impl ::std::convert::From<AccountsSettingsPaneEventDeferral> for ::windows::runtime::IInspectable {
from(value: AccountsSettingsPaneEventDeferral) -> Self272     fn from(value: AccountsSettingsPaneEventDeferral) -> Self {
273         value.0
274     }
275 }
276 impl ::std::convert::From<&AccountsSettingsPaneEventDeferral> for ::windows::runtime::IInspectable {
from(value: &AccountsSettingsPaneEventDeferral) -> Self277     fn from(value: &AccountsSettingsPaneEventDeferral) -> Self {
278         value.0.clone()
279     }
280 }
281 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AccountsSettingsPaneEventDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>282     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
283         ::windows::runtime::Param::Owned(self.0)
284     }
285 }
286 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AccountsSettingsPaneEventDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>287     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
288         ::windows::runtime::Param::Borrowed(&self.0)
289     }
290 }
291 #[repr(C)]
292 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
293 pub struct ApplicationsSettingsContract(pub u8);
294 #[repr(transparent)]
295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
296 pub struct CredentialCommand(::windows::runtime::IInspectable);
297 impl CredentialCommand {
298     #[cfg(feature = "Security_Credentials")]
PasswordCredential(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::PasswordCredential>299     pub fn PasswordCredential(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::PasswordCredential> {
300         let this = self;
301         unsafe {
302             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
303             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Security::Credentials::PasswordCredential>(result__)
304         }
305     }
CredentialDeleted(&self) -> ::windows::runtime::Result<CredentialCommandCredentialDeletedHandler>306     pub fn CredentialDeleted(&self) -> ::windows::runtime::Result<CredentialCommandCredentialDeletedHandler> {
307         let this = self;
308         unsafe {
309             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
310             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CredentialCommandCredentialDeletedHandler>(result__)
311         }
312     }
313     #[cfg(feature = "Security_Credentials")]
CreateCredentialCommand<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::PasswordCredential>>(passwordcredential: Param0) -> ::windows::runtime::Result<CredentialCommand>314     pub fn CreateCredentialCommand<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::PasswordCredential>>(passwordcredential: Param0) -> ::windows::runtime::Result<CredentialCommand> {
315         Self::ICredentialCommandFactory(|this| unsafe {
316             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
317             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), passwordcredential.into_param().abi(), &mut result__).from_abi::<CredentialCommand>(result__)
318         })
319     }
320     #[cfg(feature = "Security_Credentials")]
CreateCredentialCommandWithHandler<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::PasswordCredential>, Param1: ::windows::runtime::IntoParam<'a, CredentialCommandCredentialDeletedHandler>>(passwordcredential: Param0, deleted: Param1) -> ::windows::runtime::Result<CredentialCommand>321     pub fn CreateCredentialCommandWithHandler<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::PasswordCredential>, Param1: ::windows::runtime::IntoParam<'a, CredentialCommandCredentialDeletedHandler>>(passwordcredential: Param0, deleted: Param1) -> ::windows::runtime::Result<CredentialCommand> {
322         Self::ICredentialCommandFactory(|this| unsafe {
323             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
324             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), passwordcredential.into_param().abi(), deleted.into_param().abi(), &mut result__).from_abi::<CredentialCommand>(result__)
325         })
326     }
ICredentialCommandFactory<R, F: FnOnce(&ICredentialCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>327     pub fn ICredentialCommandFactory<R, F: FnOnce(&ICredentialCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
328         static mut SHARED: ::windows::runtime::FactoryCache<CredentialCommand, ICredentialCommandFactory> = ::windows::runtime::FactoryCache::new();
329         unsafe { SHARED.call(callback) }
330     }
331 }
332 unsafe impl ::windows::runtime::RuntimeType for CredentialCommand {
333     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.CredentialCommand;{a5f665e6-6143-4a7a-a971-b017ba978ce2})");
334 }
335 unsafe impl ::windows::runtime::Interface for CredentialCommand {
336     type Vtable = ICredentialCommand_abi;
337     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2784388582, 24899, 19066, [169, 113, 176, 23, 186, 151, 140, 226]);
338 }
339 impl ::windows::runtime::RuntimeName for CredentialCommand {
340     const NAME: &'static str = "Windows.UI.ApplicationSettings.CredentialCommand";
341 }
342 impl ::std::convert::From<CredentialCommand> for ::windows::runtime::IUnknown {
from(value: CredentialCommand) -> Self343     fn from(value: CredentialCommand) -> Self {
344         unsafe { ::std::mem::transmute(value) }
345     }
346 }
347 impl ::std::convert::From<&CredentialCommand> for ::windows::runtime::IUnknown {
from(value: &CredentialCommand) -> Self348     fn from(value: &CredentialCommand) -> Self {
349         ::std::convert::From::from(::std::clone::Clone::clone(value))
350     }
351 }
352 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CredentialCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>353     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
354         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
355     }
356 }
357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CredentialCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
359         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
360     }
361 }
362 impl ::std::convert::From<CredentialCommand> for ::windows::runtime::IInspectable {
from(value: CredentialCommand) -> Self363     fn from(value: CredentialCommand) -> Self {
364         value.0
365     }
366 }
367 impl ::std::convert::From<&CredentialCommand> for ::windows::runtime::IInspectable {
from(value: &CredentialCommand) -> Self368     fn from(value: &CredentialCommand) -> Self {
369         value.0.clone()
370     }
371 }
372 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CredentialCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>373     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
374         ::windows::runtime::Param::Owned(self.0)
375     }
376 }
377 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CredentialCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>378     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
379         ::windows::runtime::Param::Borrowed(&self.0)
380     }
381 }
382 #[repr(transparent)]
383 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
384 pub struct CredentialCommandCredentialDeletedHandler(::windows::runtime::IUnknown);
385 impl CredentialCommandCredentialDeletedHandler {
new<F: FnMut(&::std::option::Option<CredentialCommand>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self386     pub fn new<F: FnMut(&::std::option::Option<CredentialCommand>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self {
387         let com = CredentialCommandCredentialDeletedHandler_box::<F> {
388             vtable: &CredentialCommandCredentialDeletedHandler_box::<F>::VTABLE,
389             count: ::windows::runtime::RefCount::new(1),
390             invoke,
391         };
392         unsafe { std::mem::transmute(::std::boxed::Box::new(com)) }
393     }
Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, CredentialCommand>>(&self, command: Param0) -> ::windows::runtime::Result<()>394     pub fn Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, CredentialCommand>>(&self, command: Param0) -> ::windows::runtime::Result<()> {
395         let this = self;
396         unsafe { (::windows::runtime::Interface::vtable(this).3)(::std::mem::transmute_copy(this), command.into_param().abi()).ok() }
397     }
398 }
399 unsafe impl ::windows::runtime::RuntimeType for CredentialCommandCredentialDeletedHandler {
400     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"delegate({61c0e185-0977-4678-b4e2-98727afbeed9})");
401 }
402 unsafe impl ::windows::runtime::Interface for CredentialCommandCredentialDeletedHandler {
403     type Vtable = CredentialCommandCredentialDeletedHandler_abi;
404     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1640030597, 2423, 18040, [180, 226, 152, 114, 122, 251, 238, 217]);
405 }
406 #[repr(C)]
407 #[doc(hidden)]
408 pub struct CredentialCommandCredentialDeletedHandler_abi(
409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
413 );
414 #[repr(C)]
415 struct CredentialCommandCredentialDeletedHandler_box<F: FnMut(&::std::option::Option<CredentialCommand>) -> ::windows::runtime::Result<()> + 'static> {
416     vtable: *const CredentialCommandCredentialDeletedHandler_abi,
417     invoke: F,
418     count: ::windows::runtime::RefCount,
419 }
420 impl<F: FnMut(&::std::option::Option<CredentialCommand>) -> ::windows::runtime::Result<()> + 'static> CredentialCommandCredentialDeletedHandler_box<F> {
421     const VTABLE: CredentialCommandCredentialDeletedHandler_abi = CredentialCommandCredentialDeletedHandler_abi(Self::QueryInterface, Self::AddRef, Self::Release, Self::Invoke);
QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT422     unsafe extern "system" fn QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
423         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
424         *interface = if iid == &<CredentialCommandCredentialDeletedHandler as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IUnknown as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IAgileObject as ::windows::runtime::Interface>::IID {
425             &mut (*this).vtable as *mut _ as _
426         } else {
427             ::std::ptr::null_mut()
428         };
429         if (*interface).is_null() {
430             ::windows::runtime::HRESULT(0x8000_4002)
431         } else {
432             (*this).count.add_ref();
433             ::windows::runtime::HRESULT(0)
434         }
435     }
AddRef(this: ::windows::runtime::RawPtr) -> u32436     unsafe extern "system" fn AddRef(this: ::windows::runtime::RawPtr) -> u32 {
437         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
438         (*this).count.add_ref()
439     }
Release(this: ::windows::runtime::RawPtr) -> u32440     unsafe extern "system" fn Release(this: ::windows::runtime::RawPtr) -> u32 {
441         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
442         let remaining = (*this).count.release();
443         if remaining == 0 {
444             Box::from_raw(this);
445         }
446         remaining
447     }
Invoke(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT448     unsafe extern "system" fn Invoke(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
449         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
450         ((*this).invoke)(&*(&command as *const <CredentialCommand as ::windows::runtime::Abi>::Abi as *const <CredentialCommand as ::windows::runtime::Abi>::DefaultType)).into()
451     }
452 }
453 #[repr(transparent)]
454 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
455 #[doc(hidden)]
456 pub struct IAccountsSettingsPane(::windows::runtime::IInspectable);
457 unsafe impl ::windows::runtime::Interface for IAccountsSettingsPane {
458     type Vtable = IAccountsSettingsPane_abi;
459     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2179634220, 20233, 17414, [165, 56, 131, 141, 155, 20, 183, 230]);
460 }
461 #[repr(C)]
462 #[doc(hidden)]
463 pub struct IAccountsSettingsPane_abi(
464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
470     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
471     #[cfg(not(feature = "Foundation"))] usize,
472     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
473     #[cfg(not(feature = "Foundation"))] usize,
474 );
475 #[repr(transparent)]
476 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
477 #[doc(hidden)]
478 pub struct IAccountsSettingsPaneCommandsRequestedEventArgs(::windows::runtime::IInspectable);
479 unsafe impl ::windows::runtime::Interface for IAccountsSettingsPaneCommandsRequestedEventArgs {
480     type Vtable = IAccountsSettingsPaneCommandsRequestedEventArgs_abi;
481     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(996720793, 56089, 17872, [154, 191, 149, 211, 119, 60, 147, 48]);
482 }
483 #[repr(C)]
484 #[doc(hidden)]
485 pub struct IAccountsSettingsPaneCommandsRequestedEventArgs_abi(
486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
492     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
493     #[cfg(not(feature = "Foundation_Collections"))] usize,
494     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
495     #[cfg(not(feature = "Foundation_Collections"))] usize,
496     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
497     #[cfg(not(feature = "Foundation_Collections"))] usize,
498     #[cfg(all(feature = "Foundation_Collections", feature = "UI_Popups"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
499     #[cfg(not(all(feature = "Foundation_Collections", feature = "UI_Popups")))] usize,
500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
503 );
504 #[repr(transparent)]
505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
506 #[doc(hidden)]
507 pub struct IAccountsSettingsPaneCommandsRequestedEventArgs2(::windows::runtime::IInspectable);
508 unsafe impl ::windows::runtime::Interface for IAccountsSettingsPaneCommandsRequestedEventArgs2 {
509     type Vtable = IAccountsSettingsPaneCommandsRequestedEventArgs2_abi;
510     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(909081517, 20023, 18791, [140, 64, 231, 142, 231, 161, 229, 187]);
511 }
512 #[repr(C)]
513 #[doc(hidden)]
514 pub struct IAccountsSettingsPaneCommandsRequestedEventArgs2_abi(
515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
521     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
522     #[cfg(not(feature = "System"))] usize,
523 );
524 #[repr(transparent)]
525 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
526 #[doc(hidden)]
527 pub struct IAccountsSettingsPaneEventDeferral(::windows::runtime::IInspectable);
528 unsafe impl ::windows::runtime::Interface for IAccountsSettingsPaneEventDeferral {
529     type Vtable = IAccountsSettingsPaneEventDeferral_abi;
530     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3421658431, 58810, 16623, [147, 218, 101, 224, 150, 229, 251, 4]);
531 }
532 #[repr(C)]
533 #[doc(hidden)]
534 pub struct IAccountsSettingsPaneEventDeferral_abi(
535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
542 );
543 #[repr(transparent)]
544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
545 #[doc(hidden)]
546 pub struct IAccountsSettingsPaneStatics(::windows::runtime::IInspectable);
547 unsafe impl ::windows::runtime::Interface for IAccountsSettingsPaneStatics {
548     type Vtable = IAccountsSettingsPaneStatics_abi;
549     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1444907872, 45292, 16720, [168, 220, 32, 142, 228, 75, 6, 138]);
550 }
551 #[repr(C)]
552 #[doc(hidden)]
553 pub struct IAccountsSettingsPaneStatics_abi(
554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
562 );
563 #[repr(transparent)]
564 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
565 #[doc(hidden)]
566 pub struct IAccountsSettingsPaneStatics2(::windows::runtime::IInspectable);
567 unsafe impl ::windows::runtime::Interface for IAccountsSettingsPaneStatics2 {
568     type Vtable = IAccountsSettingsPaneStatics2_abi;
569     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3525179330, 52749, 18511, [184, 232, 232, 35, 194, 21, 118, 94]);
570 }
571 #[repr(C)]
572 #[doc(hidden)]
573 pub struct IAccountsSettingsPaneStatics2_abi(
574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
580     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
581     #[cfg(not(feature = "Foundation"))] usize,
582     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
583     #[cfg(not(feature = "Foundation"))] usize,
584 );
585 #[repr(transparent)]
586 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
587 #[doc(hidden)]
588 pub struct IAccountsSettingsPaneStatics3(::windows::runtime::IInspectable);
589 unsafe impl ::windows::runtime::Interface for IAccountsSettingsPaneStatics3 {
590     type Vtable = IAccountsSettingsPaneStatics3_abi;
591     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(138478680, 41658, 19567, [180, 172, 72, 245, 20, 51, 18, 22]);
592 }
593 #[repr(C)]
594 #[doc(hidden)]
595 pub struct IAccountsSettingsPaneStatics3_abi(
596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
602     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
603     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
604     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
605     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
606 );
607 #[repr(transparent)]
608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
609 #[doc(hidden)]
610 pub struct ICredentialCommand(::windows::runtime::IInspectable);
611 unsafe impl ::windows::runtime::Interface for ICredentialCommand {
612     type Vtable = ICredentialCommand_abi;
613     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2784388582, 24899, 19066, [169, 113, 176, 23, 186, 151, 140, 226]);
614 }
615 #[repr(C)]
616 #[doc(hidden)]
617 pub struct ICredentialCommand_abi(
618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
624     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
625     #[cfg(not(feature = "Security_Credentials"))] usize,
626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
627 );
628 #[repr(transparent)]
629 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
630 #[doc(hidden)]
631 pub struct ICredentialCommandFactory(::windows::runtime::IInspectable);
632 unsafe impl ::windows::runtime::Interface for ICredentialCommandFactory {
633     type Vtable = ICredentialCommandFactory_abi;
634     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(669551639, 48190, 19328, [148, 149, 78, 215, 32, 228, 138, 145]);
635 }
636 #[repr(C)]
637 #[doc(hidden)]
638 pub struct ICredentialCommandFactory_abi(
639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
645     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, passwordcredential: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
646     #[cfg(not(feature = "Security_Credentials"))] usize,
647     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, passwordcredential: ::windows::runtime::RawPtr, deleted: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
648     #[cfg(not(feature = "Security_Credentials"))] usize,
649 );
650 #[repr(transparent)]
651 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
652 #[doc(hidden)]
653 pub struct ISettingsCommandFactory(::windows::runtime::IInspectable);
654 unsafe impl ::windows::runtime::Interface for ISettingsCommandFactory {
655     type Vtable = ISettingsCommandFactory_abi;
656     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1759599411, 7299, 17210, [170, 90, 206, 238, 165, 189, 71, 100]);
657 }
658 #[repr(C)]
659 #[doc(hidden)]
660 pub struct ISettingsCommandFactory_abi(
661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
667     #[cfg(feature = "UI_Popups")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, settingscommandid: ::windows::runtime::RawPtr, label: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, handler: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
668     #[cfg(not(feature = "UI_Popups"))] usize,
669 );
670 #[repr(transparent)]
671 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
672 #[doc(hidden)]
673 pub struct ISettingsCommandStatics(::windows::runtime::IInspectable);
674 unsafe impl ::windows::runtime::Interface for ISettingsCommandStatics {
675     type Vtable = ISettingsCommandStatics_abi;
676     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1956309332, 12137, 19223, [138, 186, 208, 92, 229, 119, 142, 70]);
677 }
678 #[repr(C)]
679 #[doc(hidden)]
680 pub struct ISettingsCommandStatics_abi(
681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
687     #[cfg(feature = "UI_Popups")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
688     #[cfg(not(feature = "UI_Popups"))] usize,
689 );
690 #[repr(transparent)]
691 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
692 #[doc(hidden)]
693 pub struct ISettingsPane(::windows::runtime::IInspectable);
694 unsafe impl ::windows::runtime::Interface for ISettingsPane {
695     type Vtable = ISettingsPane_abi;
696     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2983004466, 17776, 19561, [141, 56, 137, 68, 101, 97, 172, 224]);
697 }
698 #[repr(C)]
699 #[doc(hidden)]
700 pub struct ISettingsPane_abi(
701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
707     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
708     #[cfg(not(feature = "Foundation"))] usize,
709     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
710     #[cfg(not(feature = "Foundation"))] usize,
711 );
712 #[repr(transparent)]
713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
714 #[doc(hidden)]
715 pub struct ISettingsPaneCommandsRequest(::windows::runtime::IInspectable);
716 unsafe impl ::windows::runtime::Interface for ISettingsPaneCommandsRequest {
717     type Vtable = ISettingsPaneCommandsRequest_abi;
718     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1155474350, 23918, 16488, [161, 104, 244, 118, 67, 24, 33, 20]);
719 }
720 #[repr(C)]
721 #[doc(hidden)]
722 pub struct ISettingsPaneCommandsRequest_abi(
723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
729     #[cfg(all(feature = "Foundation_Collections", feature = "UI_Popups"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
730     #[cfg(not(all(feature = "Foundation_Collections", feature = "UI_Popups")))] usize,
731 );
732 #[repr(transparent)]
733 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
734 #[doc(hidden)]
735 pub struct ISettingsPaneCommandsRequestedEventArgs(::windows::runtime::IInspectable);
736 unsafe impl ::windows::runtime::Interface for ISettingsPaneCommandsRequestedEventArgs {
737     type Vtable = ISettingsPaneCommandsRequestedEventArgs_abi;
738     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543120676, 6984, 17961, [166, 202, 47, 223, 237, 175, 183, 93]);
739 }
740 #[repr(C)]
741 #[doc(hidden)]
742 pub struct ISettingsPaneCommandsRequestedEventArgs_abi(
743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
750 );
751 #[repr(transparent)]
752 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
753 #[doc(hidden)]
754 pub struct ISettingsPaneStatics(::windows::runtime::IInspectable);
755 unsafe impl ::windows::runtime::Interface for ISettingsPaneStatics {
756     type Vtable = ISettingsPaneStatics_abi;
757     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(476730053, 65305, 18203, [186, 107, 248, 243, 86, 148, 173, 154]);
758 }
759 #[repr(C)]
760 #[doc(hidden)]
761 pub struct ISettingsPaneStatics_abi(
762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SettingsEdgeLocation) -> ::windows::runtime::HRESULT,
771 );
772 #[repr(transparent)]
773 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
774 #[doc(hidden)]
775 pub struct IWebAccountCommand(::windows::runtime::IInspectable);
776 unsafe impl ::windows::runtime::Interface for IWebAccountCommand {
777     type Vtable = IWebAccountCommand_abi;
778     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3399717784, 40186, 16966, [176, 196, 169, 19, 163, 137, 101, 65]);
779 }
780 #[repr(C)]
781 #[doc(hidden)]
782 pub struct IWebAccountCommand_abi(
783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
789     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
790     #[cfg(not(feature = "Security_Credentials"))] usize,
791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SupportedWebAccountActions) -> ::windows::runtime::HRESULT,
793 );
794 #[repr(transparent)]
795 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
796 #[doc(hidden)]
797 pub struct IWebAccountCommandFactory(::windows::runtime::IInspectable);
798 unsafe impl ::windows::runtime::Interface for IWebAccountCommandFactory {
799     type Vtable = IWebAccountCommandFactory_abi;
800     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3215379967, 12077, 17141, [129, 222, 29, 86, 186, 252, 73, 109]);
801 }
802 #[repr(C)]
803 #[doc(hidden)]
804 pub struct IWebAccountCommandFactory_abi(
805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
811     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, webaccount: ::windows::runtime::RawPtr, invoked: ::windows::runtime::RawPtr, actions: SupportedWebAccountActions, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
812     #[cfg(not(feature = "Security_Credentials"))] usize,
813 );
814 #[repr(transparent)]
815 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
816 #[doc(hidden)]
817 pub struct IWebAccountInvokedArgs(::windows::runtime::IInspectable);
818 unsafe impl ::windows::runtime::Interface for IWebAccountInvokedArgs {
819     type Vtable = IWebAccountInvokedArgs_abi;
820     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3886795840, 41432, 19549, [154, 127, 29, 52, 178, 249, 10, 210]);
821 }
822 #[repr(C)]
823 #[doc(hidden)]
824 pub struct IWebAccountInvokedArgs_abi(
825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut WebAccountAction) -> ::windows::runtime::HRESULT,
832 );
833 #[repr(transparent)]
834 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
835 #[doc(hidden)]
836 pub struct IWebAccountProviderCommand(::windows::runtime::IInspectable);
837 unsafe impl ::windows::runtime::Interface for IWebAccountProviderCommand {
838     type Vtable = IWebAccountProviderCommand_abi;
839     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3600539034, 41126, 20123, [136, 220, 199, 30, 117, 122, 53, 1]);
840 }
841 #[repr(C)]
842 #[doc(hidden)]
843 pub struct IWebAccountProviderCommand_abi(
844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
850     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
851     #[cfg(not(feature = "Security_Credentials"))] usize,
852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
853 );
854 #[repr(transparent)]
855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
856 #[doc(hidden)]
857 pub struct IWebAccountProviderCommandFactory(::windows::runtime::IInspectable);
858 unsafe impl ::windows::runtime::Interface for IWebAccountProviderCommandFactory {
859     type Vtable = IWebAccountProviderCommandFactory_abi;
860     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3580201499, 45430, 18294, [132, 105, 169, 211, 255, 11, 63, 89]);
861 }
862 #[repr(C)]
863 #[doc(hidden)]
864 pub struct IWebAccountProviderCommandFactory_abi(
865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
871     #[cfg(feature = "Security_Credentials")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, webaccountprovider: ::windows::runtime::RawPtr, invoked: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
872     #[cfg(not(feature = "Security_Credentials"))] usize,
873 );
874 #[cfg(feature = "UI_Popups")]
875 #[repr(transparent)]
876 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
877 pub struct SettingsCommand(::windows::runtime::IInspectable);
878 #[cfg(feature = "UI_Popups")]
879 impl SettingsCommand {
880     #[cfg(feature = "UI_Popups")]
Label(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>881     pub fn Label(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
882         let this = self;
883         unsafe {
884             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
885             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
886         }
887     }
888     #[cfg(feature = "UI_Popups")]
SetLabel<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>889     pub fn SetLabel<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
890         let this = self;
891         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
892     }
893     #[cfg(feature = "UI_Popups")]
Invoked(&self) -> ::windows::runtime::Result<super::Popups::UICommandInvokedHandler>894     pub fn Invoked(&self) -> ::windows::runtime::Result<super::Popups::UICommandInvokedHandler> {
895         let this = self;
896         unsafe {
897             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
898             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Popups::UICommandInvokedHandler>(result__)
899         }
900     }
901     #[cfg(feature = "UI_Popups")]
SetInvoked<'a, Param0: ::windows::runtime::IntoParam<'a, super::Popups::UICommandInvokedHandler>>(&self, value: Param0) -> ::windows::runtime::Result<()>902     pub fn SetInvoked<'a, Param0: ::windows::runtime::IntoParam<'a, super::Popups::UICommandInvokedHandler>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
903         let this = self;
904         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
905     }
906     #[cfg(feature = "UI_Popups")]
Id(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable>907     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
908         let this = self;
909         unsafe {
910             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
911             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
912         }
913     }
914     #[cfg(feature = "UI_Popups")]
SetId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, value: Param0) -> ::windows::runtime::Result<()>915     pub fn SetId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
916         let this = self;
917         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
918     }
919     #[cfg(feature = "UI_Popups")]
CreateSettingsCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::Popups::UICommandInvokedHandler>>(settingscommandid: Param0, label: Param1, handler: Param2) -> ::windows::runtime::Result<SettingsCommand>920     pub fn CreateSettingsCommand<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::Popups::UICommandInvokedHandler>>(settingscommandid: Param0, label: Param1, handler: Param2) -> ::windows::runtime::Result<SettingsCommand> {
921         Self::ISettingsCommandFactory(|this| unsafe {
922             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
923             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), settingscommandid.into_param().abi(), label.into_param().abi(), handler.into_param().abi(), &mut result__).from_abi::<SettingsCommand>(result__)
924         })
925     }
926     #[cfg(feature = "UI_Popups")]
AccountsCommand() -> ::windows::runtime::Result<SettingsCommand>927     pub fn AccountsCommand() -> ::windows::runtime::Result<SettingsCommand> {
928         Self::ISettingsCommandStatics(|this| unsafe {
929             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
930             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SettingsCommand>(result__)
931         })
932     }
ISettingsCommandFactory<R, F: FnOnce(&ISettingsCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>933     pub fn ISettingsCommandFactory<R, F: FnOnce(&ISettingsCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
934         static mut SHARED: ::windows::runtime::FactoryCache<SettingsCommand, ISettingsCommandFactory> = ::windows::runtime::FactoryCache::new();
935         unsafe { SHARED.call(callback) }
936     }
ISettingsCommandStatics<R, F: FnOnce(&ISettingsCommandStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>937     pub fn ISettingsCommandStatics<R, F: FnOnce(&ISettingsCommandStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
938         static mut SHARED: ::windows::runtime::FactoryCache<SettingsCommand, ISettingsCommandStatics> = ::windows::runtime::FactoryCache::new();
939         unsafe { SHARED.call(callback) }
940     }
941 }
942 #[cfg(feature = "UI_Popups")]
943 unsafe impl ::windows::runtime::RuntimeType for SettingsCommand {
944     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.SettingsCommand;{4ff93a75-4145-47ff-ac7f-dff1c1fa5b0f})");
945 }
946 #[cfg(feature = "UI_Popups")]
947 unsafe impl ::windows::runtime::Interface for SettingsCommand {
948     type Vtable = super::Popups::IUICommand_abi;
949     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1341733493, 16709, 18431, [172, 127, 223, 241, 193, 250, 91, 15]);
950 }
951 #[cfg(feature = "UI_Popups")]
952 impl ::windows::runtime::RuntimeName for SettingsCommand {
953     const NAME: &'static str = "Windows.UI.ApplicationSettings.SettingsCommand";
954 }
955 #[cfg(feature = "UI_Popups")]
956 impl ::std::convert::From<SettingsCommand> for ::windows::runtime::IUnknown {
from(value: SettingsCommand) -> Self957     fn from(value: SettingsCommand) -> Self {
958         unsafe { ::std::mem::transmute(value) }
959     }
960 }
961 #[cfg(feature = "UI_Popups")]
962 impl ::std::convert::From<&SettingsCommand> for ::windows::runtime::IUnknown {
from(value: &SettingsCommand) -> Self963     fn from(value: &SettingsCommand) -> Self {
964         ::std::convert::From::from(::std::clone::Clone::clone(value))
965     }
966 }
967 #[cfg(feature = "UI_Popups")]
968 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SettingsCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>969     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
970         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
971     }
972 }
973 #[cfg(feature = "UI_Popups")]
974 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SettingsCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>975     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
976         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
977     }
978 }
979 #[cfg(feature = "UI_Popups")]
980 impl ::std::convert::From<SettingsCommand> for ::windows::runtime::IInspectable {
from(value: SettingsCommand) -> Self981     fn from(value: SettingsCommand) -> Self {
982         value.0
983     }
984 }
985 #[cfg(feature = "UI_Popups")]
986 impl ::std::convert::From<&SettingsCommand> for ::windows::runtime::IInspectable {
from(value: &SettingsCommand) -> Self987     fn from(value: &SettingsCommand) -> Self {
988         value.0.clone()
989     }
990 }
991 #[cfg(feature = "UI_Popups")]
992 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SettingsCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>993     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
994         ::windows::runtime::Param::Owned(self.0)
995     }
996 }
997 #[cfg(feature = "UI_Popups")]
998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SettingsCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1000         ::windows::runtime::Param::Borrowed(&self.0)
1001     }
1002 }
1003 #[cfg(feature = "UI_Popups")]
1004 impl ::std::convert::From<SettingsCommand> for super::Popups::IUICommand {
from(value: SettingsCommand) -> Self1005     fn from(value: SettingsCommand) -> Self {
1006         unsafe { ::std::mem::transmute(value) }
1007     }
1008 }
1009 #[cfg(feature = "UI_Popups")]
1010 impl ::std::convert::From<&SettingsCommand> for super::Popups::IUICommand {
from(value: &SettingsCommand) -> Self1011     fn from(value: &SettingsCommand) -> Self {
1012         ::std::convert::From::from(::std::clone::Clone::clone(value))
1013     }
1014 }
1015 #[cfg(feature = "UI_Popups")]
1016 impl<'a> ::windows::runtime::IntoParam<'a, super::Popups::IUICommand> for SettingsCommand {
into_param(self) -> ::windows::runtime::Param<'a, super::Popups::IUICommand>1017     fn into_param(self) -> ::windows::runtime::Param<'a, super::Popups::IUICommand> {
1018         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Popups::IUICommand>::into(self))
1019     }
1020 }
1021 #[cfg(feature = "UI_Popups")]
1022 impl<'a> ::windows::runtime::IntoParam<'a, super::Popups::IUICommand> for &SettingsCommand {
into_param(self) -> ::windows::runtime::Param<'a, super::Popups::IUICommand>1023     fn into_param(self) -> ::windows::runtime::Param<'a, super::Popups::IUICommand> {
1024         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Popups::IUICommand>::into(::std::clone::Clone::clone(self)))
1025     }
1026 }
1027 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1028 #[repr(transparent)]
1029 pub struct SettingsEdgeLocation(pub i32);
1030 impl SettingsEdgeLocation {
1031     pub const Right: SettingsEdgeLocation = SettingsEdgeLocation(0i32);
1032     pub const Left: SettingsEdgeLocation = SettingsEdgeLocation(1i32);
1033 }
1034 impl ::std::convert::From<i32> for SettingsEdgeLocation {
from(value: i32) -> Self1035     fn from(value: i32) -> Self {
1036         Self(value)
1037     }
1038 }
1039 unsafe impl ::windows::runtime::Abi for SettingsEdgeLocation {
1040     type Abi = Self;
1041     type DefaultType = Self;
1042 }
1043 unsafe impl ::windows::runtime::RuntimeType for SettingsEdgeLocation {
1044     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.ApplicationSettings.SettingsEdgeLocation;i4)");
1045 }
1046 #[repr(transparent)]
1047 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1048 pub struct SettingsPane(::windows::runtime::IInspectable);
1049 impl SettingsPane {
1050     #[cfg(feature = "deprecated")]
1051     #[cfg(feature = "Foundation")]
CommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SettingsPane, SettingsPaneCommandsRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1052     pub fn CommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<SettingsPane, SettingsPaneCommandsRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1053         let this = self;
1054         unsafe {
1055             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1056             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1057         }
1058     }
1059     #[cfg(feature = "deprecated")]
1060     #[cfg(feature = "Foundation")]
RemoveCommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>1061     pub fn RemoveCommandsRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
1062         let this = self;
1063         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
1064     }
1065     #[cfg(feature = "deprecated")]
GetForCurrentView() -> ::windows::runtime::Result<SettingsPane>1066     pub fn GetForCurrentView() -> ::windows::runtime::Result<SettingsPane> {
1067         Self::ISettingsPaneStatics(|this| unsafe {
1068             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1069             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SettingsPane>(result__)
1070         })
1071     }
1072     #[cfg(feature = "deprecated")]
Show() -> ::windows::runtime::Result<()>1073     pub fn Show() -> ::windows::runtime::Result<()> {
1074         Self::ISettingsPaneStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() })
1075     }
1076     #[cfg(feature = "deprecated")]
Edge() -> ::windows::runtime::Result<SettingsEdgeLocation>1077     pub fn Edge() -> ::windows::runtime::Result<SettingsEdgeLocation> {
1078         Self::ISettingsPaneStatics(|this| unsafe {
1079             let mut result__: SettingsEdgeLocation = ::std::mem::zeroed();
1080             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SettingsEdgeLocation>(result__)
1081         })
1082     }
ISettingsPaneStatics<R, F: FnOnce(&ISettingsPaneStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1083     pub fn ISettingsPaneStatics<R, F: FnOnce(&ISettingsPaneStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1084         static mut SHARED: ::windows::runtime::FactoryCache<SettingsPane, ISettingsPaneStatics> = ::windows::runtime::FactoryCache::new();
1085         unsafe { SHARED.call(callback) }
1086     }
1087 }
1088 unsafe impl ::windows::runtime::RuntimeType for SettingsPane {
1089     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.SettingsPane;{b1cd0932-4570-4c69-8d38-89446561ace0})");
1090 }
1091 unsafe impl ::windows::runtime::Interface for SettingsPane {
1092     type Vtable = ISettingsPane_abi;
1093     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2983004466, 17776, 19561, [141, 56, 137, 68, 101, 97, 172, 224]);
1094 }
1095 impl ::windows::runtime::RuntimeName for SettingsPane {
1096     const NAME: &'static str = "Windows.UI.ApplicationSettings.SettingsPane";
1097 }
1098 impl ::std::convert::From<SettingsPane> for ::windows::runtime::IUnknown {
from(value: SettingsPane) -> Self1099     fn from(value: SettingsPane) -> Self {
1100         unsafe { ::std::mem::transmute(value) }
1101     }
1102 }
1103 impl ::std::convert::From<&SettingsPane> for ::windows::runtime::IUnknown {
from(value: &SettingsPane) -> Self1104     fn from(value: &SettingsPane) -> Self {
1105         ::std::convert::From::from(::std::clone::Clone::clone(value))
1106     }
1107 }
1108 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1109     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1110         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1111     }
1112 }
1113 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1114     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1115         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1116     }
1117 }
1118 impl ::std::convert::From<SettingsPane> for ::windows::runtime::IInspectable {
from(value: SettingsPane) -> Self1119     fn from(value: SettingsPane) -> Self {
1120         value.0
1121     }
1122 }
1123 impl ::std::convert::From<&SettingsPane> for ::windows::runtime::IInspectable {
from(value: &SettingsPane) -> Self1124     fn from(value: &SettingsPane) -> Self {
1125         value.0.clone()
1126     }
1127 }
1128 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1129     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1130         ::windows::runtime::Param::Owned(self.0)
1131     }
1132 }
1133 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SettingsPane {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1134     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1135         ::windows::runtime::Param::Borrowed(&self.0)
1136     }
1137 }
1138 #[repr(transparent)]
1139 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1140 pub struct SettingsPaneCommandsRequest(::windows::runtime::IInspectable);
1141 impl SettingsPaneCommandsRequest {
1142     #[cfg(feature = "deprecated")]
1143     #[cfg(all(feature = "Foundation_Collections", feature = "UI_Popups"))]
ApplicationCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<SettingsCommand>>1144     pub fn ApplicationCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVector<SettingsCommand>> {
1145         let this = self;
1146         unsafe {
1147             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1148             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVector<SettingsCommand>>(result__)
1149         }
1150     }
1151 }
1152 unsafe impl ::windows::runtime::RuntimeType for SettingsPaneCommandsRequest {
1153     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.SettingsPaneCommandsRequest;{44df23ae-5d6e-4068-a168-f47643182114})");
1154 }
1155 unsafe impl ::windows::runtime::Interface for SettingsPaneCommandsRequest {
1156     type Vtable = ISettingsPaneCommandsRequest_abi;
1157     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1155474350, 23918, 16488, [161, 104, 244, 118, 67, 24, 33, 20]);
1158 }
1159 impl ::windows::runtime::RuntimeName for SettingsPaneCommandsRequest {
1160     const NAME: &'static str = "Windows.UI.ApplicationSettings.SettingsPaneCommandsRequest";
1161 }
1162 impl ::std::convert::From<SettingsPaneCommandsRequest> for ::windows::runtime::IUnknown {
from(value: SettingsPaneCommandsRequest) -> Self1163     fn from(value: SettingsPaneCommandsRequest) -> Self {
1164         unsafe { ::std::mem::transmute(value) }
1165     }
1166 }
1167 impl ::std::convert::From<&SettingsPaneCommandsRequest> for ::windows::runtime::IUnknown {
from(value: &SettingsPaneCommandsRequest) -> Self1168     fn from(value: &SettingsPaneCommandsRequest) -> Self {
1169         ::std::convert::From::from(::std::clone::Clone::clone(value))
1170     }
1171 }
1172 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SettingsPaneCommandsRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1173     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1174         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1175     }
1176 }
1177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SettingsPaneCommandsRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1179         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1180     }
1181 }
1182 impl ::std::convert::From<SettingsPaneCommandsRequest> for ::windows::runtime::IInspectable {
from(value: SettingsPaneCommandsRequest) -> Self1183     fn from(value: SettingsPaneCommandsRequest) -> Self {
1184         value.0
1185     }
1186 }
1187 impl ::std::convert::From<&SettingsPaneCommandsRequest> for ::windows::runtime::IInspectable {
from(value: &SettingsPaneCommandsRequest) -> Self1188     fn from(value: &SettingsPaneCommandsRequest) -> Self {
1189         value.0.clone()
1190     }
1191 }
1192 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SettingsPaneCommandsRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1193     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1194         ::windows::runtime::Param::Owned(self.0)
1195     }
1196 }
1197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SettingsPaneCommandsRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1199         ::windows::runtime::Param::Borrowed(&self.0)
1200     }
1201 }
1202 #[repr(transparent)]
1203 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1204 pub struct SettingsPaneCommandsRequestedEventArgs(::windows::runtime::IInspectable);
1205 impl SettingsPaneCommandsRequestedEventArgs {
1206     #[cfg(feature = "deprecated")]
Request(&self) -> ::windows::runtime::Result<SettingsPaneCommandsRequest>1207     pub fn Request(&self) -> ::windows::runtime::Result<SettingsPaneCommandsRequest> {
1208         let this = self;
1209         unsafe {
1210             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1211             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SettingsPaneCommandsRequest>(result__)
1212         }
1213     }
1214 }
1215 unsafe impl ::windows::runtime::RuntimeType for SettingsPaneCommandsRequestedEventArgs {
1216     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.SettingsPaneCommandsRequestedEventArgs;{205f5d24-1b48-4629-a6ca-2fdfedafb75d})");
1217 }
1218 unsafe impl ::windows::runtime::Interface for SettingsPaneCommandsRequestedEventArgs {
1219     type Vtable = ISettingsPaneCommandsRequestedEventArgs_abi;
1220     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(543120676, 6984, 17961, [166, 202, 47, 223, 237, 175, 183, 93]);
1221 }
1222 impl ::windows::runtime::RuntimeName for SettingsPaneCommandsRequestedEventArgs {
1223     const NAME: &'static str = "Windows.UI.ApplicationSettings.SettingsPaneCommandsRequestedEventArgs";
1224 }
1225 impl ::std::convert::From<SettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: SettingsPaneCommandsRequestedEventArgs) -> Self1226     fn from(value: SettingsPaneCommandsRequestedEventArgs) -> Self {
1227         unsafe { ::std::mem::transmute(value) }
1228     }
1229 }
1230 impl ::std::convert::From<&SettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &SettingsPaneCommandsRequestedEventArgs) -> Self1231     fn from(value: &SettingsPaneCommandsRequestedEventArgs) -> Self {
1232         ::std::convert::From::from(::std::clone::Clone::clone(value))
1233     }
1234 }
1235 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1236     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1237         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1238     }
1239 }
1240 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1241     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1242         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1243     }
1244 }
1245 impl ::std::convert::From<SettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: SettingsPaneCommandsRequestedEventArgs) -> Self1246     fn from(value: SettingsPaneCommandsRequestedEventArgs) -> Self {
1247         value.0
1248     }
1249 }
1250 impl ::std::convert::From<&SettingsPaneCommandsRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &SettingsPaneCommandsRequestedEventArgs) -> Self1251     fn from(value: &SettingsPaneCommandsRequestedEventArgs) -> Self {
1252         value.0.clone()
1253     }
1254 }
1255 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1256     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1257         ::windows::runtime::Param::Owned(self.0)
1258     }
1259 }
1260 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SettingsPaneCommandsRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1261     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1262         ::windows::runtime::Param::Borrowed(&self.0)
1263     }
1264 }
1265 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1266 #[repr(transparent)]
1267 pub struct SupportedWebAccountActions(pub u32);
1268 impl SupportedWebAccountActions {
1269     pub const None: SupportedWebAccountActions = SupportedWebAccountActions(0u32);
1270     pub const Reconnect: SupportedWebAccountActions = SupportedWebAccountActions(1u32);
1271     pub const Remove: SupportedWebAccountActions = SupportedWebAccountActions(2u32);
1272     pub const ViewDetails: SupportedWebAccountActions = SupportedWebAccountActions(4u32);
1273     pub const Manage: SupportedWebAccountActions = SupportedWebAccountActions(8u32);
1274     pub const More: SupportedWebAccountActions = SupportedWebAccountActions(16u32);
1275 }
1276 impl ::std::convert::From<u32> for SupportedWebAccountActions {
from(value: u32) -> Self1277     fn from(value: u32) -> Self {
1278         Self(value)
1279     }
1280 }
1281 unsafe impl ::windows::runtime::Abi for SupportedWebAccountActions {
1282     type Abi = Self;
1283     type DefaultType = Self;
1284 }
1285 unsafe impl ::windows::runtime::RuntimeType for SupportedWebAccountActions {
1286     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.ApplicationSettings.SupportedWebAccountActions;u4)");
1287 }
1288 impl ::std::ops::BitOr for SupportedWebAccountActions {
1289     type Output = Self;
bitor(self, rhs: Self) -> Self1290     fn bitor(self, rhs: Self) -> Self {
1291         Self(self.0 | rhs.0)
1292     }
1293 }
1294 impl ::std::ops::BitAnd for SupportedWebAccountActions {
1295     type Output = Self;
bitand(self, rhs: Self) -> Self1296     fn bitand(self, rhs: Self) -> Self {
1297         Self(self.0 & rhs.0)
1298     }
1299 }
1300 impl ::std::ops::BitOrAssign for SupportedWebAccountActions {
bitor_assign(&mut self, rhs: Self)1301     fn bitor_assign(&mut self, rhs: Self) {
1302         self.0.bitor_assign(rhs.0)
1303     }
1304 }
1305 impl ::std::ops::BitAndAssign for SupportedWebAccountActions {
bitand_assign(&mut self, rhs: Self)1306     fn bitand_assign(&mut self, rhs: Self) {
1307         self.0.bitand_assign(rhs.0)
1308     }
1309 }
1310 impl ::std::ops::Not for SupportedWebAccountActions {
1311     type Output = Self;
not(self) -> Self1312     fn not(self) -> Self {
1313         Self(self.0.not())
1314     }
1315 }
1316 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1317 #[repr(transparent)]
1318 pub struct WebAccountAction(pub i32);
1319 impl WebAccountAction {
1320     pub const Reconnect: WebAccountAction = WebAccountAction(0i32);
1321     pub const Remove: WebAccountAction = WebAccountAction(1i32);
1322     pub const ViewDetails: WebAccountAction = WebAccountAction(2i32);
1323     pub const Manage: WebAccountAction = WebAccountAction(3i32);
1324     pub const More: WebAccountAction = WebAccountAction(4i32);
1325 }
1326 impl ::std::convert::From<i32> for WebAccountAction {
from(value: i32) -> Self1327     fn from(value: i32) -> Self {
1328         Self(value)
1329     }
1330 }
1331 unsafe impl ::windows::runtime::Abi for WebAccountAction {
1332     type Abi = Self;
1333     type DefaultType = Self;
1334 }
1335 unsafe impl ::windows::runtime::RuntimeType for WebAccountAction {
1336     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.ApplicationSettings.WebAccountAction;i4)");
1337 }
1338 #[repr(transparent)]
1339 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1340 pub struct WebAccountCommand(::windows::runtime::IInspectable);
1341 impl WebAccountCommand {
1342     #[cfg(feature = "Security_Credentials")]
WebAccount(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::WebAccount>1343     pub fn WebAccount(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::WebAccount> {
1344         let this = self;
1345         unsafe {
1346             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1347             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Security::Credentials::WebAccount>(result__)
1348         }
1349     }
Invoked(&self) -> ::windows::runtime::Result<WebAccountCommandInvokedHandler>1350     pub fn Invoked(&self) -> ::windows::runtime::Result<WebAccountCommandInvokedHandler> {
1351         let this = self;
1352         unsafe {
1353             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1354             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<WebAccountCommandInvokedHandler>(result__)
1355         }
1356     }
Actions(&self) -> ::windows::runtime::Result<SupportedWebAccountActions>1357     pub fn Actions(&self) -> ::windows::runtime::Result<SupportedWebAccountActions> {
1358         let this = self;
1359         unsafe {
1360             let mut result__: SupportedWebAccountActions = ::std::mem::zeroed();
1361             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SupportedWebAccountActions>(result__)
1362         }
1363     }
1364     #[cfg(feature = "Security_Credentials")]
CreateWebAccountCommand<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::WebAccount>, Param1: ::windows::runtime::IntoParam<'a, WebAccountCommandInvokedHandler>>(webaccount: Param0, invoked: Param1, actions: SupportedWebAccountActions) -> ::windows::runtime::Result<WebAccountCommand>1365     pub fn CreateWebAccountCommand<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::WebAccount>, Param1: ::windows::runtime::IntoParam<'a, WebAccountCommandInvokedHandler>>(webaccount: Param0, invoked: Param1, actions: SupportedWebAccountActions) -> ::windows::runtime::Result<WebAccountCommand> {
1366         Self::IWebAccountCommandFactory(|this| unsafe {
1367             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1368             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), webaccount.into_param().abi(), invoked.into_param().abi(), actions, &mut result__).from_abi::<WebAccountCommand>(result__)
1369         })
1370     }
IWebAccountCommandFactory<R, F: FnOnce(&IWebAccountCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1371     pub fn IWebAccountCommandFactory<R, F: FnOnce(&IWebAccountCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1372         static mut SHARED: ::windows::runtime::FactoryCache<WebAccountCommand, IWebAccountCommandFactory> = ::windows::runtime::FactoryCache::new();
1373         unsafe { SHARED.call(callback) }
1374     }
1375 }
1376 unsafe impl ::windows::runtime::RuntimeType for WebAccountCommand {
1377     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.WebAccountCommand;{caa39398-9cfa-4246-b0c4-a913a3896541})");
1378 }
1379 unsafe impl ::windows::runtime::Interface for WebAccountCommand {
1380     type Vtable = IWebAccountCommand_abi;
1381     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3399717784, 40186, 16966, [176, 196, 169, 19, 163, 137, 101, 65]);
1382 }
1383 impl ::windows::runtime::RuntimeName for WebAccountCommand {
1384     const NAME: &'static str = "Windows.UI.ApplicationSettings.WebAccountCommand";
1385 }
1386 impl ::std::convert::From<WebAccountCommand> for ::windows::runtime::IUnknown {
from(value: WebAccountCommand) -> Self1387     fn from(value: WebAccountCommand) -> Self {
1388         unsafe { ::std::mem::transmute(value) }
1389     }
1390 }
1391 impl ::std::convert::From<&WebAccountCommand> for ::windows::runtime::IUnknown {
from(value: &WebAccountCommand) -> Self1392     fn from(value: &WebAccountCommand) -> Self {
1393         ::std::convert::From::from(::std::clone::Clone::clone(value))
1394     }
1395 }
1396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for WebAccountCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1398         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1399     }
1400 }
1401 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &WebAccountCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1402     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1403         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1404     }
1405 }
1406 impl ::std::convert::From<WebAccountCommand> for ::windows::runtime::IInspectable {
from(value: WebAccountCommand) -> Self1407     fn from(value: WebAccountCommand) -> Self {
1408         value.0
1409     }
1410 }
1411 impl ::std::convert::From<&WebAccountCommand> for ::windows::runtime::IInspectable {
from(value: &WebAccountCommand) -> Self1412     fn from(value: &WebAccountCommand) -> Self {
1413         value.0.clone()
1414     }
1415 }
1416 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for WebAccountCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1417     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1418         ::windows::runtime::Param::Owned(self.0)
1419     }
1420 }
1421 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a WebAccountCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1422     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1423         ::windows::runtime::Param::Borrowed(&self.0)
1424     }
1425 }
1426 #[repr(transparent)]
1427 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1428 pub struct WebAccountCommandInvokedHandler(::windows::runtime::IUnknown);
1429 impl WebAccountCommandInvokedHandler {
new<F: FnMut(&::std::option::Option<WebAccountCommand>, &::std::option::Option<WebAccountInvokedArgs>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self1430     pub fn new<F: FnMut(&::std::option::Option<WebAccountCommand>, &::std::option::Option<WebAccountInvokedArgs>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self {
1431         let com = WebAccountCommandInvokedHandler_box::<F> {
1432             vtable: &WebAccountCommandInvokedHandler_box::<F>::VTABLE,
1433             count: ::windows::runtime::RefCount::new(1),
1434             invoke,
1435         };
1436         unsafe { std::mem::transmute(::std::boxed::Box::new(com)) }
1437     }
Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, WebAccountCommand>, Param1: ::windows::runtime::IntoParam<'a, WebAccountInvokedArgs>>(&self, command: Param0, args: Param1) -> ::windows::runtime::Result<()>1438     pub fn Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, WebAccountCommand>, Param1: ::windows::runtime::IntoParam<'a, WebAccountInvokedArgs>>(&self, command: Param0, args: Param1) -> ::windows::runtime::Result<()> {
1439         let this = self;
1440         unsafe { (::windows::runtime::Interface::vtable(this).3)(::std::mem::transmute_copy(this), command.into_param().abi(), args.into_param().abi()).ok() }
1441     }
1442 }
1443 unsafe impl ::windows::runtime::RuntimeType for WebAccountCommandInvokedHandler {
1444     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"delegate({1ee6e459-1705-4a9a-b599-a0c3d6921973})");
1445 }
1446 unsafe impl ::windows::runtime::Interface for WebAccountCommandInvokedHandler {
1447     type Vtable = WebAccountCommandInvokedHandler_abi;
1448     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(518448217, 5893, 19098, [181, 153, 160, 195, 214, 146, 25, 115]);
1449 }
1450 #[repr(C)]
1451 #[doc(hidden)]
1452 pub struct WebAccountCommandInvokedHandler_abi(
1453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1457 );
1458 #[repr(C)]
1459 struct WebAccountCommandInvokedHandler_box<F: FnMut(&::std::option::Option<WebAccountCommand>, &::std::option::Option<WebAccountInvokedArgs>) -> ::windows::runtime::Result<()> + 'static> {
1460     vtable: *const WebAccountCommandInvokedHandler_abi,
1461     invoke: F,
1462     count: ::windows::runtime::RefCount,
1463 }
1464 impl<F: FnMut(&::std::option::Option<WebAccountCommand>, &::std::option::Option<WebAccountInvokedArgs>) -> ::windows::runtime::Result<()> + 'static> WebAccountCommandInvokedHandler_box<F> {
1465     const VTABLE: WebAccountCommandInvokedHandler_abi = WebAccountCommandInvokedHandler_abi(Self::QueryInterface, Self::AddRef, Self::Release, Self::Invoke);
QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT1466     unsafe extern "system" fn QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
1467         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1468         *interface = if iid == &<WebAccountCommandInvokedHandler as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IUnknown as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IAgileObject as ::windows::runtime::Interface>::IID {
1469             &mut (*this).vtable as *mut _ as _
1470         } else {
1471             ::std::ptr::null_mut()
1472         };
1473         if (*interface).is_null() {
1474             ::windows::runtime::HRESULT(0x8000_4002)
1475         } else {
1476             (*this).count.add_ref();
1477             ::windows::runtime::HRESULT(0)
1478         }
1479     }
AddRef(this: ::windows::runtime::RawPtr) -> u321480     unsafe extern "system" fn AddRef(this: ::windows::runtime::RawPtr) -> u32 {
1481         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1482         (*this).count.add_ref()
1483     }
Release(this: ::windows::runtime::RawPtr) -> u321484     unsafe extern "system" fn Release(this: ::windows::runtime::RawPtr) -> u32 {
1485         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1486         let remaining = (*this).count.release();
1487         if remaining == 0 {
1488             Box::from_raw(this);
1489         }
1490         remaining
1491     }
Invoke(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT1492     unsafe extern "system" fn Invoke(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
1493         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1494         ((*this).invoke)(&*(&command as *const <WebAccountCommand as ::windows::runtime::Abi>::Abi as *const <WebAccountCommand as ::windows::runtime::Abi>::DefaultType), &*(&args as *const <WebAccountInvokedArgs as ::windows::runtime::Abi>::Abi as *const <WebAccountInvokedArgs as ::windows::runtime::Abi>::DefaultType)).into()
1495     }
1496 }
1497 #[repr(transparent)]
1498 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1499 pub struct WebAccountInvokedArgs(::windows::runtime::IInspectable);
1500 impl WebAccountInvokedArgs {
Action(&self) -> ::windows::runtime::Result<WebAccountAction>1501     pub fn Action(&self) -> ::windows::runtime::Result<WebAccountAction> {
1502         let this = self;
1503         unsafe {
1504             let mut result__: WebAccountAction = ::std::mem::zeroed();
1505             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<WebAccountAction>(result__)
1506         }
1507     }
1508 }
1509 unsafe impl ::windows::runtime::RuntimeType for WebAccountInvokedArgs {
1510     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.WebAccountInvokedArgs;{e7abcc40-a1d8-4c5d-9a7f-1d34b2f90ad2})");
1511 }
1512 unsafe impl ::windows::runtime::Interface for WebAccountInvokedArgs {
1513     type Vtable = IWebAccountInvokedArgs_abi;
1514     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3886795840, 41432, 19549, [154, 127, 29, 52, 178, 249, 10, 210]);
1515 }
1516 impl ::windows::runtime::RuntimeName for WebAccountInvokedArgs {
1517     const NAME: &'static str = "Windows.UI.ApplicationSettings.WebAccountInvokedArgs";
1518 }
1519 impl ::std::convert::From<WebAccountInvokedArgs> for ::windows::runtime::IUnknown {
from(value: WebAccountInvokedArgs) -> Self1520     fn from(value: WebAccountInvokedArgs) -> Self {
1521         unsafe { ::std::mem::transmute(value) }
1522     }
1523 }
1524 impl ::std::convert::From<&WebAccountInvokedArgs> for ::windows::runtime::IUnknown {
from(value: &WebAccountInvokedArgs) -> Self1525     fn from(value: &WebAccountInvokedArgs) -> Self {
1526         ::std::convert::From::from(::std::clone::Clone::clone(value))
1527     }
1528 }
1529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for WebAccountInvokedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1530     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1531         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1532     }
1533 }
1534 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &WebAccountInvokedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1535     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1536         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1537     }
1538 }
1539 impl ::std::convert::From<WebAccountInvokedArgs> for ::windows::runtime::IInspectable {
from(value: WebAccountInvokedArgs) -> Self1540     fn from(value: WebAccountInvokedArgs) -> Self {
1541         value.0
1542     }
1543 }
1544 impl ::std::convert::From<&WebAccountInvokedArgs> for ::windows::runtime::IInspectable {
from(value: &WebAccountInvokedArgs) -> Self1545     fn from(value: &WebAccountInvokedArgs) -> Self {
1546         value.0.clone()
1547     }
1548 }
1549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for WebAccountInvokedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1551         ::windows::runtime::Param::Owned(self.0)
1552     }
1553 }
1554 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a WebAccountInvokedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1555     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1556         ::windows::runtime::Param::Borrowed(&self.0)
1557     }
1558 }
1559 #[repr(transparent)]
1560 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1561 pub struct WebAccountProviderCommand(::windows::runtime::IInspectable);
1562 impl WebAccountProviderCommand {
1563     #[cfg(feature = "Security_Credentials")]
WebAccountProvider(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::WebAccountProvider>1564     pub fn WebAccountProvider(&self) -> ::windows::runtime::Result<super::super::Security::Credentials::WebAccountProvider> {
1565         let this = self;
1566         unsafe {
1567             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1568             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Security::Credentials::WebAccountProvider>(result__)
1569         }
1570     }
Invoked(&self) -> ::windows::runtime::Result<WebAccountProviderCommandInvokedHandler>1571     pub fn Invoked(&self) -> ::windows::runtime::Result<WebAccountProviderCommandInvokedHandler> {
1572         let this = self;
1573         unsafe {
1574             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1575             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<WebAccountProviderCommandInvokedHandler>(result__)
1576         }
1577     }
1578     #[cfg(feature = "Security_Credentials")]
CreateWebAccountProviderCommand<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::WebAccountProvider>, Param1: ::windows::runtime::IntoParam<'a, WebAccountProviderCommandInvokedHandler>>(webaccountprovider: Param0, invoked: Param1) -> ::windows::runtime::Result<WebAccountProviderCommand>1579     pub fn CreateWebAccountProviderCommand<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Security::Credentials::WebAccountProvider>, Param1: ::windows::runtime::IntoParam<'a, WebAccountProviderCommandInvokedHandler>>(webaccountprovider: Param0, invoked: Param1) -> ::windows::runtime::Result<WebAccountProviderCommand> {
1580         Self::IWebAccountProviderCommandFactory(|this| unsafe {
1581             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1582             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), webaccountprovider.into_param().abi(), invoked.into_param().abi(), &mut result__).from_abi::<WebAccountProviderCommand>(result__)
1583         })
1584     }
IWebAccountProviderCommandFactory<R, F: FnOnce(&IWebAccountProviderCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1585     pub fn IWebAccountProviderCommandFactory<R, F: FnOnce(&IWebAccountProviderCommandFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1586         static mut SHARED: ::windows::runtime::FactoryCache<WebAccountProviderCommand, IWebAccountProviderCommandFactory> = ::windows::runtime::FactoryCache::new();
1587         unsafe { SHARED.call(callback) }
1588     }
1589 }
1590 unsafe impl ::windows::runtime::RuntimeType for WebAccountProviderCommand {
1591     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.ApplicationSettings.WebAccountProviderCommand;{d69bdd9a-a0a6-4e9b-88dc-c71e757a3501})");
1592 }
1593 unsafe impl ::windows::runtime::Interface for WebAccountProviderCommand {
1594     type Vtable = IWebAccountProviderCommand_abi;
1595     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3600539034, 41126, 20123, [136, 220, 199, 30, 117, 122, 53, 1]);
1596 }
1597 impl ::windows::runtime::RuntimeName for WebAccountProviderCommand {
1598     const NAME: &'static str = "Windows.UI.ApplicationSettings.WebAccountProviderCommand";
1599 }
1600 impl ::std::convert::From<WebAccountProviderCommand> for ::windows::runtime::IUnknown {
from(value: WebAccountProviderCommand) -> Self1601     fn from(value: WebAccountProviderCommand) -> Self {
1602         unsafe { ::std::mem::transmute(value) }
1603     }
1604 }
1605 impl ::std::convert::From<&WebAccountProviderCommand> for ::windows::runtime::IUnknown {
from(value: &WebAccountProviderCommand) -> Self1606     fn from(value: &WebAccountProviderCommand) -> Self {
1607         ::std::convert::From::from(::std::clone::Clone::clone(value))
1608     }
1609 }
1610 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for WebAccountProviderCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1611     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1612         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1613     }
1614 }
1615 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &WebAccountProviderCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1616     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1617         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1618     }
1619 }
1620 impl ::std::convert::From<WebAccountProviderCommand> for ::windows::runtime::IInspectable {
from(value: WebAccountProviderCommand) -> Self1621     fn from(value: WebAccountProviderCommand) -> Self {
1622         value.0
1623     }
1624 }
1625 impl ::std::convert::From<&WebAccountProviderCommand> for ::windows::runtime::IInspectable {
from(value: &WebAccountProviderCommand) -> Self1626     fn from(value: &WebAccountProviderCommand) -> Self {
1627         value.0.clone()
1628     }
1629 }
1630 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for WebAccountProviderCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1631     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1632         ::windows::runtime::Param::Owned(self.0)
1633     }
1634 }
1635 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a WebAccountProviderCommand {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1636     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1637         ::windows::runtime::Param::Borrowed(&self.0)
1638     }
1639 }
1640 #[repr(transparent)]
1641 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1642 pub struct WebAccountProviderCommandInvokedHandler(::windows::runtime::IUnknown);
1643 impl WebAccountProviderCommandInvokedHandler {
new<F: FnMut(&::std::option::Option<WebAccountProviderCommand>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self1644     pub fn new<F: FnMut(&::std::option::Option<WebAccountProviderCommand>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self {
1645         let com = WebAccountProviderCommandInvokedHandler_box::<F> {
1646             vtable: &WebAccountProviderCommandInvokedHandler_box::<F>::VTABLE,
1647             count: ::windows::runtime::RefCount::new(1),
1648             invoke,
1649         };
1650         unsafe { std::mem::transmute(::std::boxed::Box::new(com)) }
1651     }
Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, WebAccountProviderCommand>>(&self, command: Param0) -> ::windows::runtime::Result<()>1652     pub fn Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, WebAccountProviderCommand>>(&self, command: Param0) -> ::windows::runtime::Result<()> {
1653         let this = self;
1654         unsafe { (::windows::runtime::Interface::vtable(this).3)(::std::mem::transmute_copy(this), command.into_param().abi()).ok() }
1655     }
1656 }
1657 unsafe impl ::windows::runtime::RuntimeType for WebAccountProviderCommandInvokedHandler {
1658     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"delegate({b7de5527-4c8f-42dd-84da-5ec493abdb9a})");
1659 }
1660 unsafe impl ::windows::runtime::Interface for WebAccountProviderCommandInvokedHandler {
1661     type Vtable = WebAccountProviderCommandInvokedHandler_abi;
1662     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3084801319, 19599, 17117, [132, 218, 94, 196, 147, 171, 219, 154]);
1663 }
1664 #[repr(C)]
1665 #[doc(hidden)]
1666 pub struct WebAccountProviderCommandInvokedHandler_abi(
1667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1671 );
1672 #[repr(C)]
1673 struct WebAccountProviderCommandInvokedHandler_box<F: FnMut(&::std::option::Option<WebAccountProviderCommand>) -> ::windows::runtime::Result<()> + 'static> {
1674     vtable: *const WebAccountProviderCommandInvokedHandler_abi,
1675     invoke: F,
1676     count: ::windows::runtime::RefCount,
1677 }
1678 impl<F: FnMut(&::std::option::Option<WebAccountProviderCommand>) -> ::windows::runtime::Result<()> + 'static> WebAccountProviderCommandInvokedHandler_box<F> {
1679     const VTABLE: WebAccountProviderCommandInvokedHandler_abi = WebAccountProviderCommandInvokedHandler_abi(Self::QueryInterface, Self::AddRef, Self::Release, Self::Invoke);
QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT1680     unsafe extern "system" fn QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
1681         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1682         *interface = if iid == &<WebAccountProviderCommandInvokedHandler as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IUnknown as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IAgileObject as ::windows::runtime::Interface>::IID {
1683             &mut (*this).vtable as *mut _ as _
1684         } else {
1685             ::std::ptr::null_mut()
1686         };
1687         if (*interface).is_null() {
1688             ::windows::runtime::HRESULT(0x8000_4002)
1689         } else {
1690             (*this).count.add_ref();
1691             ::windows::runtime::HRESULT(0)
1692         }
1693     }
AddRef(this: ::windows::runtime::RawPtr) -> u321694     unsafe extern "system" fn AddRef(this: ::windows::runtime::RawPtr) -> u32 {
1695         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1696         (*this).count.add_ref()
1697     }
Release(this: ::windows::runtime::RawPtr) -> u321698     unsafe extern "system" fn Release(this: ::windows::runtime::RawPtr) -> u32 {
1699         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1700         let remaining = (*this).count.release();
1701         if remaining == 0 {
1702             Box::from_raw(this);
1703         }
1704         remaining
1705     }
Invoke(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT1706     unsafe extern "system" fn Invoke(this: ::windows::runtime::RawPtr, command: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
1707         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1708         ((*this).invoke)(&*(&command as *const <WebAccountProviderCommand as ::windows::runtime::Abi>::Abi as *const <WebAccountProviderCommand as ::windows::runtime::Abi>::DefaultType)).into()
1709     }
1710 }
1711